|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.04.2009, 16:50 | #1 |
Пользователь
Регистрация: 18.02.2009
Сообщений: 13
|
Исправить структуру на С.
Нужно исправить задачку, писал не сам, пытался исправить под себя и запутался, помогите пожалуйста привести в рабочее состояние(Задача на Си).
Условие: 1. Описать структуру с именем STUDENT, содержащую следующие поля: • фамилия и инициалы; • номер группы; • успеваемость (массив из пяти элементов). 2. Написать программу, выполняющую следующие действия: • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы; • вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0; • если таких студентов пет, вывести соответствующее сообщение. Код: #include <conio.h> #include <math.h> #include <stdlib.h> using namespace std; int i,j,k,N[10]; struct Student { char name[15]; int group; int ocenki[5]; }; Student array[10],x; main() { for(i=0;i<10;i++) { printf ("\n\nEnter the student name... "); scanf ("%s",&array[i].name); printf ("\n\nEnter the number of his group... "); scanf ("%d",&array[i].group); for(j = 0; j < 5; j++) { printf ("\n\nEnter the %d mark... ",j+1); scanf ("%d",&array[i].ocenki[j]); for(;array[i].ocenki[j] > 5 || array[i].ocenki[j] <2 { printf ("\n\nEnter the %d mark... ",j+1); scanf ("%d", &array[i].ocenki[j]); } } } for(i = 0; i < 10; i++) { N[i]=0; for(j = 0; j < 5; j++) N[i]+= array[i].ocenki[j]; } printf ("\n\nStudents"); printf ("\n\n Name group marks\n\n"); for(i=0;i<10;i++) { for(j=i;j<10;j++) { if((array[i].group)>(array[j].group)) { x=array[i]; array[i]=array[j]; array[j]=x; } } printf ("%20s %5d ",array[i].name, array[i].group ); } int r; float s,m; printf ( " Spisok ocenok.\n"); for(i=0;i<10;i++) { m=0; s=0; for(j=0;j<5;j++) / { s=s+array[i].ocenki[j]; } m=s/5; if(m>4.0) { r = r+1; printf ( "\n Srednyi ball bolshe '4' u studenta: " , array[i].name , array[i].group ,"\n"); } } if(r==0) printf ( "\n\n Net studentov, nabravshih srednyi ball bol'she '4'.\n\n"); printf ( "Press any key...\n"); getch(); } |
28.04.2009, 17:22 | #2 |
Пользователь
Регистрация: 06.11.2007
Сообщений: 47
|
Попробуй так, сам не проверял, но вроде должно работать...
Код:
|
28.04.2009, 18:37 | #3 |
Пользователь
Регистрация: 18.02.2009
Сообщений: 13
|
Запускаться запускается, но не выводит вообще "Srednyi ball bolshe '4' u studenta:", и не в столбец выводит "Name group marks".
|
29.04.2009, 15:24 | #4 |
Пользователь
Регистрация: 06.11.2007
Сообщений: 47
|
Ну значит так =)
Код:
|
29.04.2009, 16:39 | #5 |
Пользователь
Регистрация: 18.02.2009
Сообщений: 13
|
Вот теперь работает, спасибо большое...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Описать структуру содержащую поля | LuenFen | Общие вопросы C/C++ | 1 | 16.04.2009 23:00 |
[C++|Builder] Задача на структуру данных | conqueror | Помощь студентам | 3 | 17.01.2009 14:25 |
Отсортировать с помощью STL структуру | Иллидан | Общие вопросы C/C++ | 2 | 12.11.2008 17:19 |
TCategoryButtons создать структуру ? | Родион | Компоненты Delphi | 2 | 07.05.2008 16:41 |