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

Структура - C++

Восстановить пароль Регистрация
 
tro9an
3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 59
Завершенные тесты: 1
17.01.2011, 22:09     Структура #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
#include <iostream>
using namespace std;
 
enum etype {laborer, secretary, manager, accountant, executive, researcher};
 
struct date
{
  int day;
  int mothey;
  int age;
  char slash;
};
 
struct employee
{
  int number;
  float posob;
  etype dol;
  date rab;
};
 
int main()
{
employee sot1, sot2, sot3;
int number_sot;
cout << "Сколько сотрудников надо ввести(минимальное число сотрудников-3)?"; cin >> number_sot;
if (number_sot < 3)
{cout << "Число сотрудников не может быть менше 3!"; return 1;} 
 
for (int j = 1; j < number_sot+1; j++)
{
cout << "Введите номер сотрудника: "; cin >> sot+'j'.number;
cout << "Введите велечину пособия сотрудника № " << sot+'j'.number << ": "; cin >> sot+'j'.posob;
cout << "Введите должность сотрудника № " << sot+'j'.number << ": "; cin >> sot+'j'.dol;
cout << "Введите дату принятия на работу сотрудника № " << sot+'j'.number << ": "; cin >> sot+'j'.date;
}
 
for (int j = 1; j < number_sot+1; j++)
{
cout << "Номер сотрудника: "; cin >> sot+'j'.number;
cout << "Велечина пособия сотрудника № " << sot+'j'.number << ": "; cin >> sot+'j'.posob;
cout << "Должность сотрудника № " << sot+'j'.number << ": "; cin >> sot+'j'.dol;
cout << "Дата принятия на работу сотрудника № " << sot+'j'.number << ": "; cin >> sot+'j'.date;
}
return 0;
}
Обратите внимания на цикл, а точнее на строку sot+'j'.number, и ей подобные.
Вообще можно так делать? А то как я только уже не пробывал, и j без кавычек, и j впереди ставил (соответственно менял имена переменных), ругается на это выражение, и всё тут!
Мне надо вводить от 3-ех сотрудников и больше, поетому если все запросы делать ручками, а не через цикл, то программа получится ну ооочень большой, а это не есть гуд!
Задание взял из книжки по С++, поетому на момент написания этой программы автор предполагает что кроме, (if else, for--while--do, switch case, struct, enum) я нечего не знаю!
Может можно как-то это по другому осуществить? Если можно просто отпишите что другой способ есть, не решайте за меня! И именно теми методами которые я написал выше!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 22:09     Структура
Посмотрите здесь:

C++ Структура
C++ структура
C++ структура
структура в Си++ C++
структура c++ C++
C++ структура
C++ Структура DateTime, битовая структура

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
18.01.2011, 12:17     Структура #2
Цитата Сообщение от tro9an Посмотреть сообщение
Вообще можно так делать?
Нет, используй массив
C++
1
employee sot[3];
C++
1
cin >> sot[j].number;
P.S. Только следует помнить, что нумерация элементов массива начинается с нуля, т.е. первый элемент это sot[0], а последний sot[2].
Yandex
Объявления
18.01.2011, 12:17     Структура
Ответ Создать тему
Опции темы

Текущее время: 00:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru