Problem poczatkujacego

0

Witam wszystkich forumowiczów.
Mam mały problem ze swoim programem.

#include <stdio.h>
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{   start:
float kmh, mph;
int wybor;
int powtorka;
cout <<"Program zamieniajacy km/h na mph oraz mph na km/h\n";
cout <<"Autorstwa Piotra Szczyglewskiego\n\n";
sleep(1000);
cout <<"Co chcesz zrobic ?\n\n";
cout <<"1.Zamienic km/h na mph\n";
cout <<"2.Zamienic mph na km/h\n";
cout <<"3.Wyjsc z programu\n";
cin >> wybor;
system("cls");
switch(wybor)
{
case 1:
 {
      cout <<"Wpisz km/h\n";
      cin >> kmh;
      cout <<"\nPo przeliczeniu na mph: ";
      cout <<kmh/1.609344;
      cout <<"\n\nChcesz policzyc jeszcze raz ?\n1-tak 2-nie\n";
        cin >>powtorka;
        system("cls");
        if (powtorka==1) {; goto start;}
    
      else
      cout << "\n\n\n\nDziekuje za skorzystanie z programu :)\n\n\n\n";
      system("pause");
       return 0;
 
 break;
 }
case 2:
 {
     cout <<"Wpisz mph\n";
     cin >> mph;
     cout <<"\nPo przeliczeniu na km/h: ";
     cout <<mph*1.609344;
     cout <<"\n\nChcesz policzyc jeszcze raz ?\n1-tak 2-nie\n";
      cin >>powtorka;
      system("cls");
      if (powtorka==1) {; goto start;}
    
      else 
      cout << "\n\n\n\nDziekuje za skorzystanie z programu :)\n\n\n\n";
      system("pause");
      return 0;
  break;
 }
 case 3:
 {
      cout << "\n\n\n\nDziekuje za skorzystanie z programu :)\n\n\n\n";
      system("pause");
            return 0;
      
 break;
}
default: 
if (wybor>3);
main();
 break;
}

getchar();
getchar();
return 0;
}
 

Otoz nie dziala mi sleep(1000);
Wywala jakiś błąd, ktoś wie jak temu zaradzic ?

0

doraźnie: Sleep z duże literki + windows.h
ogólnie: Masakra. goto? pętlenie przez wywołanie main()? a średniki to stawiasz calkiem w losowych miejscach

{; goto start;}

:D
Nie prościej NAJPIERW nauczyć się podstaw a POTEM coś pisać?

0

Dziekuje, zadzialalo.

ogólnie: Masakra. goto? pętlenie przez wywołanie main()? a średniki to stawiasz calkiem w losowych miejscach

{; goto start;} 

Mozesz rozwinąc?
Ucze sie wlasnie piszac programy i powoli je dopracowujac...

0

goto używa się bardzo rzadko, w ściśle określonych sytuacjach. main() rekurencyjnie raczej się nie woła. Normalne pętlenie robi się za pomocą while(), do while() i for(). Zapewniam cię że jak troszkę pomyślisz to też będziesz umiał ich używać.
A średniki stawia się tam gdzie trzeba, a nie losowo. Średnik na kończyć instrukcję. Coś takiego:

{;

Jest bez sensu, bo stawiasz średnik którego nie poprzedza wcale żadna instrukcja.
Jedyna taka "nietypowa" sytuacja (przynajmniej dla początkujących) to średnik za definicją klasy

class A 
{
 //
}; //o tu

1 użytkowników online, w tym zalogowanych: 0, gości: 1