Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. #include<string>
  2. #include<iostream>
  3. #include<list>
  4. #include<algorithm>
  5.  
  6. using namespace std;
  7.  
  8. class Zaznam {
  9. public:
  10. int poradie;
  11. int telcislo;
  12. string meno;
  13. string priezvisko;
  14.  
  15. };
  16.  
  17.  
  18. Zaznam napln()
  19. {
  20. Zaznam temp;
  21. static int i = 1;
  22.  
  23. temp.poradie = i;
  24. cout << "Zadaj meno ";
  25. cin >> temp.meno;
  26. cout << "Zadaj priezvisko ";
  27. cin >> temp.priezvisko;
  28. cout << "Zadaj telefonne cislo";
  29. cin >> temp.telcislo;
  30. i++;
  31.  
  32. return temp;
  33. }
  34.  
  35. void info(list<Zaznam> * mylist)
  36. {
  37. list<Zaznam>::iterator i;
  38.  
  39. for(i = mylist->begin(); i != mylist->end(); i++)
  40. {
  41. cout << i->poradie << ". ";
  42. cout << i->meno << " ";
  43. cout << i->priezvisko << " ";
  44. printf("+421 %d",i->telcislo);
  45. cout << "\n";
  46. }
  47. }
  48.  
  49. void erase_ID(list<Zaznam> *mylist,int k)
  50. {
  51. list<Zaznam>::iterator i;
  52.  
  53. i = mylist->begin();
  54. while(i->poradie != k)
  55. {
  56. i++;
  57. if(i->poradie > k )
  58. {
  59. cout << "3 sa uz nenachadza \n";
  60. }
  61.  
  62. }
  63. mylist->erase(i);
  64. }
  65.  
  66.  
  67. int compare_num(Zaznam first,Zaznam second)
  68. {
  69. if(first.telcislo < second.telcislo)
  70. return 1;
  71. else
  72. return 0;
  73. }
  74.  
  75. int compare_ID(Zaznam first,Zaznam second)
  76. {
  77. if(first.poradie < second.poradie)
  78. return 1;
  79. else
  80. return 0;
  81. }
  82.  
  83.  
  84. int compare_name(Zaznam first,Zaznam second)
  85. {
  86. if(first.meno < second.meno)
  87. return 1;
  88. else
  89. return 0;
  90. }
  91.  
  92. int compare_surname(Zaznam first,Zaznam second)
  93. {
  94. if(first.priezvisko < second.priezvisko)
  95. return 1;
  96. else
  97. return 0;
  98. }
  99.  
  100. void into_txt(list<Zaznam> *mylist)
  101. {
  102. int volba;
  103. FILE *f_w;
  104. list<Zaznam>::iterator i;
  105. printf("Chces save ako .txt (1), .htm(2) alebo .dat(3)");
  106. scanf("%d",&volba);
  107. if(volba == 1)
  108. {
  109. f_w = fopen("save.txt", "w");
  110.  
  111. for(i = mylist->begin(); i != mylist->end(); i++)
  112. {
  113. fprintf(f_w,"%i. ",i->poradie);
  114. fprintf(f_w,"%s ",i->meno.c_str());
  115. fprintf(f_w,"%s ",i->priezvisko.c_str());
  116. fprintf(f_w,"+421 %d",i->telcislo);
  117. fprintf(f_w," \n");
  118. }
  119. fclose(f_w);
  120. }
  121.  
  122. if(volba == 2)
  123. {
  124. f_w = fopen("save.htm", "w");
  125.  
  126.  
  127. fprintf(f_w,"<html> \n");
  128. fprintf(f_w,"<body bgcolor=\"LightSkyBlue\"> \n");
  129. fprintf(f_w,"<head> <div style=\"position: absolute; width:100%; height:100px \"> \n");
  130. fprintf(f_w,"<title> pro zoznam </title> </head>\n");
  131. fprintf(f_w,"<h1 align=center ><font color=DarkGreen > moj pro zoznam </font> </h1> \n");
  132.  
  133.  
  134.  
  135. for(i = mylist->begin(); i != mylist->end(); i++)
  136. {
  137. fprintf(f_w,"%i. \n",i->poradie);
  138. fprintf(f_w,"%s \n",i->meno.c_str());
  139. fprintf(f_w,"%s \n",i->priezvisko.c_str());
  140. fprintf(f_w,"+421 %d \n",i->telcislo);
  141. fprintf(f_w,"<br>");
  142. }
  143. fclose(f_w);
  144. }
  145. if(volba == 3)
  146. {
  147. f_w = fopen("save.dat", "w");
  148.  
  149. for(i = mylist->begin(); i != mylist->end(); i++)
  150. {
  151. fprintf(f_w,"%i. ",i->poradie);
  152. fprintf(f_w,"%s ",i->meno.c_str());
  153. fprintf(f_w,"%s ",i->priezvisko.c_str());
  154. fprintf(f_w,"+421 %d",i->telcislo);
  155. fprintf(f_w," \n");
  156. }
  157. fclose(f_w);
  158. }
  159.  
  160. }
  161.  
  162.  
  163.  
  164. int main()
  165. {
  166. int volba = 0;
  167. int temp;
  168. list <Zaznam> mylist;
  169.  
  170. do
  171. {
  172. cout << "Pridaj osobu - 1\n";
  173. cout << "Zorad podla ID - 2\n";
  174. cout << "Zorad podla mena - 3\n";
  175. cout << "Zorad podla priezviska - 4\n";
  176. cout << "Zorad podla telef.cisla - 5\n";
  177. cout << "Vymaz (podla ID) - 6\n";
  178. cout << "Vypis - 7\n";
  179. cout << "Uloz do txt - 8\n";
  180. cout << "Vymaz cely - 9\n";
  181. cout << "Zadaj volbu \n";
  182. cin >> volba;
  183. cout << "\n\n";
  184.  
  185. switch (volba)
  186. {
  187. case 1:
  188. mylist.push_back(napln());
  189. break;
  190. case 2:
  191. mylist.sort(compare_ID);
  192. cout << "Sort prebehol uspesne \n";
  193. break;
  194. case 3:
  195. mylist.sort(compare_name);
  196. cout << "Sort prebehol uspesne \n";
  197. break;
  198. case 4:
  199. mylist.sort(compare_surname);
  200. cout << "Sort prebehol uspesne \n";
  201. break;
  202. case 5:
  203. mylist.sort(compare_num);
  204. cout << "Sort prebehol uspesne \n";
  205. break;
  206. case 6:
  207. cout << "Zadaj ID prvku ktory chces vymazat \n";
  208. cin >> temp;
  209. erase_ID(&mylist,temp);
  210. break;
  211. case 7:
  212. info(&mylist);
  213. break;
  214. case 8:
  215. into_txt(&mylist);
  216.  
  217. break;
  218. case 9:
  219. mylist.clear();
  220. break;
  221.  
  222.  
  223. }
  224. cout << "\n\n";
  225. }
  226. while (volba != 0 );
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement