mashlukashova

Untitled

Mar 21st, 2019
115
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //----------НЕ РАБОТАЕТ, НО ХОТЬ СУЩЕСТВУЕТ-------------------
  2.  
  3.  
  4. #include <iostream>
  5. #include <iomanip>
  6. #include <iostream>
  7. #include <fstream>
  8. #include <string>
  9. #include <cstring>
  10. using namespace std;
  11.  
  12. const int kolichestvo = 2;
  13. const int D = 3;
  14. const int n = 2;
  15.  
  16. struct ZNAK {
  17.     char name[20];
  18.     char surname[30];
  19.     string znak;
  20.     int date[D];
  21. };
  22. void meny(int &n);
  23.  
  24. void fank2(int *A);
  25.  
  26. int search(ZNAK *m, const int kolichestvo);
  27. //void interface (ZNAK *m, const int kolichestvo);
  28. // void fank(ZNAK *A,const int n);
  29.  
  30. //void fillstruct(ZNAK *m, const int kolichestvo, const int D);
  31.  
  32. //void showstruct(ZNAK *m, const int kolichestvo, const int D);
  33.  
  34. int OutputFromFile_txt (char name_file[], const int kolichestvo);
  35.  
  36. int InputFromFile_txt (char name_file[], const int kolichestvo);
  37.  
  38. int main(){
  39.    
  40.     setlocale(LC_ALL, "rus");
  41.     ZNAK m[kolichestvo];
  42.     char name_file[20];
  43.       cin.getline (name_file,20);
  44.     cout <<"input name of the file: ";
  45.      if (OutputFromFile_txt (name_file, kolichestvo))
  46.      {
  47.          cout << "error OutputFromFile_txt() " << endl;
  48.          
  49.          system ("pause");
  50.          return 1;
  51.      }
  52.     else
  53.         if  (InputFromFile_txt (name_file, kolichestvo))
  54.         {
  55.             cout << "error InputFromFile_txt() " << endl;
  56.             system("pause");
  57.             return 2;
  58.         }
  59.     else
  60.         system("pause");
  61.     return 0;
  62.    
  63.  /*   int choice = 0;
  64.     ZNAK m[kolichestvo];
  65.  
  66.     while (choice != 4) {
  67.      
  68.         meny(choice);
  69.         if (choice == 1) {
  70.     fillstruct(m, kolichestvo, D);
  71.               // fank(m, n);
  72.             }
  73.        
  74.        
  75.         if (choice == 3) {
  76.             for (int i = 0; i < n; i++) {
  77.                 cout << m[i].name << " ";
  78.                 cout << m[i].surname << " "<<endl;
  79.                 cout << m[i].znak << endl;
  80.                 for (int j = 0; j < 3; j++) {
  81.                     cout << m[i].date[j] << " ";
  82.                 }
  83.                 cout << endl;
  84.             }
  85.            
  86.         }
  87.         if (choice == 2) {
  88.             search(m, kolichestvo);
  89.             system ("pause");
  90.         }
  91.     if (choice == 4) break;
  92.     }
  93.         cout << "Завершение программы...";*/
  94.    
  95.    
  96.     }
  97.  
  98.  
  99. int OutputFromFile_txt (char name_file[], const int kolichestvo){
  100.     ofstream outfile (name_file);
  101.     if (! outfile){
  102.         cout << "error ofstream " << endl;
  103.         system("pause");
  104.         return 1;
  105.     }
  106.     ZNAK m;
  107.     for (int i = 0; i < kolichestvo; i++){
  108.         cout << "input name and surname: ";
  109.         cin >> m.name;
  110.         outfile << m.name << '\n';
  111.         cin >> m.surname;
  112.         outfile << m.surname << '\n';
  113.        
  114.         cout << "input Zodiac sign: ";
  115.         cin >> m.znak;
  116.         outfile << m.znak << '\n';
  117.         cout << "input date: ";
  118.         for (int j = 0; j < 3; j++){
  119.             cin >> m.date[j];
  120.             outfile << m.date[j] << '\n';
  121.         }
  122.        
  123.     }
  124.     cout << "file is made \n" << endl;
  125.     outfile.close();
  126.     return 0;
  127. }
  128.  
  129.  
  130. int InputFromFile_txt (char name_file[], const int kolichestvo){
  131.     bool prov = false;
  132.     ifstream infile(name_file);
  133.     if(!infile) {
  134.         cout << "error ifstream " << endl;
  135.         system("pause");
  136.         return 1;
  137.     }
  138.     ZNAK m;
  139.     while (true){
  140.         infile >> m.name;
  141.         if (infile.eof())break;
  142.         //
  143.         if (search(&m, kolichestvo)){
  144.                 prov = true;
  145.            
  146.             }
  147.         if (!prov) cout << "No match person"<<endl;
  148.         infile.close ();
  149.         return 0;
  150.         }
  151.  
  152.        
  153. }
  154.  
  155.  
  156. /*void interface (ZNAK *m, const int kolichestvo){
  157.    
  158.     int choice = 0;
  159.    
  160.    
  161.     while (choice != 4) {
  162.        
  163.         meny(choice);
  164.         if (choice == 1) {
  165.             fillstruct(m, kolichestvo, D);
  166.             // fank(m, n);
  167.         }
  168.        
  169.        
  170.         if (choice == 3) {
  171.             for (int i = 0; i < n; i++) {
  172.                 cout << m[i].name << " ";
  173.                 cout << m[i].surname << " "<<endl;
  174.                 cout << m[i].znak << endl;
  175.                 for (int j = 0; j < 3; j++) {
  176.                     cout << m[i].date[j] << " ";
  177.                 }
  178.                 cout << endl;
  179.             }
  180.            
  181.         }
  182.         if (choice == 2) {
  183.             search(m, kolichestvo);
  184.             system ("pause");
  185.         }
  186.         if (choice == 4) break;
  187.     }
  188.     cout << "Завершение программы...";
  189. }
  190.  
  191.  
  192.  
  193. void meny(int &n) {
  194.     system("cls");
  195.     cout << setw(15) << "****Меню****"<<endl<<endl;
  196.     cout << setw(3) << "1) Ввести данные" << endl;
  197.     cout << setw(3) << "2) найти человека " << endl;
  198.     cout << setw(3) << "3) Вывести данные" << endl;
  199.     cout << setw(3) << "4) Выход" << endl;
  200.     cin >> n;
  201. }
  202.  
  203.  
  204. void fillstruct(ZNAK *m, const int kolichestvo, const int D){
  205.     for (int i = 0; i < kolichestvo; i++){
  206.         cout << "input name and surname: ";
  207.         cin >> m[i].name;
  208.         cin >> m[i].surname;
  209.        
  210.         cout << "input Zodiac sign: ";
  211.         cin >> m[i].znak;
  212.        
  213.         cout << "input date: ";
  214.         fank2(m[i].date);
  215.     }
  216.    // ofstream outfile;
  217.    // outfile.open("Out.txt");
  218.    
  219. }
  220. */
  221.  
  222. /*void fank2(int *A) {
  223.     for (int i=0; i < 3; i++) {
  224.         cin >> A[i];
  225.     }
  226. }*/
  227.  
  228. /*void fank(ZNAK *A,const int n)
  229. {
  230.     ZNAK P;
  231.     for(int i=0;i<n;i++){
  232.         for (int j = 0; j < n; j++) {
  233.             if (A[i].date[3] > A[j].date[3]||
  234.                 (A[i].date[3] == A[j].date[3]&& A[i].date[2] > A[j].date[2])||
  235.                 (A[i].date[3] == A[j].date[3] && A[i].date[2] == A[j].date[2]&& A[i].date[1] > A[j].date[1])) {
  236.                 P = A[j];
  237.                 A[j] = A[i];
  238.                 A[i] = P;
  239.             }
  240.         }
  241.     }
  242. }
  243. */
  244.  
  245.  
  246.  
  247.  int search(ZNAK *m, const int kolichestvo){
  248.     char surname1[20];
  249.    
  250.     for ( int l = 0; l < 20; l++ )
  251.         surname1[l]=NULL;
  252.    
  253.     cout<<"Enter needed surname: ";
  254.     cin >> surname1;
  255.    
  256.     bool r = false;
  257.    
  258.     for ( int k = 0; k < kolichestvo; k++ )
  259.     {
  260.         bool b = true;
  261.         int l = 0;
  262.        
  263.         while ( surname1[l] != NULL)
  264.         { if (surname1[l] != m[k].surname[l]) b = false; l++;
  265.         }
  266.         if (surname1[l] != m[k].surname[l]) b = false;
  267.        
  268.         if ( b == true  )
  269.         {
  270.             cout << m[k].name << " " << m[k].surname << endl << m[k].znak << endl;
  271.             for (int j = 0; j < 3; j++){
  272.                
  273.                 cout << m[k].date[j] << " ";
  274.             }
  275.             cout << endl;
  276.             cout<<"--------------------------------------------------"<<endl;
  277.             r = true;
  278.             return 1;
  279.         }
  280.     }
  281.    // if ( r == false ) cout<<"No match person"<<endl;
  282.     //system("pause");
  283.      return 0;
  284. }
RAW Paste Data