Advertisement
kxcoze

satie14_2_8

Jun 25th, 2020
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.41 KB | None | 0 0
  1. #include <conio.h>
  2. #include <iomanip>
  3. #include <iostream>
  4. #include <string>
  5. #include <windows.h>
  6.  
  7. using namespace std;
  8.  
  9. struct ORDER {
  10.     char surname[20];
  11.     char initials[6];
  12.     char INN[12];
  13.     char summa[20];
  14. };
  15.  
  16. short menu(ORDER* a);
  17. void input(ORDER* a);
  18. void inputInFile(ORDER* a);
  19. void list();
  20.  
  21. int main() {
  22.     SetConsoleCP(1251);
  23.     SetConsoleOutputCP(1251);
  24.     setlocale(LC_ALL, "rus");
  25.     short choice;
  26.     ORDER* record = new ORDER;
  27.     do {
  28.         choice = menu(record);
  29.         switch (choice) {
  30.         case 1:
  31.             system("cls");
  32.             inputInFile(record);
  33.             _getch();
  34.             system("cls");
  35.             break;
  36.         case 2:
  37.             system("cls");
  38.             list();
  39.             _getch();
  40.             system("cls");
  41.             break;
  42.         case 0:
  43.             cout << "Goodbye!" << endl;
  44.             system("pause");
  45.             break;
  46.         default:
  47.             cout << "Error!" << endl;
  48.             cout << "\n\nPress Enter..." << endl;
  49.             _getch();
  50.             system("cls");
  51.             break;
  52.         }
  53.     } while (choice);
  54.     cout << endl;
  55.     return 0;
  56. }
  57.  
  58. short menu(ORDER* a) {
  59.     short m;
  60.     cout << " МЕНЮ " << endl;
  61.     cout << " Введите [1] для ввода данных\n";
  62.     cout << " Введите [2] для просмотра введенных данных\n";
  63.     cout << " Введите [0] для выхода\n";
  64.     cout << " Пункт: ";
  65.     cin >> m;
  66.     return m;
  67. }
  68.  
  69. void input(ORDER* a) {
  70.     cin.ignore();
  71.  
  72.     cout << "Введите фамилию налогоплательщика: ";
  73.     cin.getline(a->surname, 20);
  74.     cout << "Введите инициалы налогоплательщика: ";
  75.     cin.getline(a->initials, 6);
  76.     cout << "Введите ИНН налогоплательщика: ";
  77.     cin.getline(a->INN, 12);
  78.     cout << "Введите сумму налогообложения: ";
  79.     cin.getline(a->summa, 20);
  80. }
  81.  
  82. void inputInFile(ORDER* a) {
  83.     input(a);
  84.     FILE* pfile;
  85.     fopen_s(&pfile, "data_base.txt", "a+");
  86.     system("pause");
  87.     cout << "\n\nФамилия налогоплательщика: " << a->surname << endl;
  88.     cout << "Инициалы налогоплательщика: " << a->initials << endl;
  89.     cout << "ИНН налогоплательщика: " << a->INN << endl;
  90.     cout << "Сумма налогообложения: " << a->summa << endl;
  91.     fwrite(a, sizeof(ORDER), 1, pfile);
  92.     cout << "Ваши данные теперь находятся в файле.";
  93.     fclose(pfile);
  94. }
  95.  
  96. void list() {
  97.     ORDER* record = new ORDER;
  98.     int i = 1;
  99.     FILE* pFile;
  100.     fopen_s(&pFile, "data_base.txt", "r+");
  101.     cout << "Данные с базы данных: " << endl;
  102.  
  103.     while (!feof(pFile)) {
  104.         fread(record, sizeof(ORDER), 1, pFile);
  105.         if (!feof(pFile)) {
  106.             cout << i << ": " << endl;
  107.             cout << "Фамилия налогоплательщика: " << record->surname << endl;
  108.             cout << "Инициалы налогоплательщика: " << record->initials << endl;
  109.             cout << "ИНН налогоплательщика: " << record->INN << endl;
  110.             cout << "Сумма налогообложения: " << record->summa << endl;
  111.             i++;
  112.         }
  113.     }
  114.     system("pause");
  115.     fclose(pFile);
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement