Сортировка структуры в алфавитном порядке - неудача при выводе результатов - C (СИ)
Формулировка задачи:
Здравствуйте!
Спасите блондинку
Помогите пожалуйста найти ошибку в программе
Суть задачи: создать структуру данных, которая включает:
1) Ф.И.О. абитуриентов, 2) Пол 3) Специальность 4) Оценки по 3-м вступительным экзаменам
И все это дело нужно вывести на экран в алфавитном порядке (сортировка по Ф.И.О.)
Вот что попробовала написать:
В результате, вместо необходимой структуры из 5-ти абитуриентов, в качестве результатов выводятся 5 четырехзначных чисел
Например:
1433 1454 1475 1496 1517
ЧТо делать - ума не приложу
#include<stdio.h> #include<string.h> #include<conio.h> #define N 5 /* Создаём структуру, которая включает сведения о фамилии, поле, специальности и экзаменационных оценках абитуриента*/ struct ABITURIENT { char NAME[N]; char GENDER[N]; char SPEC[N]; int EXAM[3]; } ABIT[N]; /*Ввод данных о каждом абитуриенте*/ void vvod() { int i, m; for (i=0; i<N; i++) { printf("Vvedite dannye %d-go abiturienta\n", i+1); printf("Familia i inicialy: "); scanf("%s", ABIT[N].NAME); printf("Pol: "); scanf("%s", ABIT[N].GENDER); printf("Specialnost: "); scanf("%s", ABIT[N].SPEC); for (m=0; m<3; m++) { /*Экзаменациооные оценки в виде массива из 3-х значений*/ printf("Ocenka za %d-j ekzamen\n", m+1); scanf("%d", ABIT[N].EXAM); } } } /*Сортировка методом пузырька в алфавитном порядке*/ void sort() { int j,k; ABITURIENT p; for(j=0; j<N-1; j++){ for(k=j+1; k<N; k++){ if(strcmpi(ABIT[j].NAME,ABIT[k].NAME)>0){ p=ABIT[j]; ABIT[j]=ABIT[k]; ABIT[k]=p; } } } } void main() { clrscr(); vvod(); sort(); /*Попытка вывести отсортированные результаты на экран, закончившаяся неудачей:(((*/ int z; for (z=0; z<N; z++){ printf("%s %s %s %d",ABIT[z].NAME,ABIT[z].GENDER,ABIT[z].SPEC,ABIT[z].EXAM);} getch(); }
Решение задачи: «Сортировка структуры в алфавитном порядке - неудача при выводе результатов»
textual
Листинг программы
scanf("%d", &ABIT[i].EXAM[m]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д