Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <conio.h>
  5. //#include <iostream>
  6. #include <locale>
  7. #include <Windows.h>
  8.  
  9. const int len_fio = 150;
  10.  
  11. struct PHONENOTE {
  12. char fio[len_fio];
  13. int year;
  14. float tel;
  15. };
  16.  
  17. const size_t size_p = sizeof(PHONENOTE);
  18.  
  19. int create_file(FILE*fbin);
  20. //int sort_file(FILE*fbin);
  21. int print_file(FILE*fbin);
  22. //int search_PHONENOTEs(FILE*fbin);
  23. using namespace std;
  24.  
  25. int main() {
  26. SetConsoleCP(1251);
  27. SetConsoleOutputCP(1251);
  28.  
  29. char menu_point;
  30. FILE *fbin;
  31. fbin = fopen("tex1.txt", "a+b");
  32. if (!fbin) {
  33. puts("Не могу открыть (создать) файл. \n");
  34. return 1;
  35. }
  36. while (1) {
  37. // Вывод меню
  38. puts("___________________________");
  39. puts(" Выбор действия:");
  40. puts("___________________________");
  41. puts("1- Запись в файл");
  42. puts("2- Сортировка файла");
  43. puts("3- Вывод файла");
  44. puts("4- Поиск и вычисления");
  45. puts("5- Выход");
  46. puts("___________________________");
  47. puts("Bвeдитe номер пункта меню\n");
  48. // Считывание выбранного пункта меню
  49. menu_point = _getch();
  50. // Запуск соответствующих задач
  51. switch (menu_point) {
  52. case '1': create_file(fbin); break;
  53. // case '2': sort_file(fbin); break;
  54. case '3': print_file(fbin); break;
  55. //case '4': search_persons(fbin); break;
  56. case '5':
  57. fclose(fbin);
  58. return 0;
  59. }
  60. }
  61. }
  62. /*---------Запись в файл--------------------*/
  63. int create_file(FILE *fbin) {
  64. PHONENOTE elem;
  65. char buf[100];
  66. fseek(fbin, 0, SEEK_END);
  67. puts("Ввод данных ");
  68. puts("Для вывода нажмте '*'");
  69. puts(" \n");
  70. while (1) {
  71. using namespace std;
  72. puts("Введите Ф.И.О ");
  73. scanf("%149[^\n]", elem.fio);
  74. if (!strcmp(elem.fio, "*")) {
  75. return 1;
  76. }
  77. puts("Введите год рождения");
  78. scanf("%i", &elem.year);
  79. puts("Введите телефон.");
  80. scanf("%f", &elem.tel);
  81. fgets(buf, 10, stdin); // считать \n
  82. fwrite(&elem, size_p, 1, fbin);
  83. }
  84. fflush(fbin);
  85. return 0;
  86. }
  87.  
  88. int print_file(FILE *fbin) {
  89. PHONENOTE elem;
  90. int n;
  91. rewind(fbin);
  92. puts("ФИО. Год");
  93. do {
  94. n = fread(&elem, size_p, 1, fbin);
  95. if (n < 1)break;
  96. printf("%-50s%-6i-\8.2f\n", elem.fio, elem.year);
  97.  
  98. } while (1);
  99. puts(" ");
  100. puts("Нажмите любую кнопку");
  101. _getch();
  102. return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement