Structury – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Structury – C / C++ – Fórum – Programujte.comStructury – C / C++ – Fórum – Programujte.com

 

Marek0660
Duch
20. 5. 2009   #1
-
0
-

Dobry den prosim vas o pomoc som zacitocnik a potreboval by som pomoct s tymto problemom ako zapisat structuru meno program sa spusti cely ale pri zadava mena zamestnanca sa program vypne ako mam program upravit aby k tomu nedochadzalo a spravil aj vypis zo vsetkym ?



#include <iostream>

using namespace std;

int main(){
cout<<"////////////////////////////////////////////////////////////////////////////////\n";
cout<<"////////////////////////////Editor Firmy////////////////////////////////////////\n";
cout<<"////////////////////////////////////////////////////////////////////////////////\n";
//Zaciatok vyrtvarania fiktivnej firmy
cout<<"Zadajte nazov ako sa ma volat vasa firma : \n";
char firma[100];
cin.get(firma,100);
cout<<"Vasa nova firma sa vola : \n"<<firma<<endl;
cout<<"\n Pokracujte dalej stalcenim etntera \n";
cin.get();
cin.get();
//ukoncenie hlavy firmy a pokracovanie na vypis zamestnancov

const int i=4500;

struct zamestnancy {
char meno[100];
int vek;
int IDF;
}osoba[i];

zamestnancy vek,IDF;

int a,j,x;
const int b=4000;
cout<<"Ak chcete zadat noveho zamestnanca stlacte 1 ak chcete pokracovat na vypis stlacte 2 ";
cin>>a;
switch (a) {
case 1:cout<<"Zadajte kolko zamstnancou chcete vlozit do programu : "; //vkladanie udajou o zamestnancov
cin>>x;
for (j=0; j<=x; j++){
cin.get();
cout<<"Zadajte meno noveho zamestnanca : ";
cin.get(osoba[i].meno,x);
cin.get();
cout<<"Zadajte vek zamestnanca : ";
cin>>vek.vek;
cin.get();
cout<<"Zadajte IDF zamestnanca : ";
cin>>IDF.IDF;
}
break;
default : cout<<"Stlacte enter a pokracujte dalej\n ";
cin.get();
}

//vypis zamestnancou
cout<<"Kolko zaestnancov si prajete vypisat : ";
cin>>x;
for (j=0; j<=x; j++){
cout<<"Meno : "<<osoba[i].meno<<endl;
cout<<"Vek : "<<vek.vek<<endl;
cout<<"IDF zamestnanca : "<<IDF.IDF<<endl;
}
cout<<"\n Program ukoncite stlacenim tlacidla enter 1x \n";
cin.get();
cin.get();
return 0;
}


Nahlásit jako SPAM
IP: 85.135.194.–
m->29+6
Super člen
20. 5. 2009   #2
-
0
-

No takže toto mi nedá aj keď sa do C++ moc nerozumiem: zamestnancy??? :-o WTF? Nie je tam náhodou mäkké y? To úplne kole oči aj takému pravopisnému netvorovi ako som ja :-D
No a aby som len nekecal. Som si aj hľadal čo robí cin.get() ale študovať to nemám čas, ale prečo to načítaš tým spôsobom? Prečo nie takto?

cin >> osoba[i].meno;	// osoba[i].meno by malo byť string 

EDIT: Tak som sa na to trošku pozrel a myslím, že by si to mohol zmeniť takto:
cin.get(osoba[i].meno,100); 

Potom som ešte pozeral, že tie for-i
for (j=0; j<=x; j++)
by som upravil na
for (j=0; j<x; j++)

Nahlásit jako SPAM
IP: 147.229.208.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2009   #3
-
0
-

co presne ma znamenat toto: cin>>vek.vek; a to same s IDF.IDF?

mimochodem neuskodilo by trochu hlidat hrubky..


Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Datlik0
Návštěvník
20. 5. 2009   #4
-
0
-



#include <iostream>

