Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<string>
- #include<iostream>
- #include<list>
- #include<algorithm>
- using namespace std;
- class Zaznam {
- public:
- int poradie;
- int telcislo;
- string meno;
- string priezvisko;
- };
- Zaznam napln()
- {
- Zaznam temp;
- static int i = 1;
- temp.poradie = i;
- cout << "Zadaj meno ";
- cin >> temp.meno;
- cout << "Zadaj priezvisko ";
- cin >> temp.priezvisko;
- cout << "Zadaj telefonne cislo";
- cin >> temp.telcislo;
- i++;
- return temp;
- }
- void info(list<Zaznam> * mylist)
- {
- list<Zaznam>::iterator i;
- for(i = mylist->begin(); i != mylist->end(); i++)
- {
- cout << i->poradie << ". ";
- cout << i->meno << " ";
- cout << i->priezvisko << " ";
- printf("+421 %d",i->telcislo);
- cout << "\n";
- }
- }
- void erase_ID(list<Zaznam> *mylist,int k)
- {
- list<Zaznam>::iterator i;
- i = mylist->begin();
- while(i->poradie != k)
- {
- i++;
- if(i->poradie > k )
- {
- cout << "3 sa uz nenachadza \n";
- }
- }
- mylist->erase(i);
- }
- int compare_num(Zaznam first,Zaznam second)
- {
- if(first.telcislo < second.telcislo)
- return 1;
- else
- return 0;
- }
- int compare_ID(Zaznam first,Zaznam second)
- {
- if(first.poradie < second.poradie)
- return 1;
- else
- return 0;
- }
- int compare_name(Zaznam first,Zaznam second)
- {
- if(first.meno < second.meno)
- return 1;
- else
- return 0;
- }
- int compare_surname(Zaznam first,Zaznam second)
- {
- if(first.priezvisko < second.priezvisko)
- return 1;
- else
- return 0;
- }
- void into_txt(list<Zaznam> *mylist)
- {
- int volba;
- FILE *f_w;
- list<Zaznam>::iterator i;
- printf("Chces save ako .txt (1), .htm(2) alebo .dat(3)");
- scanf("%d",&volba);
- if(volba == 1)
- {
- f_w = fopen("save.txt", "w");
- for(i = mylist->begin(); i != mylist->end(); i++)
- {
- fprintf(f_w,"%i. ",i->poradie);
- fprintf(f_w,"%s ",i->meno.c_str());
- fprintf(f_w,"%s ",i->priezvisko.c_str());
- fprintf(f_w,"+421 %d",i->telcislo);
- fprintf(f_w," \n");
- }
- fclose(f_w);
- }
- if(volba == 2)
- {
- f_w = fopen("save.htm", "w");
- fprintf(f_w,"<html> \n");
- fprintf(f_w,"<body bgcolor=\"LightSkyBlue\"> \n");
- fprintf(f_w,"<head> <div style=\"position: absolute; width:100%; height:100px \"> \n");
- fprintf(f_w,"<title> pro zoznam </title> </head>\n");
- fprintf(f_w,"<h1 align=center ><font color=DarkGreen > moj pro zoznam </font> </h1> \n");
- for(i = mylist->begin(); i != mylist->end(); i++)
- {
- fprintf(f_w,"%i. \n",i->poradie);
- fprintf(f_w,"%s \n",i->meno.c_str());
- fprintf(f_w,"%s \n",i->priezvisko.c_str());
- fprintf(f_w,"+421 %d \n",i->telcislo);
- fprintf(f_w,"<br>");
- }
- fclose(f_w);
- }
- if(volba == 3)
- {
- f_w = fopen("save.dat", "w");
- for(i = mylist->begin(); i != mylist->end(); i++)
- {
- fprintf(f_w,"%i. ",i->poradie);
- fprintf(f_w,"%s ",i->meno.c_str());
- fprintf(f_w,"%s ",i->priezvisko.c_str());
- fprintf(f_w,"+421 %d",i->telcislo);
- fprintf(f_w," \n");
- }
- fclose(f_w);
- }
- }
- int main()
- {
- int volba = 0;
- int temp;
- list <Zaznam> mylist;
- do
- {
- cout << "Pridaj osobu - 1\n";
- cout << "Zorad podla ID - 2\n";
- cout << "Zorad podla mena - 3\n";
- cout << "Zorad podla priezviska - 4\n";
- cout << "Zorad podla telef.cisla - 5\n";
- cout << "Vymaz (podla ID) - 6\n";
- cout << "Vypis - 7\n";
- cout << "Uloz do txt - 8\n";
- cout << "Vymaz cely - 9\n";
- cout << "Zadaj volbu \n";
- cin >> volba;
- cout << "\n\n";
- switch (volba)
- {
- case 1:
- mylist.push_back(napln());
- break;
- case 2:
- mylist.sort(compare_ID);
- cout << "Sort prebehol uspesne \n";
- break;
- case 3:
- mylist.sort(compare_name);
- cout << "Sort prebehol uspesne \n";
- break;
- case 4:
- mylist.sort(compare_surname);
- cout << "Sort prebehol uspesne \n";
- break;
- case 5:
- mylist.sort(compare_num);
- cout << "Sort prebehol uspesne \n";
- break;
- case 6:
- cout << "Zadaj ID prvku ktory chces vymazat \n";
- cin >> temp;
- erase_ID(&mylist,temp);
- break;
- case 7:
- info(&mylist);
- break;
- case 8:
- into_txt(&mylist);
- break;
- case 9:
- mylist.clear();
- break;
- }
- cout << "\n\n";
- }
- while (volba != 0 );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement