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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
-ДоМоВоЙ-
119 / 118 / 46
Регистрация: 19.01.2016
Сообщений: 434
Записей в блоге: 1
#1

Массив как поле класса: цикл в основной функции работает некорректно - C++

19.01.2016, 17:19. Просмотров 197. Ответов 3
Метки нет (Все метки)

Ребят привет. Не могу понять в чем трабла... Цикл в основной функции работает не корректно... В чем беда не пойму...
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
#include<iostream>
#include<string>
using namespace std;
 
class employee
{
private:
enum{SZ=60};
char name[SZ];
long int number;
public:
void getdata()
{
cout<<"Введите имя, фамилию: ";cin.get(name,SZ);
cout<<"Введите табельный номер: ";
cin>>number;
}
void putdata()
{
cout<<name<<" имеет табельный номер: "<<number;
}
};
int main ()
{
employee s1[100];
int s=0;
char ch;
do
{
cout<<endl<<"Введите сотрудника, номер: "<<s+1<<" ";
cout<<endl;
s1[s++].getdata();
cout<<"Ввести еще одного сотрудника? ";
cin>>ch;
}while (ch!='n');
 
for (int j=0;j<s;j++)
    {
    cout<<"Сотрудник номер "<<j+1;
    s1[j].putdata();
    }
    return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2016, 17:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив как поле класса: цикл в основной функции работает некорректно (C++):

Некорректно работает программа. Бесконечный цикл - C++
Код запускается, но после ввода данных просто ничего не происходит, не вылетает, не выдает ошибку. Помогите, что не так? Уверен ошибка...

некорректно работает цикл или условие - C++
У меня такая проблема. По заданию я написал код , где я набираю в вектор значения , строку , далее число. Сохраняю всё это дело в...

Массив как поле класса - C++
Например, имеется класс с полем массивом размерностью 10 на 10. class massiv { private: int mas; public: ... }; ...

Массив, как поле данных класса - C++
Как правильно обьявить массив char как элемент данных класса и проинициализировать его нулями в конструкторе??

некорректно работает одна из функций класса - C++
Здарова, в общем, пишу я тут класс для представления треугольника, в числе прочих этот класс должен уметь вычислять периметр по трем...

Обращение к элементу массива (массив как поле класса) - C++
есть класс с массивом class ArrayPixel { public: byte*** pixel; ArrayPixel(int, int); ~ArrayPixel(void); private:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
HardLogin
52 / 52 / 1
Регистрация: 20.01.2013
Сообщений: 751
Записей в блоге: 1
19.01.2016, 18:30 #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
#include<iostream>
#include<string>
using namespace std;
 
class employee
{
private:
char name[60];
long int number;
public:
void getdata()
{
cout<<"Введите имя, фамилию: ";cin>>name;
cout<<"Введите табельный номер: ";
cin>>number;
}
void putdata()
{
cout<<name<<" имеет табельный номер: "<<number;
}
};
int main ()
{
employee s1[100];
int s=0;
char ch;
do
{
cout<<endl<<"Введите сотрудника, номер: "<<s+1<<" ";
cout<<endl;
s1[s++].getdata();
cout<<"Ввести еще одного сотрудника? ";
cin>>ch;
}while (ch!='n');
 
for (int j=0;j<s;j++)
    {
    cout<<"Сотрудник номер "<<j+1;
    s1[j].putdata();
    }
    return 0;
}
0
-ДоМоВоЙ-
119 / 118 / 46
Регистрация: 19.01.2016
Сообщений: 434
Записей в блоге: 1
20.01.2016, 10:11  [ТС] #3
Не катит, цикл выдает бесконечность при вводе сотрудников.
0
ThePlague
101 / 101 / 61
Регистрация: 30.06.2015
Сообщений: 272
20.01.2016, 10:48 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Cadr, чистим баффер стрима

C++
1
2
3
4
5
6
7
8
9
10
11
    do
    {
        cin.clear(); //вот тут  
        fflush(stdin); // и тут
        cout<<endl<<"Enter employee number: "<<s+1<<" ";
        cout<<endl;
        s1[s++].getdata();
        cout<<"More employee? ";
        cin>>ch;
    }
    while (ch!='n');
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2016, 10:48
Привет! Вот еще темы с ответами:

Двумерный массив в динамической памяти как поле класса - C++
Здравствуйте! Вот так можно описать двумерный массив в дин.памяти. class nameClass { public: MapPlaceTp ** roomMap; ...

Найти причины возникновения ошибок в коде и исправить эти ошибки (динамический массив как поле класса) - C++
когда запускаю, пишет что нет прав доступа для записи в память. если писать без класса, то все работает P.S. использую MVS Express 2015...

Как вернуть из функции указатель на массив элементов класса - C++
Здравствуйте! Возникла такая проблема. Есть класс, созданный мной. Функция формирует массив элементов этого класса (массив...

Поле класса - динамический массив - C++
Здравствуйте, друзья. Проверьте, пожалуйста, всё ли правильно написано (отсутствие сообщений об ошибках не исключает их присутствия). ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.01.2016, 10:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru