Форум программистов, компьютерный форум CyberForum.ru

Вывести список студентов с их оценками за разные предметы, со средним баллом студента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Скалярное произведение двух массивов http://www.cyberforum.ru/cpp-beginners/thread420863.html
не могли бы подсказать, что в коде программы надо дописать, вышло только просто произведение #include <iostream> #include <stdlib.h> using namespace std; void mas_in(int* a, int size) { for(int i = 0; i < size; ++i) cin >> a; } void mas_out(int* a, int size)
C++ слова using, std зачем нужны эти слова (using)? что эти выражения значат? #include <iostream> using std::cin; using std::cout; using std::endl; и зачем использовать перед cout std в следующем коде? std::cout << std::endl; http://www.cyberforum.ru/cpp-beginners/thread420854.html
первод массива char в массив int ( в чем ошибка?????) C++
не могу понять почему не работает функция void StrToIntMass (int element, char buffer) { int k = 0,j = 0; char temperary; for(int i = 0; i <= strlen(buffer); i++) { while(isdigit(buffer) != 0) {
C++ Ошибки при использовании конструкции if-else.
Всех с наступающим! Ребята, подскажите в чем ошибка?
C++ Найти сумму и количество отрицательных значений функции http://www.cyberforum.ru/cpp-beginners/thread420796.html
Даны матрицы: С4*4. Найти сумма и количество отрицательных значений функции: F=i-y*c Пожалуйста помогите Всех с наступающим Новым Годом =)))
C++ Напечатать предложение после удаления средней буквы для слов неточной длины Напечатать предложение после удаления средней буквы для слов неточной длины. Помогите, буду очень признательна :) Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят. Избегайте грамматических ошибок при написании сообщений - уважайте себя и других участников форума. подробнее

Показать сообщение отдельно
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
30.12.2011, 20:21     Вывести список студентов с их оценками за разные предметы, со средним баллом студента
Myaukolovo, написал, вроде всё правильно, но где то ошибка, не могу её найти. Программа вылетает, на одном и том же месте, я не понимаю почему. Код:
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include <iostream.h>
#include <conio.h>
 
const int subjCount = 3;  //Сколько предметов у каждого студента
 
struct Student
{
   Student();
 
   float getAverage();
 
   void setFamily(const char *);
   void setName(const char *);
 
   const char * getFamily() {return family;}
   const char * getName() {return name;}
 
   void print();
 
   char family[30];
   char name[30];
 
   int subjCount;
   int marks[30];
};
 
Student::Student()
{
   for (int i = 0; i < 30; i++)
      marks[i] = 0;
}
 
void Student::print()
   {
      cout << "Family = " << getFamily() << "\nName = " << getName() << endl;
      cout << "Marks = ";
      for (int i = 0; i < subjCount; i++)
     cout << marks[i] << " ";
      cout << "Average mark = " << getAverage() << endl;
   };
 
float Student::getAverage()             //Count - number of subjects
{
   float sum = 0;
 
   for (int i = 0; i < subjCount; i++)
      sum += marks[i];
 
   return ((float)(sum/subjCount));
}
 
void editStudentInfo(Student &st)
{
   char buf[30];
   cout << "Family = ";
   cin >> buf;
   for (int i = 0; buf[i]; i++)
      st.family[i] = buf[i];
   st.family[i] = '\0';
 
   char buf2[30];
 
   cout << "Name = ";
   cin >> buf2;
 
 
   for (i = 0; buf2[i]; i++)
      st.name[i] = buf2[i];
   st.name[i] = '\0';
 
   cout << "Marks(" << subjCount << ") = ";
   for (i = 0; i < subjCount; i++)
      cin >> st.marks[i];
}
 
int main ()
{
   clrscr();
 
   Student st[30];
 
   cout << "Enter option:" << endl;
   cout << "Add student 1" << endl;
   cout << "Print student's info 2" << endl;
   cout << "Print all students info 3" << endl;
   cout << "Go out (0)" << endl;
 
   int n;
   int quantity = 0;
 
   cout << "Enter the number of the operation: ";
   cin >> n;
 
   while(n > 0)
   {
 
      switch(n)
      {
     case 1:
     {
        editStudentInfo(st[quantity]);
        quantity++;
     }
     break;
     case 2:
     {
        int x;
        cout << "Enter the number of the student you want to get info about: ";
        cin >> x;
        if ((x-1) < quantity)
           st[x-1].print();
        else
           cout << "This student doesnt exist!" << endl << endl;
     }
     break;
     case 3:
     for (int i = 0; i < quantity; i++)
     {
        cout << "Info about student No_" << i << ":" << endl;
        st[i].print();
        cout << endl;
     }
     break;
     default:
        cout << "End." << endl;
 
      }
      if(n > 3 || n <= 0)
       n = 0;
      else
      {
     cout << "Enter the number of the operation: ";
     cin >> n;
     cout << endl;
      }
   }
 
 
 
 
   getch();
 
   clrscr();
 
   return 0;
}
 
Текущее время: 07:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru