10.11.2012, 23:11. Просмотров 556. Ответов 2
При выполнении программы: для первого элемента массива stud1 структуры student всё проходит нормально, все последующие итерации пропускают элемент структуры name. Предполагаю, что где-то хватается конец строки, не могу понять где...

23 строка, возможно что-то там, но никак не разберусь!
Код
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
| // подключаем необходимые библиотеки
#include <iostream> // библиотека "ввода-вывода"
#include <windows.h> // библиотека для включения русского языка
using namespace std; // указываем используемое пространство имен
struct student // объявляем структуру с тремя элементами
{
char name [30]; // элемент 1: строка на 256 символов
char group [10]; // элемент 2: строка на 10 символов
int ses [5]; // элемент 3: массив из 5 элементов
};
int main ()
{
student stud1[3]; // объявляем элемент с типом данных созданной структуры
SetConsoleCP(1251); // подключаем русский язык в консоли
SetConsoleOutputCP(1251); // подключаем русский язык для вывода в консоли
for (int i=0; i<3; i++)
{
cout << "Введите данные студента № " << i+1 << endl;
cout << "Введите фамилию и инициалы студента: "; // приглашение ввести имя и инициалы студента
cin.getline(stud1[i].name, 30); // ввод данных в строку name структуры student, массив stud1
cout << "Введите номер группы: "; // приглашение ввести номер группы
cin.getline(stud1[i].group, 10); // ввод данных в строку group структуры student, массив stud1
cout << "Введите успешность студента, 5 оценок по предметам: " << endl; // приглашение ввести успешность
for (int j=0; j<5; j++) // цикл для заполнения массива ses структура student, массив stud1
cin >> stud1[i].ses[j]; // заполняем массив ses
}
for (int i=0; i<3; i++)
{
cout << "\n\nДанные студента №" << i+1 << endl; // вывод сообщения на экран
cout << "ФИО: " << stud1[i].name << endl; // вывод ФИО студента из строки name структуры student, массив stud1
cout << "Группа: " << stud1[i].group << endl; // вывод группы студента из строки group структуры student, массив stud1
cout << "Успешность: "; // вывод успешности студента
for (int j=0; j<5; j++) // через цикл
cout << stud1[i].ses[j] << " "; // выводиться массив ses структуры student, массив stud1
}
cout << endl; // вывод конца строки
return 0; // в случае успешного выполнения программы функция возврашает 0
} |
|