Pomoc s úkolem podruhé – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc s úkolem podruhé – C / C++ – Fórum – Programujte.comPomoc s úkolem podruhé – C / C++ – Fórum – Programujte.com

 

Midnight
~ Anonymní uživatel
78 příspěvků
25. 8. 2009   #1
-
0
-

Zdravím!

Učím se C++ podle učebnice Mistrovství v C++ a narazil jsem na drobný zádrhel v jednom úkolu. Dostal jsem kostru programu a mám dodělat tři funkce, které zobrazí obsahy několika struktur. To se mi povedlo celkem úspěšně, ale program mi vyhodí pár dalších blábolů, se kterýmy jsem moc nepočítal :-) Můžete prosím někdo zkouknout, v čem je chyba?

Děkuji.

#include <iostream>

using namespace std;

const int SLEN = 30;
struct student {
char fullname[SLEN];
char hobby[SLEN];
int ooplevel;
};

int getinfo(student pa[], int n);
void display1(student st);
void display2(const student *ps);
void display3(const student pa[], int n);

int main()
{
cout << "Zadejte velikost tridy: ";
int class_size;
cin >> class_size;
while (cin.get() != '\n')
continue;

student *ptr_stu = new student[class_size];
int entered = getinfo(ptr_stu, class_size);
for (int i=0; i<entered; i++)
{
display1(ptr_stu[i]);
display2(&ptr_stu[i]);
}
display3(ptr_stu, entered);
delete [] ptr_stu;
cout << "Hotovo\n";
cin.get();
cin.get();
return 0;
}

int getinfo(student pa[], int n)
{
int i;
for (i=0; i<n; i++)
{
cout << "Zadejte jmeno studenta: ";
cin.getline(pa[i].fullname, SLEN);
cout << "Zadejte hobby studenta: ";
cin.getline(pa[i].hobby, SLEN);
cout << "Zadejte uroven programovani: ";
cin >> pa[i].ooplevel;
cin.get();
i++;
}
return i;
}

void display1(student st)
{
cout << endl << st.fullname << endl << st.hobby << endl << st.ooplevel;
}

void display2(const student *ps)
{
cout << endl << ps->fullname << endl << ps->hobby << endl << ps->ooplevel;
}

void display3(const student pa[], int n)
{
for (int i=0; i<n; i++)
{
cout << endl << pa[i].fullname << endl << pa[i].hobby << endl << pa[i].ooplevel;
}
}

Nahlásit jako SPAM
IP: 92.62.224.–
KIIV
~ Moderátor
+43
God of flame
25. 8. 2009   #2
-
0
-

jakejch blabolu.. nejak mi nefunguje kristalova koule

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
t0m450
Newbie
25. 8. 2009   #3
-
0
-

To Midnight : Prečo dvakrát inkrementuješ premennú i v cykle for vo funkcii int getinfo(student pa[], int n)



int getinfo(student pa[], int n)
{
int i;
for (i=0; i<n; i++) // 1x
{
cout << "Zadejte jmeno studenta: ";
cin.getline(pa[i].fullname, SLEN);
cout << "Zadejte hobby studenta: ";
cin.getline(pa[i].hobby, SLEN);
cout << "Zadejte uroven programovani: ";
cin >> pa[i].ooplevel;
cin.get();
i++; // 2x
}
return i;
}

Nahlásit jako SPAM
IP: 85.237.233.–
gatuso0
Stálý člen
25. 8. 2009   #4
-
0
-

muzu se jen zeptat v jaky si lekci v te knize ?? predem dik za odpoved

Nahlásit jako SPAM
IP: 85.160.5.–
HTML & CSS3 kodér na volné noze.
www.vlastimilfiser.cz
t0m450
Newbie
25. 8. 2009   #5
-
0
-

To gatuso : podľa úlohy končí 7. kapitolu (zo 16)

Nahlásit jako SPAM
IP: 85.237.233.–
gatuso0
Stálý člen
25. 8. 2009   #6
-
0
-

aha díky ;)

Nahlásit jako SPAM
IP: 85.160.5.–
HTML & CSS3 kodér na volné noze.
www.vlastimilfiser.cz
Midnight
~ Anonymní uživatel
78 příspěvků
25. 8. 2009   #7
-
0
-

Aha, už dobrý, děkuji, moje nepozornost, ani nevím, proč jsem to dvakrát inkrementoval, vše teď je tak, jak má být.
Tak děkuji za pomoc.

Nahlásit jako SPAM
IP: 92.62.224.–
Lordest0
Super člen
26. 8. 2009   #8
-
0
-

sorry ale niesu nahodou struktury vyvodene z C? V C++ su triedy...

Nahlásit jako SPAM
IP: 85.216.242.–
DooFy930
Stálý člen
26. 8. 2009   #9
-
0
-

To Lordest : V C++ jsou taky struktury. Jediný rozdíl mezi nima a třídama je v implicitním zabezpečení. U třídy je každý člen mezi { a prvním bezpečnostním navěstím private. U struktury je to naopak.

Nahlásit jako SPAM
IP: 212.80.64.–
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, 144 hostů

Podobná vlákna

Pomoc s úkolem — založil Honza

Pomoc s ukolem — založil Janickaaa1919

Pomoc s úkolem — založil Markéta

Pomoc s úkolem v C++ — založil zaltex

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ý