Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 14
1

Массив структур содержит информацию о студентах группы

25.12.2012, 12:30. Показов 4705. Ответов 2
Метки нет (Все метки)

/*Массив структур содержит информацию о студентах группы: в первом поле стоит фамилия, во втором -возраст,
в последующих - экзаменационные оценки и т.д. (i-й элемент массива описывает i-го студента).
Написать функции, которые выясняют, кто в группе:
а) отличники,
б) не сдал сессию.*/

я ввожу данные студента, оценку 5, а оно мне выдаёт не сдал сессию...Подскажите как сделать правильнее??))


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*Массив структур содержит информацию о студентах группы: в первом поле стоит фамилия, во втором -возраст,
 в последующих - экзаменационные оценки и т.д. (i-й элемент массива описывает i-го студента).
Написать функции, которые выясняют, кто в группе:
а) отличники,
б) не сдал сессию.*/
# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <malloc.h>
# include <string.h>
# define N 2
int main()
{
struct student 
{
       char name[40];
       int god;
       char predmet[40];
       int grade;
       } ST[N];
       int i,n;
       printf("Kolichestvo studentov -\n ");
       scanf("%d", &n); 
       getchar();
       puts ("Dannie o studente\n");
       for(i=0; i<n; i++)
       {
                printf("\n%2d.Familia, imia:\n ", i+1);
                gets(ST[i].name);
                printf("God Rojdenia:\n ");
                scanf("%ld", &ST[i].god);
                printf("predmet:\n ");
                gets(ST[i].predmet);
                printf("grade:\n");
                scanf("%d",&ST[i].grade);
       }
       for(i=0;i<n;i++)
       {
       if(ST[i].grade==5)
       {
       puts("Otlichnik");
       }
          else if(ST[i].grade<5)
          puts("ne sdal sessiy");
          i++;
}
getch();
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2012, 12:30
Ответы с готовыми решениями:

Вывести на экран информацию о неуспевающих студентах (массив структур "Student")
Ребят, очень нужна помощь, долблюсь уже с прогой неделю, не хочет выводить успевающих и...

Описать массив записей, который содержит в себе информацию о студентах
Описать массив записей, который содержит в себе информацию про каждого студента вашей...

Тема: Структуры. Условие: сделать массив структур, который содержит следующею информацию
В радиоателье сохраняются квитанции о заданной в ремонт аппаратуре. Каждая квитанция содержит такую...

Ввести информацию о 10 студентах группы
Ввести информацию о 10 студентах группы. Информация содержит фамилию, имя, отчество студента, год...

2
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 3
28.12.2012, 18:03 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <malloc.h>
# include <string.h>
# define N 2
int main()
{
struct student 
{
       char name[40];
       int god;
       
       int grade;
       } ST[N];
       int i,n;
       printf("Kolichestvo studentov -\n ");
       scanf("%d", &n); 
       getchar();
       puts ("Dannie o studente\n");
       for(i=0; i<n; i++)
       {
                printf("\n%2d.Familia, imia:\n ", i+1);
                gets(ST[i].name);
                getchar ();
                printf("God Rojdenia:\n ");
                scanf("%ld", &ST[i].god);
                
                
       
                printf("grade:\n");
                scanf("%d",&ST[i].grade);
                getchar ();
                }
       for(i=0;i<n;i++)
       {
       if(ST[i].grade>3)
       
       printf ("\n Sdal sessiy :%s\n", ST[i].name);
          else 
          printf("\n ne sdal sessiy: %s",ST[i].name);
          
}
getch();
return 0;
}
0
40 / 40 / 32
Регистрация: 24.11.2012
Сообщений: 200
28.12.2012, 20:01 3
я что-то неправильно понял, или вы обращаетесь в цикле к i-тому элементу массива структур, в то время как в массиве всего 2 структуры? выход за пределы массива, нет?(теоретически конечно, но все-таки 2 достаточно маленькое число и при вводе 3 EAcessViolation обеспечен)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2012, 20:01

Создать БД, которая содержит информацию о студентах
В общем нужно сделать программу-БД, которая содержит фамилию студента, год рождения, адрес, и...

Ввести из файла информацию о K студентах группы
Информация содержит ФИО студента, год рождения, четыре оценки за экзамены последней сессии....

Напечатать таблицу, содержащую информацию о студентах группы
Задание: напечатать таблицу , содержащую номера , фамилии , оценки и средний балл студентов группы...

Описать структуру студенты, содержащую информацию о студентах группы
Описать структуру студенты, содержащую информацию о студентах группы: фамилия, имя, отчество, год...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru