Вывести фамилии, начинающиеся на буквы В, Г, Д - C (СИ)

Узнай цену своей работы

Формулировка задачи:

zss

, Спасибо! Скажите, вот хочу что бы он мне выводил данные, фамилии которых начинается на букву В, Г, Д. Он не показывает, подскажете почему?
Листинг программы
  1. #include <stdio.h>
  2. #include <io.h>
  3. #include <conio.h>
  4. #include <iostream>
  5. struct TZap {
  6. char FIO[30];
  7. double s_b, mat, xum, inf, fiz, gr, god;
  8. } Zap;
  9. int size = sizeof(TZap);
  10. FILE *Fz, *Ft;
  11. char File_Zap[] = "zapisi.dat";
  12. char File_Rez[] = "rezult.txt";
  13. void Out(TZap);
  14. int main()
  15. {
  16. int kod, D_f, i = 0, j, kol;
  17. double s_b, mat, xum, inf, fiz, gr, god;
  18. long len;
  19. TZap st, *mas_Z;
  20. Ft = fopen(File_Rez, "w");
  21. while (true) {
  22. puts("\n Create - 1\n Add - 2\n View - 3\n Sort - 4\n EXIT - 0");
  23. scanf("%d", &kod);
  24. switch (kod) {
  25. case 1:
  26. if ((Fz = fopen(File_Zap, "wb")) == NULL)
  27. {
  28. puts("\n Create ERROR!");
  29. //return;
  30. }
  31. fclose(Fz);
  32. printf("\n Create New File %s !\n", File_Zap);
  33. break;
  34. case 2:
  35. Fz = fopen(File_Zap, "ab");
  36. printf("\n F.I.O. - ");
  37. fflush(stdin);
  38. gets(Zap.FIO);
  39. printf(" God rozdeniya - ");
  40. fflush(stdin);
  41. scanf("%lf", &Zap.god);
  42. printf(" Nomer gruppi - ");
  43. scanf("%lf", &Zap.gr);
  44. printf(" Fizika - ");
  45. scanf("%lf", &Zap.fiz);
  46. printf(" Matematika - ");
  47. scanf("%lf", &Zap.mat);
  48. printf(" Informatika - ");
  49. scanf("%lf", &Zap.inf);
  50. printf(" Xumuya - ");
  51. scanf("%lf", &Zap.xum);
  52. Zap.s_b = (Zap.fiz + Zap.mat + Zap.inf + Zap.xum) / 4;
  53. fwrite(&Zap, size, 1, Fz);
  54. fclose(Fz);
  55. break;
  56. case 3:
  57. if ((Fz = fopen(File_Zap, "rb")) == NULL)
  58. {
  59. puts("\n Open ERROR!");
  60. //return;
  61. }
  62. //
  63. printf("\n\t —-----------------— Informations —-------------------\n");
  64. printf("\n\t FIO , god ,nomer gr, fiz , mat , inf , xum ,sredball\n");
  65. //
  66. fprintf(Ft, "\n\t —-----------------— Informations —-------------------");
  67. while (1)
  68. {
  69. if (!fread(&Zap, size, 1, Fz)) break;
  70. Out(Zap);
  71. }
  72. fclose(Fz);
  73. break;
  74. case 4:
  75. Fz = fopen(File_Zap, "rb");
  76. D_f = fileno(Fz);
  77. len = filelength(D_f);
  78. kol = len / size;
  79. mas_Z = new TZap[kol];
  80. //
  81. for (i = 0; i < kol; i++)
  82. fread((mas_Z + i), size, 1, Fz);
  83. fclose(Fz);
  84. printf("\n\t---— S O R T —---\n");
  85. fprintf(Ft, "\n\t---— S O R T —---\n");
  86. for (i = 0; i < kol - 1; i++)
  87. if ((mas_Z[i].FIO[0] == 'В') && (mas_Z[i].FIO[0] == 'Г') && (mas_Z[i].FIO[0] == 'Д')) //&& ((mas_Z[i].mat == 8) || (mas_Z[i].mat == 9))) //888
  88. {
  89. }
  90. for (i = 0; i < kol; i++)
  91. Out(mas_Z[i]);
  92. delete[]mas_Z;
  93. break;
  94. case 0:
  95. fclose(Ft); //888
  96. //return;
  97. }
  98.  
  99. }
  100. }
  101.  
  102. void Out(TZap z)
  103. {
  104. printf("\n %20s , %6.0lf , %6.0lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf",
  105. z.FIO, z.god, z.gr, z.fiz, z.mat, z.inf, z.xum, z.s_b);
  106. fprintf(Ft, "\n %20s , %6.0lf , %6.0lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf",
  107. z.FIO, z.god, z.gr, z.fiz, z.mat, z.inf, z.xum, z.s_b);
  108. }

