Podmínka "if" ověřování hodnoty – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Podmínka "if" ověřování hodnoty – C / C++ – Fórum – Programujte.comPodmínka "if" ověřování hodnoty – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
ProXicT0
Návštěvník
9. 6. 2013   #1
-
0
-

Zdravím,
ani ne před týdnem jsem se začal učit c++ na této stránce, jsem v 5. lekci, kde je úkolem vytvořit pomocí struktur fiktivní podnik. Úkol jsem bez problémů splnil, ale fukcionalita mi nestačila, tak jsem se rozhodl program trochu upravit. Vytvořil jsem si podmínku, že když zadám do proměné "vek" = 999, tak se zavolá fuknce výpis, která vypíše zadané informace. Chci napsat další funkci, která mi "ošetří" problém, že když do věku napíšu písmeno, aby program nespadl, ale požádal o zadání číselné hodnoty. Poradíte mi prosím? :)

#include <iostream>
#include <Czech.h>
using namespace std;
void vypis();
struct podnik
{
int vek;
char jmeno[30];
char prace[30];
}zamestnanec[32000];
int i=0;
int main()
{
char test[30];
cout<<"Datab"<<aa<<"ze zam"<<eee<<"stnanc"<<uuu<<endl;
cout<<"Zadejte po"<<ccc<<"et zam"<<eee<<"stnanc"<<uuu<<": ";
int pocet;
cin>>pocet;
for(i=0;i<pocet;i++)
{
  start:
  cout<<endl<<"Zadejte v"<<eee<<"k "<<i+1<<". zam"<<eee<<"stnance: ";
   cin>>zamestnanec[i].vek;

    if(zamestnanec[i].vek==999)
    {vypis();break;}

    if(zamestnanec[i].vek=) //ZDE JE TEN PROBLÉM
    {goto start;}

  cout<<"Jm"<<ee<<"no: ";
   cin.get();
   cin.getline(zamestnanec[i].jmeno,30);
  cout<<"Povol"<<aa<<"n"<<ii<<": ";
   cin.getline(zamestnanec[i].prace,30);
}
i-=1;
vypis();
}
void vypis()
{
  system("cls");
for(int a=0;a<=i;a++)
  {
  cout<<"V"<<eee<<"k "<<a+1<<". zam"<<eee<<"stnance: "<<zamestnanec[a].vek<<endl;
  cout<<"Jm"<<ee<<"no: "<<zamestnanec[a].jmeno<<endl;
  cout<<"Povol"<<aa<<"n"<<ii<<": "<<zamestnanec[a].prace;
  cout<<endl<<endl;
  }
  cin.get();
}
Nahlásit jako SPAM
IP: 77.240.98.–
Řešení
vitamin+8
Grafoman
9. 6. 2013   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 ProXicT
Musis testovat chyby vo vstupom prude:


int main(){
	int i;
	
	while(!(std::cin >> i)){	
		std::cin.clear();		//vynuluje chyby vo vstupnom prude
		std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');	//odstrani zo vstupneho prudu vsetky znaky
		std::cout << "zadaj cislo: ";
	}
	
	std::cout 
		<< "\n------------------- "
		<< "\nzadane cislo: " 
		<< i; 
	
}
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
ProXicT0
Návštěvník
9. 6. 2013   #3
-
0
-

#2 vitamin
Díky moc :) Na to bych asi nepřišel...

Nahlásit jako SPAM
IP: 77.240.98.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 142 hostů

Podobná vlákna

Podmínka pro stejné hodnoty — založil Forest

Ověřování domén — založil Marek Štafl

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý