fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. struct rab {
  5. char* master;
  6. double cost;
  7. };
  8. struct auto1 {
  9. char* number;
  10. double km;
  11. rab process;
  12. };
  13. int prov(double n) {
  14. char* s = (char*)malloc(50 * sizeof(char));
  15. fgets(s, 255, stdin);
  16. if (s[0] == '\n')
  17. return 0;
  18. else return 1;
  19. }
  20. int proverka_indiv(auto1* a, int n, char* num) {
  21. int k = 0;
  22. for (int i = 0; i < n; i++)
  23. if (strcmp(a[i].number, num) == 0)
  24. k++;
  25. if (k == 0)
  26. return 0;
  27. else return 1;
  28. }
  29. void delet_n(char*& a) {
  30. int i = 0;
  31. while (a[i] != '\n')
  32. i++;
  33. a[i] = '\0';
  34. }
  35. void input(auto1*& a, int& n) {
  36. double w;
  37. int q, fl = 0, e;
  38. printf_s("Введите количество клиентов в банке: ");
  39. e = n;
  40. do {
  41. while (scanf_s("%lf", &w) == 0 || w < 0 || prov(w) == 1) {
  42. printf_s("Вы ввели не то, что надо. Повторите. Ваш ответ: ");
  43. rewind(stdin);
  44. }
  45. q = w;
  46. if (w - q != 0) {
  47. printf_s("Вы ввели дробное число, а надо целое. Повторите.\n");
  48. continue;
  49. }
  50. if (q == 0)
  51. return;
  52. a = (auto1*)realloc(a, (n + q) * sizeof(auto1));
  53. fl = 1;
  54. for (int i = n; i < q + n; i++) {
  55. a[i].process.master = (char*)malloc(50 * sizeof(char));
  56. a[i].number = (char*)malloc(50 * sizeof(char));
  57. double e, pl = 0;
  58. char* poiu = (char*)malloc(50 * sizeof(char));
  59. printf_s("\n Дата последнего изменения: ");
  60. rewind(stdin);
  61. int k = 0;
  62. do {
  63. fgets(poiu, 255, stdin);
  64. delet_n(poiu);
  65. k = 1;
  66. } while (proverka_indiv(a, i + 1, poiu) > 0);
  67. a[i].number = poiu;
  68. printf_s(" номер счёта: ");
  69. while (scanf_s("%lf", &a[i].km) == 0 || a[i].km < 0 || prov(a[i].km) == 1) {
  70. printf_s("Вы ввели не то, что надо. Повторите. Ваш ответ: ");
  71. rewind(stdin);
  72. }
  73. printf_s(" ФИО клиента: ");
  74. rewind(stdin);
  75. fgets(a[i].process.master, 255, stdin);
  76. delet_n(a[i].process.master);
  77. printf_s(" сумма на счёте($): ");
  78. while (scanf_s("%lf", &a[i].process.cost) == 0 || a[i].process.cost < 0 || prov(a[i].process.cost) == 1) {
  79. printf_s("Вы ввели не то, что надо. Повторите. Ваш ответ: ");
  80. rewind(stdin);
  81. }
  82. }
  83. } while (fl == 0);
  84. n += q;
  85. }
  86. void output(auto1* a, int n) {
  87. printf_s("Дата последнего изменения\t\t\t\tномер счёта\t\t\t\tклиент\t\t\t\tсумма на счёте\n");
  88. for (int i = 0; i < n; i++)
  89. printf_s("%-31s %-31.2lf %-31s %-31.2lf\n", a[i].number, a[i].km, a[i].process.master, a[i].process.cost);
  90.  
  91. //printf_s("%10s\t\t%15s\t\t%7.2lf\t%15s\t\t%20s\t\t%7.2lf\n", a[i].number, a[i].mark, a[i].km, a[i].process.master, a[i].process.work, a[i].process.cost);
  92.  
  93. }
  94.  
  95. int main() {
  96. SetConsoleCP(1251);
  97. SetConsoleOutputCP(1251);
  98. struct auto1* cs = (auto1*)malloc(sizeof(auto1));
  99. int buf = 1, flag = 0, n = 0, a;
  100. double w;
  101. do {
  102. rewind(stdin);
  103. printf_s("что вы хотите сделать?(варианты ответа 1-3)\n 1.Ввод\n 2.Вывод на экран\n 3.Завершить работу\nВаш Ответ: ");
  104. while (scanf_s("%lf", &w) == 0 || w < 0 || w > 8 || prov(w) == 1) {
  105. printf_s("Вы ввели не то, что надо или данного пункта нет в списке задач. Повторите. Ваш ответ: ");
  106. rewind(stdin);
  107. }
  108. a = w;
  109. if (w - a != 0) {
  110. printf_s("Вы ввели дробное число, а надо целое. Повторить.\n");
  111. continue;
  112. }
  113. system("CLS");
  114. switch (a) {
  115. case 1: input(cs, n); break;
  116. case 2:if (n != 0)output(cs, n); else printf_s("Вы ещё не ввели данные про авто."); break;
  117. case 3: buf = 0; break;
  118. }
  119. if (buf != 0) {
  120. double e;
  121. printf_s("Вы хотите вернуться в меню?\n 1.да\n 2.нет(выйти из программы)\nВаш ответ: ");
  122. while (scanf_s("%lf", &e) == 0 || (e != 2 && e != 1) || prov(e) == 1) {
  123. printf_s("Вы ввели не то, что надо. Повторите. Ваш ответ: ");
  124. rewind(stdin);
  125. }
  126. if (e == 2)
  127. buf = 0;
  128. rewind(stdin);
  129. }
  130. system("CLS");
  131. } while (buf == 1);
  132. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:3:10: fatal error: windows.h: No such file or directory
 #include <windows.h>
          ^~~~~~~~~~~
compilation terminated.
stdout
Standard output is empty