C++ jaki błąd w programie

0

Witam,
chcę napisać prosty program który prosi o wpisanie liczby 10, jednak kiedy go kompiluję nie działa on poprawnie. Oto kod:

 #include <iostream>
#include <conio.h>
#include <ctime>

void main()
{ 
	float fLiczba1;
	std::cout << "Witaj. Wpisz liczbę 10: " << std::endl;
	std::cin >> fLiczba1;

	while (fLiczba1 != 10);
	{
		std::cout << "To nie ta liczba. Próbuj ponownie." << std::endl;
		std::cin >> fLiczba1;
	}

	std::cout << "Brawo! Wygrałeś" << std::endl;
	getch();
}
0

Masz niepotrzebny średnik za while.

I zrezygnuj z getch, programy konsolowe nie powinny zatrzymywać się na końcu. Jeżeli potrzebne ci to do testowania to w Visual Studio albo postaw breakpoint albo wciśnij CTRL-F5.

1
  1. #include <ctime> to jest niepotrzebne
  2. funkcja main nie może być void, musi zwracać wartość typu int. Popraw nagłówek.
0

Main powinno (chyba nawet musi) zwracać jaką wartość. powinno być int main() {... return 0;}

0

@kaboom tak funkcja main w C++ musi zwracać wartość typu int i to musi być określone w jej nagłówku. Ale czy "jawnie" musi być określona wartość zwracana w przypadku prawidłowego wykonania programu (wartość zero) ? Jeśli nie napiszesz return 0, to kompilator powinien sam to dodać.

Bez return 0: http://ideone.com/9jrC1
Z return 0: http://ideone.com/2eyrN

Nie wiem jak jest z poprawnością takiego czegoś: http://ideone.com/Ri9DV

0

Nie stosujemy już void main() tylko int main().
A do tego, co ty chcesz osiągnąć zdecydowanie bardziej nada się pętla do...while. Można to sobie przetłumaczyć: rób...dopóki.

Tak więc przykład:

#include <iostream>
using namespace std;

int main() //tak jak powiedziałem - nie void
{

char znak;

  do  {
cin >> znak;
cout << "Wpisales " << znak << endl; }
 while(znak!='k');

cout << "Wpisales k? No to konczymy!" << endl;

   }

 

Przeanalizuj przykład i przerób na taki jak potrzebujesz Ty :)
Co do zatrzymania okna to myślę, iż tak powinno być ok (nie wiem co powiedzą na to wyjadacze jak np. @kopernik)

 
cin.ignore();
cin.get();
0

Ja zawsze stosuję:

int main(int argc, char **argv){
return 0;
}

taki dobry nawyk na przyszłość ;)

2

user image

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