Сортировка структуры в алфавитном порядке - неудача при выводе результатов - C (СИ)

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

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

Здравствуйте! Спасите блондинку Помогите пожалуйста найти ошибку в программе Суть задачи: создать структуру данных, которая включает: 1) Ф.И.О. абитуриентов, 2) Пол 3) Специальность 4) Оценки по 3-м вступительным экзаменам И все это дело нужно вывести на экран в алфавитном порядке (сортировка по Ф.И.О.) Вот что попробовала написать:
Листинг программы
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<conio.h>
  4. #define N 5
  5. /* Создаём структуру, которая включает сведения о фамилии, поле, специальности и экзаменационных оценках абитуриента*/
  6. struct ABITURIENT
  7. {
  8. char NAME[N];
  9. char GENDER[N];
  10. char SPEC[N];
  11. int EXAM[3];
  12. }
  13. ABIT[N];
  14. /*Ввод данных о каждом абитуриенте*/
  15. void vvod()
  16. {
  17. int i, m;
  18. for (i=0; i<N; i++)
  19. {
  20. printf("Vvedite dannye %d-go abiturienta\n", i+1);
  21. printf("Familia i inicialy: ");
  22. scanf("%s", ABIT[N].NAME);
  23. printf("Pol: ");
  24. scanf("%s", ABIT[N].GENDER);
  25. printf("Specialnost: ");
  26. scanf("%s", ABIT[N].SPEC);
  27. for (m=0; m<3; m++) { /*Экзаменациооные оценки в виде массива из 3-х значений*/
  28. printf("Ocenka za %d-j ekzamen\n", m+1);
  29. scanf("%d", ABIT[N].EXAM); }
  30. }
  31. }
  32. /*Сортировка методом пузырька в алфавитном порядке*/
  33. void sort()
  34. {
  35. int j,k;
  36. ABITURIENT p;
  37. for(j=0; j<N-1; j++){
  38. for(k=j+1; k<N; k++){
  39. if(strcmpi(ABIT[j].NAME,ABIT[k].NAME)>0){
  40. p=ABIT[j];
  41. ABIT[j]=ABIT[k];
  42. ABIT[k]=p;
  43. }
  44. }
  45. }
  46. }
  47. void main()
  48. {
  49. clrscr();
  50. vvod();
  51. sort();
  52. /*Попытка вывести отсортированные результаты на экран, закончившаяся неудачей:(((*/
  53. int z;
  54. for (z=0; z<N; z++){
  55. printf("%s %s %s %d",ABIT[z].NAME,ABIT[z].GENDER,ABIT[z].SPEC,ABIT[z].EXAM);}
  56. getch();
  57. }
В результате, вместо необходимой структуры из 5-ти абитуриентов, в качестве результатов выводятся 5 четырехзначных чисел Например: 1433 1454 1475 1496 1517 ЧТо делать - ума не приложу

Решение задачи: «Сортировка структуры в алфавитном порядке - неудача при выводе результатов»

textual
Листинг программы
  1. scanf("%d", &ABIT[i].EXAM[m]);

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


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

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

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

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

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

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