Qwerty_Wasd

, Спасибо! Скажите, вот хочу что бы он мне выводил данные, фамилии которых начинается на букву В, Г, Д. Он не показывает, подскажете почему?
Листинг программы
  1. #include <stdio.h>
  2. #include <io.h>
  3. #include <conio.h>
  4. #include <iostream>
  5. struct TZap {
  6. char FIO[30];
  7. double s_b, mat, xum, inf, fiz, gr, god;
  8. } Zap;
  9. int size = sizeof(TZap);
  10. FILE *Fz, *Ft;
  11. char File_Zap[] = "zapisi.dat";
  12. char File_Rez[] = "rezult.txt";
  13. void Out(TZap);
  14. int main()
  15. {
  16. int kod, D_f, i = 0, j, kol;
  17. double s_b, mat, xum, inf, fiz, gr, god;
  18. long len;
  19. TZap st, *mas_Z;
  20. Ft = fopen(File_Rez, "w");
  21. while (true) {
  22. puts("\n Create - 1\n Add - 2\n View - 3\n Sort - 4\n EXIT - 0");
  23. scanf("%d", &kod);
  24. switch (kod) {
  25. case 1:
  26. if ((Fz = fopen(File_Zap, "wb")) == NULL)
  27. {
  28. puts("\n Create ERROR!");
  29. //return;
  30. }
  31. fclose(Fz);
  32. printf("\n Create New File %s !\n", File_Zap);
  33. break;
  34. case 2:
  35. Fz = fopen(File_Zap, "ab");
  36. printf("\n F.I.O. - ");
  37. fflush(stdin);
  38. gets(Zap.FIO);
  39. printf(" God rozdeniya - ");
  40. fflush(stdin);
  41. scanf("%lf", &Zap.god);
  42. printf(" Nomer gruppi - ");
  43. scanf("%lf", &Zap.gr);
  44. printf(" Fizika - ");
  45. scanf("%lf", &Zap.fiz);
  46. printf(" Matematika - ");
  47. scanf("%lf", &Zap.mat);
  48. printf(" Informatika - ");
  49. scanf("%lf", &Zap.inf);
  50. printf(" Xumuya - ");
  51. scanf("%lf", &Zap.xum);
  52. Zap.s_b = (Zap.fiz + Zap.mat + Zap.inf + Zap.xum) / 4;
  53. fwrite(&Zap, size, 1, Fz);
  54. fclose(Fz);
  55. break;
  56. case 3:
  57. if ((Fz = fopen(File_Zap, "rb")) == NULL)
  58. {
  59. puts("\n Open ERROR!");
  60. //return;
  61. }
  62. //
  63. printf("\n\t —-----------------— Informations —-------------------\n");
  64. printf("\n\t FIO , god ,nomer gr, fiz , mat , inf , xum ,sredball\n");
  65. //
  66. fprintf(Ft, "\n\t —-----------------— Informations —-------------------");
  67. while (1)
  68. {
  69. if (!fread(&Zap, size, 1, Fz)) break;
  70. Out(Zap);
  71. }
  72. fclose(Fz);
  73. break;
  74. case 4:
  75. Fz = fopen(File_Zap, "rb");
  76. D_f = fileno(Fz);
  77. len = filelength(D_f);
  78. kol = len / size;
  79. mas_Z = new TZap[kol];
  80. //
  81. for (i = 0; i < kol; i++)
  82. fread((mas_Z + i), size, 1, Fz);
  83. fclose(Fz);
  84. printf("\n\t---— S O R T —---\n");
  85. fprintf(Ft, "\n\t---— S O R T —---\n");
  86. for (i = 0; i < kol - 1; i++)
  87. if ((mas_Z[i].FIO[0] == 'В') && (mas_Z[i].FIO[0] == 'Г') && (mas_Z[i].FIO[0] == 'Д')) //&& ((mas_Z[i].mat == 8) || (mas_Z[i].mat == 9))) //888
  88. {
  89. }
  90. for (i = 0; i < kol; i++)
  91. Out(mas_Z[i]);
  92. delete[]mas_Z;
  93. break;
  94. case 0:
  95. fclose(Ft); //888
  96. //return;
  97. }
  98.  
  99. }
  100. }
  101.  
  102. void Out(TZap z)
  103. {
  104. printf("\n %20s , %6.0lf , %6.0lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf",
  105. z.FIO, z.god, z.gr, z.fiz, z.mat, z.inf, z.xum, z.s_b);
  106. fprintf(Ft, "\n %20s , %6.0lf , %6.0lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf",
  107. z.FIO, z.god, z.gr, z.fiz, z.mat, z.inf, z.xum, z.s_b);
  108. }

