C++ while

Programovacie jazyky, rady, poradňa...
hwip
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 306
Registrovaný: 20 mar 2011, 12:03

C++ while

Príspevok od používateľa hwip »

cawte všetci mám jeden menší problém. Začínam to učenie C++ brať vážnejšie a tak som skúsil urobiť jeden projekt. Tento kód má po vypísaní druhej hlášky (Pre pocitanie : hustoty zadajte 1, objemu zadajte 2 alebo hmotnosti zadajte 3\n) zobrať iba 1,2 alebo 3. V prípade neúspechu má vypísať opäť tú druhú hlášku a čakať, kedy uživateľ zadá premennú type, ktorá má byť 1,2 alebo 3. V prípade neúspechu sa má opäť celý proces opakovať skúšal som to cez while ale stale mi to vypise iba tu druhu hlasku a uz necaka na moju odpoved proste ... nejde to prikladam kod

Kód: Vybrať všetko

#include <iostream>
using namespace std;

int main()
{
	//Here goes some variables
	int volume;
	int density;
	int weight;
	int type;
	int zadane = 3;
	//End of variables list


	//Kernel of program
	cout <<"Vitajte v programe FSE\n";
	cin.ignore();
	while (zadane==3) {
	cout <<"Pre pocitanie : hustoty zadajte 1, objemu zadajte 2 alebo hmotnosti zadajte 3\n";
	cin >> type;
		if(type==1) 
	{
		cout <<"Vybrali ste si pocitanie hustoty";
		zadane = 1;
	}
	else if(type==2) 
	{
		cout <<"Vybrali ste si pocitanie objemu";
		zadane = 1;
	}

	else if(type==3) 
	{
		cout <<"Vybrali ste si pocitanie hmotnosti";
		zadane = 1;
	}
	else if(zadane!=1 || zadane!=2 || zadane!=3) {
		cout <<"Musite zadat 1,2 alebo 3";
		zadane = 3;
	}
	}
	 
	//End of kernel

	//Default commands
	cout << "\n\n";
	system("PAUSE");
	return 0;
	//End of default commands
}
//autoeditácia príspevku (29 Okt 2011, 14:26)
to nikto nevie? Audio, aspoň ty ma nesklam :cry:

//autoeditácia príspevku (29 Okt 2011, 14:41)
ludia fakt to potrebujem :cry:
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ while

Príspevok od používateľa BX »

Dobre by to mohlo byť, keď

Kód: Vybrať všetko

cout <<"Pre pocitanie : hustoty zadajte 1, objemu zadajte 2 alebo hmotnosti zadajte 3\n";
cin >> type;
dáš pred while a do podmienky jednoducho hodíš

Kód: Vybrať všetko

while(type < 1 || type > 3)
{
 cout << "Musis zadat ine!";
 cin >> type;
}
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: C++ while

Príspevok od používateľa paralen »

A este to cin >> type zmenit na

Kód: Vybrať všetko

 string type_s = "";
while (type < 1 || type > 3)
{
    cout <<"Pre pocitanie : hustoty zadajte 1, objemu zadajte 2 alebo hmotnosti zadajte 3\n";

    //nacitas riadok
    getline(cin, type_s);

    stringstream myStream(type_s);
    //zmenis nacitany string na int
    //ak nebolo zadane cislo, ale napr. nejaky znak, tak pokracuj v cykle
    if (!(myStream >> type))
        continue;

    //tu si vypises dalsie hlasky...
    //a este pridat #include <sstream> 
}
aby si to mal typovo osetrene
hwip
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 306
Registrovaný: 20 mar 2011, 12:03

Re: C++ while

Príspevok od používateľa hwip »

diky vsem, obidvaja K :plus: :D
Napísať odpoveď