0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 10
1

Вывести средний балл каждого студента и общий средний балл группы

24.04.2015, 12:28. Показов 3508. Ответов 1
Метки нет (Все метки)

Здравствуйте. Помогите понять, в чем ошибка. Программа не выводит нормально средний бал каждого студента по трем предметам и общий средний бал группы.
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <stdlib.h>
#include <iostream.h>
/*STRUCTURE*/
struct Shop
{
 char Name[30];
 int Number;
 int exam[5];
 char Work[5];
 char Study[3];
 double Sr_ball;
 float Sr;
};
 
void ShowData(Shop *M,int N)
{
 system("CLS");
double h;
double *avg=new double[N];
 cout<<"Name         | Number|      exam |      Work |      Study|  Sr_ball"<<"\n";
 for (int i=0;i<N;i++)
  {
   cout<<M[i].Name;
   cout<<"     |";
   cout<<M[i].Number;
        cout<<"      |";
   cout<<M[i].exam[0]<<" "<<M[i].exam[1]<<" "<<M[i].exam[2]<<" "<<M[i].exam[3]<<" "<<M[i].exam[4];
            cout<<"  |";
   cout<<M[i].Work;
                   cout<<"        | ";
   cout<<M[i].Study<<"   |  ";
 
   for (int i=0; i<5; i++)
   {  h=0.;
      avg[i]=0;
   for (int t=0; t<5; t++)
   {
 
   h+=M[i].exam[t];
   avg[i]=h/5;
   }
      cout<<avg[i];
   }
   cout<<"\n";
   }
 
  for (int l=0; l<N; l++)
  {
  if ((avg[l]>=2) && (avg[l]>=2)  && (avg[l]<3))
  cout<<"Imeut 2 po examenam: "<<M[i].Name<<" ";
  if ((avg[l]>=3) && (avg[l]<4))
  cout<<"\n Imeut 3 po examenam: "<<M[i].Name<<" ";
 // else cout<<"-";
  if ((avg[l]>=4) && (avg[l]<5))
  cout<<"\n Imeut 4 po examenam: "<<M[i].Name<<" ";
  if (avg[l]>=5)
  cout<<"\nImeut 5 po examenam: "<<M[i].Name<<" ";
   }
 
   cout<<"\n";
  double SR=0;
  int k=0;
  for(int j=0;j<N;j++)
  {
  k+=avg[j];
 SR= avg[j]/N;
  }
  cout<<"Srednii ball gruppi: "<<SR<<"\n";
 
 }
 
 
/*Zanisit dannie v structure*/
void GetData(Shop *M,int N)
{
 cin.ignore();
 for (int i=0;i<N;i++)
  {
   cout<<"n";
   cout<<"Name: ";cin.getline(M[i].Name,30);
   cout<<"Number:  ";   cin>>M[i].Number;
   cin.ignore();
   cout<<"exam: ";
   cin>>M[i].exam[0];cin.ignore();
   cin>>M[i].exam[1];cin.ignore();
   cin>>M[i].exam[2];cin.ignore();
   cin>>M[i].exam[3];cin.ignore();
   cin>>M[i].exam[4];cin.ignore();
   cout<<"Work: ";cin.getline(M[i].Work,5);
   cout<<"Study: ";cin.getline(M[i].Study,5);
 
}
}
 
 
void main()
{
 system("CLS");
    int N; cout<<"Enter  N: ";cin>>N;
    Shop *M=new Shop[N]; //Динамическое выделение памяти под N структур
       GetData(M,N); //Занесение данных в структуры
       ShowData(M,N);
    delete []M; //Освобождение памяти
 system("PAUSE");
 }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2015, 12:28
Ответы с готовыми решениями:

Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл (объединение (union))
Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Вычислить средний...

Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл
Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл.

Рассчитать и вывести на экран средний балл для каждого студента и общий по группе
Написать программу, которая запрашивает ввод с клавиатуры оценок группы студентов, количество...

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

1
2055 / 1589 / 677
Регистрация: 27.07.2012
Сообщений: 4,763
24.04.2015, 12:31 2
C++
1
2
3
4
5
for (int t=0; t<5; t++)
{
    h+=M[i].exam[t];
}
avg[i]=h/5; // <-- среднее считаем после подсчёта суммы, а не в цикле
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2015, 12:31
Помогаю со студенческими работами здесь

Посчитать средний бал группы и вывести список студентов, у которых средний балл выше среднего балла группы
Составить список студентов, в который входит 5 человек. Для каждого студента ввести фамилию, год...

Вывести оценки каждого студента и средний балл используя четырехбайтную структуру
трехзначное число не поместится в 4 бита, и для оценки 4-битное число со знаком не лучший вариант....

7.Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Если средний балл 4 и выше, то указать размер стипендии. Если средний
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;clocale&gt; int main() { ...

Определите средний балл каждого студента по всем предметам
Определите средний балл каждого студента по всем предметам. Выведите три действительных числа:...

Структура Студент, определить средний балл каждого студента
Добрый вечер помогите решить задачу Определить структуру «студент», поля структуры: ФИО, массив...

Вычислить средний балл в каждой группе студентов и определить, какая группа имеет наибольший средний балл
две группы студентов (1-ая -13 человек, 2-ая - 8 человек) сдают экзамен по информатике. Написать...


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

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

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