Решение задачи: «Вывести фамилии, начинающиеся на буквы В, Г, Д»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <io.h>
  3. #include <conio.h>
  4. #include <iostream>
  5. struct TZap {
  6. char FIO[30];
  7.  
  8. double s_b, mat, xum, inf, fiz, gr, god;
  9. } Zap;
  10. int size = sizeof(TZap);
  11. FILE *Fz, *Ft;
  12. char File_Zap[] = "zapisi.dat";
  13. char File_Rez[] = "rezult.txt";
  14. void Out(TZap);
  15.  
  16. int main()
  17. {
  18. int kod, D_f, i = 0, kol;
  19. long len;
  20. TZap *mas_Z;
  21. Ft = fopen(File_Rez, "w");
  22. while (true) {
  23. puts("\n Create - 1\n Add - 2\n View - 3\n Sort - 4\n Show - 5\n EXIT - 0");
  24. scanf("%d", &kod);
  25. switch (kod) {
  26. case 1:
  27. if ((Fz = fopen(File_Zap, "wb")) == NULL)
  28. {
  29. puts("\n Create ERROR!");
  30. return 0;
  31. }
  32. fclose(Fz);
  33. printf("\n Create New File %s !\n", File_Zap);
  34. break;
  35. case 2:
  36. Fz = fopen(File_Zap, "ab");
  37. printf("\n F.I.O. - ");
  38. fflush(stdin);
  39. gets(Zap.FIO);
  40. printf(" God rozdeniya - ");
  41. fflush(stdin);
  42. scanf("%lf", &Zap.god);
  43. printf(" Nomer gruppi - ");
  44. scanf("%lf", &Zap.gr);
  45. printf(" Fizika - ");
  46. scanf("%lf", &Zap.fiz);
  47. printf(" Matematika - ");
  48. scanf("%lf", &Zap.mat);
  49. printf(" Informatika - ");
  50. scanf("%lf", &Zap.inf);
  51. printf(" Xumuya - ");
  52. scanf("%lf", &Zap.xum);
  53.  
  54. Zap.s_b = (Zap.fiz + Zap.mat + Zap.inf + Zap.xum) / 4;
  55.  
  56. fwrite(&Zap, size, 1, Fz);
  57. fclose(Fz);
  58. break;
  59. case 3:
  60. if ((Fz = fopen(File_Zap, "rb")) == NULL)
  61. {
  62. puts("\n Open ERROR!");
  63. return 0;
  64. }
  65. //
  66. printf("\n\t —-----------------— Informations —-------------------\n");
  67. printf("\n\t FIO , god ,nomer gr, fiz , mat , inf , xum ,sredball\n");
  68. //
  69. fprintf(Ft, "\n\t —-----------------— Informations —-------------------");
  70. while (1)
  71. {
  72. if (!fread(&Zap, size, 1, Fz)) break;
  73. Out(Zap);
  74. }
  75. fclose(Fz);
  76. break;
  77. case 4:
  78. Fz = fopen(File_Zap, "rb");
  79. D_f = fileno(Fz);
  80. len = filelength(D_f);
  81. kol = len / size;
  82. mas_Z = new TZap[kol];
  83. //
  84. for (i = 0; i < kol; i++)
  85. fread((mas_Z + i), size, 1, Fz);
  86. fclose(Fz);
  87. printf("\n\t---— S O R T —---\n");
  88. fprintf(Ft, "\n\t---— S O R T —---\n");
  89. for (i = 0; i < kol - 1; i++)
  90. if ((mas_Z[i].FIO[0] == 'A') && ((mas_Z[i].mat == 8) || (mas_Z[i].mat == 9)))
  91. {
  92. }
  93. for (i = 0; i < kol; i++)
  94. Out(mas_Z[i]);
  95.  
  96. delete[]mas_Z;
  97. break;
  98. //---------------------------------------------
  99. case 5:
  100. if ((Fz = fopen(File_Zap, "rb")) == NULL){puts("\n Open ERROR!");return 0;}
  101. printf("\n\t —-----------------— Informations —-------------------\n");
  102. printf("\n\t FIO , god ,nomer gr, fiz , mat , inf , xum ,sredball\n");
  103. fprintf(Ft, "\n\t —-----------------— Informations —-------------------");
  104. while (1)
  105. {
  106. if (!fread(&Zap, size, 1, Fz)) break;
  107. if ((Zap.FIO[0] == 'V') || (Zap.FIO[0] == 'G') || (Zap.FIO[0] == 'D')) Out(Zap);
  108. }
  109. fclose(Fz);
  110. break;
  111.  
  112. case 0:
  113. fclose(Ft);
  114. return 0;
  115. }
  116.  
  117.  
  118. }
  119. }
  120.  
  121.  
  122. void Out(TZap z)
  123. {
  124. printf("\n %20s , %6.0lf , %6.0lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf",
  125. z.FIO, z.god, z.gr, z.fiz, z.mat, z.inf, z.xum, z.s_b);
  126. fprintf(Ft, "\n %20s , %6.0lf , %6.0lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf , %6.3lf",
  127. z.FIO, z.god, z.gr, z.fiz, z.mat, z.inf, z.xum, z.s_b);
  128. }

Объяснение кода листинга программы

В этом коде представлена программа, которая позволяет пользователю взаимодействовать с базой данных. Пользователь может создавать новые записи, просматривать существующие записи, добавлять новые записи, сортировать записи и выходить из программы. Список действий, которые выполняет программа:

  1. Создание нового файла для хранения данных.
  2. Добавление новой записи в базу данных.
  3. Просмотр информации о записи, хранящейся в базе данных.
  4. Сортировка записей в базе данных.
  5. Просмотр записей, начинающихся на буквы 'V', 'G' или 'D'.
  6. Закрытие программы. Переменные, используемые в коде:
    • size - размер структуры TZap.
    • Ft - указатель на файл, в который выводятся результаты.
    • File_Zap - имя файла, в котором хранятся данные.
    • File_Rez - имя файла, в который выводятся результаты.
    • Fz - указатель на файл, из которого считываются данные.
    • kol - количество записей в базе данных.
    • mas_Z - массив структур TZap, используемый для хранения отсортированных записей.
    • i - счетчик, используемый для итерации по массиву mas_Z. В функции Out выводится информация о записи на экран и в файл Ft.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы