Zdravím,
Ve škole jsme dostali úkol.
1. Vytvořte složený datový typ s názvem klient, který bude obsahovat: číslo ID, řetězec s názvem jméno, řetezec s názvem požadavek a přepínač TRUE/FALSE s názvem vyřízeno.
2. Vytvořte DT pole klientů s názvem čekárna (velikost 10), vytvořte proměnnou tohoto DT s názvem hala.
3. Vytvořte funkci init, která bude mít vstupní parametr pole klientů, tento parametr bude zapisovatelný. Funkce naplní všechny položky v poli výchozími hodnotami (id bude druhá mocnina indexu pole), jméno bude: Franta, požadavek bude NIC, přepínač bude na false.
4. Vytvořte funkci vypiš pole, která bude mít vstupní parametr pole klientů a vypíše celé pole. 5. na 5 pozici v čekárně zapište: Aneta, kafe a true. Zavolejte v main: funkci init, zápis Anety a vypište pomocí funkce celé pole.
Jen podotýkám, že jsme se ještě vůbec neučili pointery ani reference. Bylo nám pouze řečeno, že pokud chceme zapisovat ve funkci musíme použít &. Mohl by mi to někdo lépe objasnit ? Jaká část programování se tímto zabývá ? Dále přikládám svůj kod. Mělo by to být dobře. Kromě bodů 4 a 5 s těmi si nevím rady. První způsob zápisu kodu funguje. Místo volání všech položek ve funkci vypisPole se dají vypsat ve funkci init. Jenže já je potřebuju vypsat právě ve funkci vypisPole a já nevím jak.
NEFUNGUJE
#include <iostream>
using namespace std;
struct klient{
int ID;
string jmeno;
string pozadavek;
bool vyrizeno;
};
const int VEL=10;
typedef klient cekarna[VEL];
cekarna hala;
void init(cekarna&vstup){
for(int x=0;x<=VEL;x++){
vstup[x].ID=x*x;
vstup[x].jmeno="Franta";
vstup[x].pozadavek="nic";
vstup[x].vyrizeno=false;
}
}
void vypisPole(cekarna &vstup) {
for(int x = 0; x < VEL; x++) {
cout
<< "id: " << vstup[x].ID
<< ", jmeno: " << vstup[x].jmeno
<< ", pozadavek: " << vstup[x].pozadavek
<< ", vyrizeno: " << vstup[x].vyrizeno
<< endl;
}
}
int main()
{
hala[4].jmeno = "Aneta";
hala[4].pozadavek="kafe";
hala[4].vyrizeno=true;
init(hala);
vypisPole(hala);
}
FUNGUJE
#include <iostream>
using namespace std;
struct klient{
int ID;
string jmeno;
string pozadavek;
bool vyrizeno;
};
const int VEL=10;
typedef klient cekarna[VEL];
cekarna hala;
void init(cekarna&vstup){
for(int x=0;x<=VEL;x++){
vstup[x].ID=x*x;
vstup[x].jmeno="Franta";
vstup[x].pozadavek="nic";
vstup[x].vyrizeno=false;
cout<<vstup[x].ID<<endl;
cout<<vstup[x].jmeno<<endl;
cout<<vstup[x].pozadavek<<endl;
cout<<vstup[x].vyrizeno<<endl;
cout<<endl;
}
}
int main()
{
hala[4].jmeno = "Aneta";
hala[4].pozadavek="kafe";
hala[4].vyrizeno=true;
init(hala);
vypisPole(hala);
}