Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. struct data
  7. {
  8. int date;
  9. int month;
  10. int year;
  11. };
  12.  
  13. struct gsm
  14. {
  15. int nomer;
  16. char vid[20];
  17. char marka[20];
  18. data DataNaPoluchavane;
  19. char cvqt[20];
  20. int broi;
  21. double cena;
  22. }a;
  23.  
  24. fstream f;
  25. int is;
  26.  
  27. void Input()
  28. {
  29. cout<<"Nomer na artikul: "; cin>>a.nomer;
  30. is=getchar();
  31. cout<<"Vid: "; cin.getline(a.vid,20);
  32. cout<<"Marka: "; cin.getline(a.marka,20);
  33. cout<<"Data na poluchavane: "; cin>>a.DataNaPoluchavane.date>>a.DataNaPoluchavane.month>>a.DataNaPoluchavane.year;
  34. is=getchar();
  35. cout<<"Cvqt: "; cin.getline(a.cvqt,20);
  36. cout<<"Broi: "; cin>>a.broi;
  37. cout<<"Cena: "; cin>>a.cena;
  38. }
  39.  
  40. void Print()
  41. {
  42. cout<<"Nomer na artikul: "; cout<<a.nomer<<endl;
  43. is=getchar();
  44. cout<<"Vid: "; cout<<a.vid<<endl;
  45. cout<<"Marka: "; cout<<a.marka<<endl;
  46. cout<<"Data na poluchavane: "; cout<<a.DataNaPoluchavane.date<<"."<<a.DataNaPoluchavane.month<<"."<<a.DataNaPoluchavane.year<<endl;
  47. cout<<"Cvqt: "; cout<<a.cvqt<<endl;
  48. cout<<"Broi: "; cout<<a.broi<<endl;
  49. cout<<"Cena: "; cout<<a.cena<<endl<<endl;
  50. }
  51.  
  52. void Create ()
  53. {
  54. f.open("gsm.dat",ios::out);
  55. if (!f)
  56. {
  57. cout<<"Error!"<<endl;
  58. return;
  59. }
  60. int n=1;
  61. while (n==1)
  62. {
  63. Input();
  64. f.write((const char*)&a,sizeof(struct gsm));
  65. cout<<"Za da produljite da zapisvate natisnete 1, a za da sprete drug buton"<<endl;
  66. cin>>n;
  67. }
  68. f.close();
  69. }
  70.  
  71. void Append()
  72. {
  73. f.open("gsm.dat",ios::app);
  74. if (!f)
  75. {
  76. cout<<"Error!"<<endl;
  77. return;
  78. }
  79. int n=1;
  80. while (n==1)
  81. {
  82. Input();
  83. f.write((const char*)&a,sizeof(struct gsm));
  84. cout<<"Za da produljite da zapisvate natisnete 1, a za da sprete drug buton"<<endl;
  85. cin>>n;
  86. }
  87. f.close();
  88. }
  89.  
  90. void Update ()
  91. {
  92. f.open("curier.dat",ios::in|ios::out);
  93. if (!f)
  94. {
  95. cout<<"Error!"<<endl;
  96. return;
  97. }
  98. unsigned long pos;
  99. int nomer;
  100. cout<<"Vuvedi turseniq nomer na artikul za promqna: ";
  101. cin>>nomer;
  102. f.seekg(0);
  103. while (f.read((char*)&a,sizeof(struct gsm)))
  104. {
  105. if (a.nomer==nomer)
  106. {
  107. cout<<"Vuvedi novi danni:"<<endl;
  108. Input();
  109. pos=f.tellg();
  110. pos=pos-sizeof(struct gsm);
  111. f.seekg(pos);
  112. f.write((const char*)&a,sizeof(struct gsm));
  113. }
  114. }
  115. f.close();
  116. }
  117.  
  118. void DeleteNomer()
  119. {
  120. f.open("gsm.dat",ios::in);
  121. if (!f)
  122. {
  123. cout<<"Error!"<<endl;
  124. return;
  125. }
  126. fstream f1;
  127. f1.open("gsm1.dat",ios::out);
  128. if (!f1)
  129. {
  130. cout<<"Error!"<<endl;
  131. return;
  132. }
  133. int nomer;
  134. cout<<"Vuvedi turseniq nomer za iztrivane na artikul:";
  135. cin>>nomer;
  136. f.seekg(0);
  137. while(f.read((char*)&a,sizeof(gsm)))
  138. {
  139. if (a.nomer!=nomer)
  140. {
  141. f1.write((const char*)&a,sizeof(struct gsm));
  142. cout<<endl;
  143. }
  144. }
  145. f.close();
  146. f1.close();
  147. f.open("gsm.dat",ios::out);
  148. if (!f)
  149. {
  150. cout<<"Error!"<<endl;
  151. return;
  152. }
  153. f1.open("gsm1.dat",ios::in);
  154. if (!f1)
  155. {
  156. cout<<"Error!"<<endl;
  157. return;
  158. }
  159. while (f1.read((char*)&a,sizeof(gsm)))
  160. {
  161. f.write((const char*)&a,sizeof(struct gsm));
  162. }
  163. f.close();
  164. f1.close();
  165. }
  166.  
  167. void DeleteMarka()
  168. {
  169. f.open("gsm.dat",ios::in);
  170. if (!f)
  171. {
  172. cout<<"Error!"<<endl;
  173. return;
  174. }
  175. fstream f1;
  176. f1.open("gsm1.dat",ios::out);
  177. if (!f1)
  178. {
  179. cout<<"Error!"<<endl;
  180. return;
  181. }
  182. char marka[20];
  183. is=getchar();
  184. cout<<"Vuvedi turseniq nomer za iztrivane na pratka:";
  185. cin.getline(marka,20);
  186. f.seekg(0);
  187. while(f.read((char*)&a,sizeof(gsm)))
  188. {
  189. if (strcmp(marka,a.marka))
  190. {
  191. f1.write((const char*)&a,sizeof(struct gsm));
  192. cout<<endl;
  193. }
  194. }
  195. f.close();
  196. f1.close();
  197. f.open("curier.dat",ios::out);
  198. if (!f)
  199. {
  200. cout<<"Error!"<<endl;
  201. return;
  202. }
  203. f1.open("currier1.dat",ios::in);
  204. if (!f1)
  205. {
  206. cout<<"Error!"<<endl;
  207. return;
  208. }
  209. while (f1.read((char*)&a,sizeof(gsm)))
  210. {
  211. f.write((const char*)&a,sizeof(struct gsm));
  212. }
  213. f.close();
  214. f1.close();
  215. }
  216.  
  217. void MaxCena()
  218. {
  219. float max;
  220. max=a.cena;
  221. f.open("gsm.dat",ios::in);
  222. if (!f) {cout<<"Error"<<"\n"; return ;}
  223. while (f.read((char*)&a,sizeof(struct gsm)))
  224. if(a.cena>=max) max=a.cena;
  225. f.close();
  226. f.open("gsm.dat",ios::in);
  227. if (!f) {cout<<"Error"<<"\n"; return ;}
  228. while (f.read((char*)&a,sizeof(struct gsm)))
  229. if(a.cena==max)
  230. {
  231. cout<<"Nomer: "<<a.nomer<<endl;
  232. cout<<"Data na poluchavane: "; cout<<a.DataNaPoluchavane.date<<"."<<a.DataNaPoluchavane.month<<"."<<a.DataNaPoluchavane.year<<endl;
  233. cout<<"Vid: "<<a.cvqt<<endl;
  234. cout<<"Cvqt: "<<a.cvqt<<endl<<endl;
  235. }
  236. f.close();
  237. }
  238.  
  239. void PrintVid()
  240. {
  241. f.open("gsm.dat",ios::in);
  242. if (!f) {cout<<"Error"<<"\n"; return ;}
  243. char vid[20];
  244. is=getchar();
  245. cout<<"Vuvedi tursen vid: "; cin>>vid;
  246. while (f.read((char*)&a,sizeof(struct gsm)))
  247. {
  248.  
  249. if(!strcmp(a.vid,vid))
  250. {
  251. Print();
  252. }
  253. }
  254. f.close();
  255. }
  256.  
  257. void PrintObshtaSuma()
  258. {
  259. f.open("gsm.dat",ios::in);
  260. if (!f) {cout<<"Error"<<"\n"; return ;}
  261. double suma=0;
  262. while (f.read((char*)&a,sizeof(struct gsm)))
  263. {
  264. suma+=a.cena*a.broi;
  265. }
  266. cout<<"Obshta suma na vsichki artikuli: "<<suma<<endl;
  267. f.close();
  268. }
  269.  
  270. void PrintData()
  271. {
  272. f.open("gsm.dat",ios::in);
  273. if (!f) {cout<<"Error"<<"\n"; return ;}
  274. data data;
  275. cout<<"Vuvedi data: "; cin>>data.date>>data.month>>data.year;
  276. while (f.read((char*)&a,sizeof(struct gsm)))
  277. {
  278. if(a.DataNaPoluchavane.date==data.date&&a.DataNaPoluchavane.month==data.month&&a.DataNaPoluchavane.year==data.year)
  279. {
  280. Print();
  281. }
  282. }
  283. f.close();
  284. }
  285.  
  286. void PrintIntervalDati()
  287. {
  288. f.open("gsm.dat",ios::in);
  289. if (!f) {cout<<"Error"<<"\n"; return ;}
  290. data data1,data2;
  291. cout<<"Vuvedi purva data: ";cin>>data1.date>>data1.month>>data1.year;
  292. cout<<"Vuvedi vtora data: ";cin>>data2.date>>data2.month>>data2.year;
  293. while(f.read((char*)&a,sizeof(gsm)))
  294. {
  295. if (data1.year<a.DataNaPoluchavane.year&&data2.year>a.DataNaPoluchavane.year)
  296. {
  297. Print();
  298. }
  299. else if (data1.year<=a.DataNaPoluchavane.year&&data2.year>=a.DataNaPoluchavane.year&&data1.month<a.DataNaPoluchavane.month&&data2.month>a.DataNaPoluchavane.month)
  300. {
  301. Print();
  302. }
  303. else if (data1.year<=a.DataNaPoluchavane.year&&data2.year>=a.DataNaPoluchavane.year&&data1.month<=a.DataNaPoluchavane.month&&data2.month>=a.DataNaPoluchavane.month&&data1.date<=a.DataNaPoluchavane.date&&data2.date>=a.DataNaPoluchavane.date)
  304. {
  305. Print();
  306. }
  307. }
  308. f.close();
  309. }
  310.  
  311. void PrintAll()
  312. {
  313. f.open("gsm.dat",ios::in);
  314. if (!f) {cout<<"Error"<<"\n"; return ;}
  315. while (f.read((char*)&a,sizeof(struct gsm)))
  316. {
  317. Print();
  318. }
  319. f.close();
  320. }
  321.  
  322. void DeleteAll()
  323. {
  324. f.open("gsm.dat",ios::out);
  325. f.close();
  326. }
  327.  
  328. int main()
  329. {
  330. int command = 1 ;
  331. while (command!=0)
  332. {
  333. cout<<"INFORMACIONNA SISTEMA - KURIERI"<<endl;
  334. cout<<"******************************************************************************************\n";
  335. cout<<"\n izberete chislo ot 1 do 12 spored funkciqta:\n"<<endl;
  336. cout<<"\t 1 -> create \t /sazdavane na fail/\n"<<endl;
  337. cout<<"\t 2 -> append \t /dobavqne na pratki/\n"<<endl;
  338. cout<<"\t 3 -> update \t /promqna na danni na pratka po nomer/\n"<<endl;
  339. cout<<"\t 4 -> delete nomer \t /iztrivane na artikul po nomer/\n"<<endl;
  340. cout<<"\t 5 -> delete marka \t /iztrivane na artikuli po marka/\n"<<endl;
  341. cout<<"\t 6 -> print max cena \t /izvejda nai-skupite artikuli/\n"<<endl;
  342. cout<<"\t 7 -> print vid\t /izvejdane na artikuli po vid/\n"<<endl;
  343. cout<<"\t 8 -> obshta suma \t /obshtata suma na vsichki artiklu/\n"<<endl;
  344. cout<<"\t 9 -> print data \t /izvejda artikuli, dostaveni na dadena data/\n"<<endl;
  345. cout<<"\t 10 -> print mejdu 2 dati \t /izvejda artikuli, polucheni v interval mejdu 2 dadeni dati/\n"<<endl;
  346. cout<<"\t 11 -> print all \t /izvejda vsichki pratki/\n"<<endl;
  347. cout<<"\t 12 -> delete all \t /iztriva vsichki danni/\n"<<endl;
  348. cout<<" drug simvol -> izhod\n"<<endl;
  349. cout<<"******************************************************************************************\n";
  350. cin>>command;
  351. switch (command)
  352. {
  353. case 1: Create(); break;
  354. case 2: Append(); break;
  355. case 3: Update(); break;
  356. case 4: DeleteNomer(); break;
  357. case 5: DeleteMarka(); break;
  358. case 6: MaxCena(); break;
  359. case 7: PrintVid(); break;
  360. case 8: PrintObshtaSuma(); break;
  361. case 9: PrintData(); break;
  362. case 10: PrintIntervalDati(); break;
  363. case 11: PrintAll(); break;
  364. case 12: DeleteAll(); break;
  365. default: command=0; break;
  366. }
  367. }
  368. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement