Potrebujem trochu pomci s dvoma príkladmi. Keby sa našiel niekto ochotný a pomohol mi. V prvom programe som si neni istý touto časťou zadania:
V záhlaví tohoto výpisu by mělo být poznamenáno, že se jedná o Velké patrony. Potom by měl program vypsat zbývající dárce se záhlavím Patroni.
Lebo napr. keď nezadám ani jedného prispievatela, ktorý daroval viac ako 10 000 výstup je takýto:
Velky patrony:
Patroni:
meno
suma
Ja by som chcel to, že keď nezadám ani jedného prispievatela, ktorý daroval viac ako 10 000, aby výstup bol
Patroni:
meno
suma
bez toho aby tam bolo aj to Velky patrony (alebo opačne).
PS: Neviem či som zadanie dobre pochopil a možno je kód dobre (aj keď pochybujem).
Zadanie je:
Vašim úkolem je vytvořit program, který bude udržovat přehled o peněžních příspěvcich Společnosti pro zachování správneho vlivu. Tento program by měl požádat uživatele o zadání počtu přispěvatelu a potom o jméno a částku příspevku každého dárce. Tyto informace by měly být uloženy v dynamicky alokovaném poli struktur. Každá struktura by měla mít dva členy : ynakové pole pro uložení jména a člen typu double pro uložení částky příspěvku. Po načtení všech dat by měl program zobrazit jména a častky příspěvku všech přispěvatelu, kteří darovali 10 000 a více. V záhlaví tohoto výpisu by mělo být poznamenáno, že se jedná o Velké patrony. Potom by měl program vypsat zbývající dárce se záhlavím Patroni. Pokud nejsou v žádné z těchto kategorií přispěvatelé, program by měl vypsat poznámku "bez příspěvku". Kromě zobrazovaní dvou kategorií nemusí program provádět žádné třídení.
#include <iostream>
struct prispievatelia
{
char meno[20];
double prispevok;
};
int main()
{
using namespace std;
cout << "Zadajte pocet prispievatelov: ";
int pocet, i;
cin >> pocet;
cin.get();
prispievatelia * pt = new prispievatelia[pocet];
for (i = 0; i < pocet; i++)
{
cout << "Zadajte meno " << i+1 << " prispievatela: ";
cin.getline(pt[i].meno, 20);
cout << "Zadajte ciastku: ";
cin >> pt[i].prispevok;
cin.get();
}
cout << "Velky patrony:\n";
for (int j = 0; j < i; j++)
{
if (pt[j].prispevok >= 10000)
cout << pt[j].meno << "\n" << pt[j].prispevok << endl;
}
cout << "Patrony:\n";
for (int k = 0; k < i; k++)
{
if (pt[k].prispevok > 0 && pt[k].prispevok < 10000)
cout << pt[k].meno << "\n" << pt[k].prispevok << endl;
}
if (pocet == 0)
cout << "Bez prispevku";
delete [] pt;
return 0;
}
Druhý príklad je úpravou prvého.
Změnte je tak, že budete číst data ze souboru. První položkou v souboru by měl být počet dárcu a zbytek souboru by měl obsahovat dvojice řádku, kde na prvním řádku v každé dvojici je jméno dárce a na druhém řádku je příspěvek. Soubor by měl vypadat nějak takto:
4
Sam Stone
2000
Freida Flass
100500
Tammy Tubbs
5000
Rich Raptor
55000