rendered paste body//Datoteka: n18.cpp
//
//Napiite program za delo z urejenim dinamično enosmerno povezanim seznamom s
//strukturo, ki vsebuje vpisno tevilko, priimek in ime tudenta. Seznam je
//urejen naračajoče glede na vpisno tevilko.
//Napiite naslednje funkcije, ki jih kličete iz glavnega programa
//(menu naj ima naslednji vrstni red):
//1 izpis seznama,
//2 vstavljanje elementa v seznam,
//3 iskanje elementa seznama po priimku,
//4 izpis tevila elementov seznama,
//5 izpis povprečne doline priimkov tudentov v seznama,
//6 izpis tudenta, ki ima največjo vpisno tevilko,
//7 brisanje seznama,
//0 zaključek programa.
//Pri zaključku programa zbriite seznam (uporaba operatorja delete).
//Vse funkcije lahko pokličete tudi s parametrom, ki lahko kae na prazen seznam.
#include <iostream>
#include <string>
using namespace std;
struct student
{
int vpisna;
char priimek[20];
char ime[20];
student* k_nasl;
};
student* k_dosedanji;
student* k_student;
student* k_nasel;
student* nek;
void IzpisVsega(const student* p)
{
while(p != NULL)
{
cout << p->vpisna << ", ";
cout << p->priimek << ", ";
cout << p->ime << endl;
p = p->k_nasl;
}
return;
};
void Vstavljanje(int vpisna1, char priimek1[], char ime1[])
{
k_student = new student;
strcpy(k_student -> priimek, priimek1);
strcpy(k_student -> ime, ime1);
k_student -> vpisna = vpisna1;
k_student->k_nasl = k_dosedanji; //predhodno vneseni element prejme naslov dosedanjega
k_dosedanji = k_student;
return;
};
void IskanjePriimek()
{
return;
};
void SteviloElementov()
{
return;
};
void PovprecnaDolzina()
{
return;
};
void NajdaljsiPriimek()
{
return;
};
void Brisanje()
{
return;
};
int main()
{
int vpisna;
char priimek[20];
char ime[20];
int odgovor;
k_dosedanji = NULL;
k_student = NULL;
do
{
cout << "1 - Izpis seznama" << endl
<< "2 - Vstavljanje elementa v seznam" << endl
<< "3 - Iskanje elementa seznama po priimku" << endl
<< "4 - Izpis stevila elementov seznama" << endl
<< "5 - Izpis povprecne dolzine priimkov studentov v seznamu" << endl
<< "6 - Izpis studenta, ki ima najvecjo vpisno stevilo" << endl
<< "7 - Brisanje seznama" << endl
<< "0 - Zakljucek programa" << endl <<endl;
cout << "Izbira: ";
cin >> odgovor;
if(odgovor<0 || odgovor>7)
{
cout << "Nepravilna izbira, poskusi ponovno!" << endl;
};
switch(odgovor)
{
case 1:
cout << endl << "Seznam: " << endl;
IzpisVsega(k_dosedanji);
cout << endl;
break;
case 2:
cout << endl << "Vpisite vpisno stevilko, priimek"
<< " in ime studenta: " << endl;
cin >> vpisna;
cin >> priimek;
cin >> ime;
Vstavljanje(vpisna, priimek, ime);
cout << endl;
break;
case 3:
cout << endl << "Vpisi priimek: " << endl;
cin >> priimek;
//IskanjePriimek(k_dosedanji);
cout << endl;
break;
case 4:
cout << endl << "Stevilo elementov seznama: " << endl;
//SteviloElementov(k_dosedanji);
cout << endl;
break;
case 5:
cout << endl << "Povprecna dolzina priimka: " << endl;
//PovprecnaDolzina(k_dosedanji);
cout << endl;
break;
case 6:
cout << endl << "Student, ki ima najvecjo "
<< "vpisno stevilko: " << endl;
//NajdaljsiPriimek(k_dosedanji);
cout << endl;
break;
case 7:
cout << endl << "Brisanje seznama..." << endl;
//Brisanje();
cout << endl;
break;
};
}
while(odgovor != 0);
//Brisanje();
return 0;
};