nie działa break;

M6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 200
0

Witam,

mam taki program który wpisuje nazwę przedmiotu w pętli for 5 razy, ale chciałbym żeby wyskoczył z tej pętli gdy ktoś napisze "koniec", użyłem do tego break, ale coś mi nie działa.

poniżej mój kod, proszę o pomoc, jeżeli to jest źle to można jakoś inaczej to zrobić?

Kopiuj
int _tmain(int argc, _TCHAR* argv[])
{
	int nr_str=1;
	int n;
	dzienniczek *stronica=new dzienniczek[2];
	char przedmio[50];
	char *przed;
	while(true)
	{
		
		for(int i=0; i<5; i++)
		{
			
			cout<< "Podaj przedmiot" << endl;
			cin >> przedmio;

			przed= new char[strlen(przedmio)+1];
			cout << strlen(przedmio) << endl;
			strcpy(przed, przedmio);
			if(przed!="koniec")
			{
			cout << przed << endl;
			//stronica[1].dane(przed,i);
			}
			else break;
			
		}

		cout << " koniec 1 " << endl;

		if(przed="koniec") break;
		else nr_str++;

	}			
		cout << " koniec 2 " << endl;	

	system("pause");

	return 0;
} 
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 157
1

Robaczku, bo Ci warunek nie działa...

if(przed!="koniec") to sobie sprawdzasz, czy to leży w tym samym obszarze pamięci...

Musisz to zrobić tak: if (!strcmp (przed, "koniec"))


Opolski Portal Programistyczny
http://programowanie.opole.pl

M6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 200
0

dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.