SHARE
TWEET

Untitled

a guest Jun 20th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top