using namespace std;
int a,x,j,i;
char firma[100];
int main(){
cout<<"////////////////////////////////////////////////////////////////////////////////\n";
cout<<"////////////////////////////Editor Firmy////////////////////////////////////////\n";
cout<<"////////////////////////////////////////////////////////////////////////////////\n";
//Zaciatok vyrtvarania fiktivnej firmy
cout<<"Zadajte nazov ako sa ma volat vasa firma : \n";

cin >> firma;
cin.clear();
cout<<"Vasa nova firma sa vola : \n"<<firma<<endl;
cout<<"\n Pokracujte dalej stalcenim etntera \n";
cin.get();
cin.get();
//ukoncenie hlavy firmy a pokracovanie na vypis zamestnancov


struct zamestnancy
{
char meno[100];
int vek;
int IDF;
}osoba[i];
cout<<"Ak chcete zadat noveho zamestnanca stlacte 1 ak chcete pokracovat na vypis stlacte 2 ";
cin>>a;
switch (a) {
case 1:cout<<"Zadajte kolko zamstnancou chcete vlozit do programu : "; //vkladanie udajou o zamestnancov
cin>>x;
for (j=1; j<=x; j++){
cout<<"Zadajte meno noveho zamestnanca : ";
cin>>osoba[j].meno;
cin.clear();
cout<<"Zadajte vek zamestnanca : ";
cin>>osoba[j].vek;
cin.get();
cout<<"Zadajte IDF zamestnanca : ";
cin>>osoba[j].IDF;
cin.clear();
}
break;
default : cout<<"Stlacte enter a pokracujte dalej\n ";
cin.get();
}

//vypis zamestnancou
cout<<"Kolko zaestnancov si prajete vypisat : ";
cin>>x;

for (j=1; j<=x; j++){
cout<<"Meno : "<<osoba[j].meno<<endl;
cout<<"Vek : "<<osoba[j].vek<<endl;
cout<<"IDF zamestnanca : "<<osoba[j].IDF<<endl;
}
cout<<"\n Program ukoncite stlacenim tlacidla enter 1x \n";
cin.get();
cin.get();
return 0;
}

neco jsem tam dal neco opravil ale este je potreba to dodelat mi to haze error :(

Nahlásit jako SPAM
IP: 85.13.98.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2009   #5
-
0
-

kdyz nereknes jakej a kde tak se tim nikdo zabyvat nebude

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sputnikone+1
Věrný člen
20. 5. 2009   #6
-
0
-

Asi takto:

cin >> osoba[j].meno; 

Struktura by se měla jmenovat osoba, a až pak bys měl vytvořit pole osob,
cin>>osoba[j].vek; 

cin>>osoba[j].IDF;

Zkus se na struktury podívat ještě jednou, je to základ... ne nadarmo se to jměnuje "strukturované programování"

Nahlásit jako SPAM
IP: 195.47.9.–
Bald3rr0
Super člen
20. 5. 2009   #7
-
0
-

Datlik napsal:

int a,x,j,i;

}osoba[i];



Tyhle dva řádky se mi nelíbí.
1) Pokud chceš alokovat pole takovýmto způsobem, musí být i konstantní
2) Pokud chceš alokovat pole dynamicky, dělá se to pomocí operátoru
3) Proměnná i není vůbec inicializovaná (To platí pro oba případy)

Jinak, jak řikal KIIV, bylo by dobré, kdyby jsi popsal, jakou chybu a kde ti to hlásí

Nahlásit jako SPAM
IP: 82.100.0.–
Datlik0
Návštěvník
21. 5. 2009   #8
-
0
-

tady de o to ze jsem to jen prepsal ale to neva odpovedet muzu ted uz se mi ty radky taky nelibi nak jsem si nevsiml a chybu nwm zadam jmeno zamestnance a chci zadat vek dam enter a napise omlouvame se alke v aplikai doslo k problemu a je nutno ji zavrit

Nahlásit jako SPAM
IP: 85.13.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, 46 hostů

Podobná vlákna

Structury — založil Marek066

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ý