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

Массив структур - C++

Восстановить пароль Регистрация
 
Sithis
10 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 98
01.06.2012, 00:11     Массив структур #1
Помогите пожалуйста:
Описать структуру с именем NOTE, содержащую следующие поля: фамилия, имя, номер телефона, дата рождения (массив из трёх чисел). Написать программу, выполняющую следующие действия:
Ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE, вывод на экран информации о человеке, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры. Упорядочить структуры по алфавиту (фамилии).

Добавлено через 1 час 27 минут
Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2012, 00:11     Массив структур
Посмотрите здесь:

C++ Массив структур
C++ массив структур
Массив структур, сохранение начала каждой из структур C++
C++ Массив структур
массив структур C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
01.06.2012, 01:02     Массив структур #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 <fstream>
#include <vector>
using namespace std;
struct Node{
    string firstName;
    string lastName;
    string phoneNum;
    int birthDay[3];
};
 
int main()
{
    Node peop[8];
    int Month=0;
    cout << "Example: Ivanov Ivan 8-800-020202 01.01.1001" << endl;
    for(int i=0;i<8;++i){
 
        cout << "Enter data " << i+1 << ": ";
        cin>>peop[i].lastName >> peop[i].firstName >> peop[i].phoneNum;
        cin>>peop[i].birthDay[0]; cin.ignore();
        cin>>peop[i].birthDay[1]; cin.ignore();
        cin>>peop[i].birthDay[2]; cin.ignore();
    }
    cout << endl;
 
 
    cout << "Enter month number: ";
    cin >> Month;
 
    cout << Month;
    for(int i=0;i<8;++i){
        if (peop[i].birthDay[1] == Month){
            cout<< peop[i].lastName << " "<<peop[i].firstName << " " << peop[i].phoneNum << " ";
            cout << peop[i].birthDay[0] << ".";
            cout << peop[i].birthDay[1] << ".";
            cout << peop[i].birthDay[2] << endl;
        }
    }
    cin.get();
    return 0;
}
Sithis
10 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 98
01.06.2012, 08:23  [ТС]     Массив структур #3
Не работает, выдает 3 ошибки:
C:\Microsoft Visual Studio\MyProjects\8_1\8_1.cpp(20) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no
acceptable conversion)
C:\Microsoft Visual Studio\MyProjects\8_1\8_1.cpp(32) : error C2374: 'i' : redefinition; multiple initialization
C:\Microsoft Visual Studio\MyProjects\8_1\8_1.cpp(17) : see declaration of 'i'
C:\Microsoft Visual Studio\MyProjects\8_1\8_1.cpp(34) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no
acceptable conversion)
Error executing cl.exe.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
01.06.2012, 09:54     Массив структур #4
уберите заголовог fstream и попробуйте добавить <string>

Добавлено через 20 минут
и #include <vector> тоже можно убрать, это у меня от другой проги осталось.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
01.06.2012, 10:44     Массив структур #5
C++
1
2
int i;
for(i=0;i<8;++i){
i Вынесите из 1 цикла, а во втором уберите int.
Некоторые компиляторы считают, что переменная цикла не локальная
для тела цикла.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.06.2012, 10:53     Массив структур #6
Натыкался на странное мнение компилятора, считавшего, что глобальная переменная не может быть счётчиком цикла.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2012, 11:21     Массив структур
Еще ссылки по теме:

C++ «Массив структур»
C++ Массив структур
Ввести массив структур; рассортировать массив в алфавитном порядке C++

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.06.2012, 11:21     Массив структур #7
Попадалось упоминание о том, что некоторые трансляторы считают, что счётчик цикла перестаёт существовать при завершении цикла, даже если существовал до цикла. Или даже ещё смешнее: не имеет значения, где объвлена переменная, если она хоть раз использована в роли счётчика цикла, то существует только в циклах, счётчиками которых является, а создавать её присваиванием до цикла и её же использовать в роли счётчика цикла вообще нельзя, будет мессага про гогу. При этом один и тот же счётчик можно использовать в нескольких циклах.
Yandex
Объявления
02.06.2012, 11:21     Массив структур
Ответ Создать тему
Опции темы

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