Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- class v15
- {
- public:
- int num;
- char name[20];
- char lastname[20];
- char ad[100];
- char date[15];
- };
- v15* zap(int n)
- {
- int i;
- v15* inf = new v15[n];
- for (i = 0; i < n; i++)
- {
- cout << "Number:";
- cin >> inf[i].num;
- cout << "Date:";
- cin >> inf[i].date;
- cout << "First Name:";
- cin >> inf[i].name;
- cout << "Last Name:";
- cin >> inf[i].lastname;
- cout << "Adress:";
- cin >> inf[i].ad;
- }
- return inf;
- }
- v15* zap2(int n, v15* inf)
- {
- int i;
- v15* inf2 = new v15[n];
- for (i = 0; i < (n - 1); i++)
- {
- inf2[i] = inf[i];
- }
- delete[] inf;
- for (i = n - 1; i < n; i++)
- {
- cout << "Number:";
- cin >> inf2[i].num;
- cout << "Date:";
- cin >> inf2[i].date;
- cout << "First Name:";
- cin >> inf2[i].name;
- cout << "Last Name:";
- cin >> inf2[i].lastname;
- cout << "Adress:";
- cin >> inf2[i].ad;
- }
- //ofstream fout;
- //fout.open("Info.txt"/*,ofstream::app*/);
- //for (i = 0; i < n; i++)
- //{
- // if (i > 0)
- // fout << "\n";
- // fout << inf2[i].num << "\n";
- // fout << inf2[i].date << "\n";
- // fout << inf2[i].name << "\n";
- // fout << inf2[i].lastname << "\n";
- // fout << inf2[i].ad;
- //}
- //fout.close();
- return inf2;
- }
- void rew(int n, v15* inf)
- {
- int nu;
- cout << "Number:";
- cin >> nu;
- cout << "Data:\ndate\nFirst Name\nLast Name\nAdress\n";
- char datadel[20];
- cin >> datadel;
- int j, i;
- for (j = 0; j < n; j++)
- {
- if (inf[j].num == nu) i = j;
- }
- int s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].date[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].date[u] = ' ';
- cin >> inf[i].date;
- }
- }
- s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].name[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].name[u] = ' ';
- cin >> inf[i].name;
- }
- }
- s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].lastname[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].lastname[u] = ' ';
- cin >> inf[i].lastname;
- }
- }
- s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].ad[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].ad[u] = ' ';
- cin >> inf[i].ad;
- }
- }
- //ofstream fout;
- //fout.open("Info.txt"/*,ofstream::app*/);
- //for (i = 0; i < n; i++)
- //{
- // if (i > 0)
- // fout << "\n";
- // fout << inf[i].num << "\n";
- // fout << inf[i].date << "\n";
- // fout << inf[i].name << "\n";
- // fout << inf[i].lastname << "\n";
- // fout << inf[i].ad;
- //}
- //fout.close();
- }
- void show1(int n, v15* inf)
- {
- int i;
- /*ifstream fin;
- fin.open("Info.txt");
- for (i = 0; i < n - 1; i++)
- {
- while (!fin.eof())
- {
- for (int j = 0; j < 20; j++)
- {
- inf[i].num = 0;
- inf[i].date[j] = ' ';
- inf[i].name[j] = ' ';
- inf[i].lastname[j] = ' ';
- inf[i].ad[j] = ' ';
- }
- fin >> inf[i].num;
- fin >> inf[i].date;
- fin >> inf[i].name;
- fin >> inf[i].lastname;
- fin >> inf[i].ad;
- if (inf[i].num != 0 && inf[i].date != "" && inf[i].name != "" && inf[i].lastname != "" && inf[i].ad != "")
- {
- cout << "Number:" << inf[i].num << "\n";
- cout << "Date:" << inf[i].date << "\n";
- cout << "First Name:" << inf[i].name << "\n";
- cout << "Last Name:" << inf[i].lastname << "\n";
- cout << "Adress:" << inf[i].ad << "\n";
- }
- }
- }
- fin.close();*/
- for (i = 0; i < n; i++)
- {
- cout << "Number:\t\t";
- cout<<inf[i].num<<"\n";
- cout << "Date:\t\t";
- cout<< inf[i].date << "\n";
- cout << "First Name:\t";
- cout<< inf[i].name << "\n";
- cout << "Last Name:\t";
- cout<< inf[i].lastname << "\n";
- cout << "Adress:\t\t";
- cout<< inf[i].ad << "\n";
- }
- }
- void del(int n, v15* inf)
- {
- int nu;
- cout << "Number:";
- cin >> nu;
- cout << "Data:\nDate\nFirst Name\nLast Name\nAdress\n";
- char datadel[20];
- cin >> datadel;
- int j, i;
- for (j = 0; j < n; j++)
- {
- if (inf[j].num == nu) i = j;
- }
- int s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].date[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].date[u] = '_';
- }
- }
- s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].name[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].name[u] = '_';
- }
- }
- s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].lastname[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].lastname[u] = '_';
- }
- }
- s = 0;
- for (int k = 0; k < strlen(datadel); k++)
- {
- if (inf[i].ad[k] == datadel[k]) s++;
- if (s == strlen(datadel))
- {
- for (int u = 0; u < strlen(datadel); u++)
- inf[i].ad[u] = '_';
- }
- }
- //ofstream fout;
- //fout.open("Info.txt"/*,ofstream::app*/);
- //for (i = 0; i < n; i++)
- //{
- // if (i > 0)
- // fout << "\n";
- // fout << inf[i].num << "\n";
- // fout << inf[i].date << "\n";
- // fout << inf[i].name << "\n";
- // fout << inf[i].lastname << "\n";
- // fout << inf[i].ad;
- //}
- //fout.close();
- }
- void endd(int n,v15* inf)
- {
- int i;
- ofstream fout;
- fout.open("End.txt");
- for (i = 0; i < n; i++)
- {
- if (i > 0)
- fout << "\n";
- fout << inf[i].num << "\n";
- fout << inf[i].date << "\n";
- fout << inf[i].name << "\n";
- fout << inf[i].lastname << "\n";
- fout << inf[i].ad;
- }
- fout.close();
- //ifstream fin;
- //fin.open("End.txt");
- //for (i = 0; i < n - 1; i++)
- //{
- // while (!fin.eof())
- // {
- // for (int j = 0; j < 20; j++)
- // {
- // inf[i].num = 0;
- // inf[i].date[j] = ' ';
- // inf[i].name[j] = ' ';
- // inf[i].lastname[j] = ' ';
- // inf[i].ad[j] = ' ';
- // }
- // fin >> inf[i].num;
- // fin >> inf[i].date;
- // fin >> inf[i].name;
- // fin >> inf[i].lastname;
- // fin >> inf[i].ad;
- // /*if (inf[i].num != 0 && inf[i].date != ' ' && inf[i].name != ' ' && inf[i].lastname != ' ' && inf[i].ad != ' ')
- // {*/
- // cout << "Number:" << inf[i].num << "\n";
- // cout << "Date:" << inf[i].date << "\n";
- // cout << "First Name:" << inf[i].name << "\n";
- // cout << "Last Name:" << inf[i].lastname << "\n";
- // cout << "Adress:" << inf[i].ad << "\n";
- // /*}*/
- // }
- //}
- //fin.close();
- }
- void show2(int n, v15* inf)
- {
- int i;
- v15 *inf2 = new v15[n];
- ifstream fin;
- fin.open("Info.txt");
- for (i = 0; i < n - 1; i++)
- {
- while (!fin.eof())
- {
- /*for (int j = 0; j < 20; j++)
- {
- inf[i].num = 0;
- inf[i].date[j] = ' ';
- inf[i].name[j] = ' ';
- inf[i].lastname[j] = ' ';
- inf[i].ad[j] = ' ';
- }*/
- fin >> inf2[i].num;
- fin >> inf2[i].date;
- fin >> inf2[i].name;
- fin >> inf2[i].lastname;
- fin >> inf2[i].ad;
- /*if (inf[i].num != 0 && inf[i].date != "" && inf[i].name != "" && inf[i].lastname != "" && inf[i].ad != "")
- {*/
- cout << "Number:" << inf2[i].num << "\n";
- cout << "Date:" << inf2[i].date << "\n";
- cout << "First Name:" << inf2[i].name << "\n";
- cout << "Last Name:" << inf2[i].lastname << "\n";
- cout << "Adress:" << inf2[i].ad << "\n";
- /* }*/
- }
- }
- fin.close();
- cout << "==============================\n";
- ifstream fin2;
- fin2.open("End.txt");
- for (i = 0; i < n - 1; i++)
- {
- while (!fin2.eof())
- {
- fin2 >> inf2[i].num;
- fin2 >> inf2[i].date;
- fin2 >> inf2[i].name;
- fin2 >> inf2[i].lastname;
- fin2 >> inf2[i].ad;
- cout << "Number:" << inf2[i].num << "\n";
- cout << "Date:" << inf2[i].date << "\n";
- cout << "First Name:" << inf2[i].name << "\n";
- cout << "Last Name:" << inf2[i].lastname << "\n";
- cout << "Adress:" << inf2[i].ad << "\n";
- }
- }
- fin2.close();
- }
- void delet(int &n, v15* inf)
- {
- int i, q = 0, w = 0, e = 0;
- for (i = 0; i < n; i++)
- {
- for (int u =i+1; u < n; u++)
- {
- q = 0; w = 0; e = 0;
- for (int j = 0; j <= (strlen(inf[i].name)); j++)
- if (inf[i].name[j] == inf[u].name[j]) q++;
- for (int j = 0; j <= strlen(inf[i].lastname); j++)
- if (inf[i].lastname[j] == inf[u].lastname[j]) w++;
- for (int j = 0; j <= strlen(inf[i].ad); j++)
- if (inf[i].ad[j] == inf[u].ad[j]) e++;
- if ((q-1) == strlen(inf[i].name) && (w-1) == strlen(inf[i].lastname) && (e-1) == strlen(inf[i].ad))
- {
- for (u; u < n; u++)
- {
- inf[u] = inf[u + 1];
- }
- n = n - 1;
- }
- }
- }
- }
- int main()
- {
- int i,n;
- cout << "Kol-vo:";
- cin >> n;
- v15* inf = zap(n);
- ofstream fout;
- fout.open("Info.txt"/*,ofstream::app*/);
- for (i = 0; i < n; i++)
- {
- if(i>0)
- fout << "\n";
- fout << inf[i].num << "\n";
- fout << inf[i].date << "\n";
- fout << inf[i].name << "\n";
- fout << inf[i].lastname << "\n";
- fout << inf[i].ad;
- }
- fout.close();
- //ifstream fin;
- //fin.open("Info.txt");
- //for (i = 0; i < n; i++)
- //{
- // while (!fin.eof())
- // {
- // fin>> inf[i].num ;
- // fin>>inf[i].date ;
- // fin>> inf[i].name;
- // fin>> inf[i].lastname;
- // fin>> inf[i].ad;
- // }
- //}
- //fin.close();
- ln:
- cout << "0-End\n1-Show isx\n2-Rewrite\n3-Delete field\n4-Zfile2\n5-Dop\n6-View files\n7-Delete povt\n";
- int l ;
- cin >> l;
- if (l == 5)
- n = n + 1;
- switch (l)
- {
- case 0: return 0;
- case 1: show1(n, inf); goto ln;
- case 2:rew(n, inf); goto ln;
- case 3:del(n, inf); goto ln;
- case 4:endd(n, inf); goto ln;
- case 5:inf=zap2(n, inf); goto ln;
- case 6:show2(n, inf); goto ln;
- case 7:delet(n, inf); goto ln;
- default: return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement