nie działa break;

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ć?

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;
} 
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

0

dzięki

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