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

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

Войти
Регистрация
Восстановить пароль
 
JSS
#1

Описать структуру с именем NOTE - C++

28.11.2009, 11:43. Просмотров 1045. Ответов 2

Вот такого рода задание:
Программа должна запрашивать все необходимые параметры, отслеживая правильность формата ввода. Упорядочивание должно происходить после каждого дополнения вносимого в данные , а также позволять вводить не все записи сразу а по мере необходимости.
Описать структуру с именем NOTE, содержащую следующие поля:
Фамилия
Имя
Номер телефона
Дата рождения(состоит из трех элементов месяц год и день)
Программа должна выполнять следующее:
Ввод с клавы данных в массив, состоящих из десяти структур NOTE
Записи должны быть упорядочены по дате рождения
Вывод на экран данных по году рождения.(вводится год выводится список ) если нет то сообщение таких данных нет.
Вывод поного списка.


Проблема в том что не получается упорядочить дату рождения и при этом вывести упорядоченные данные. Так же не получается вывести данные по году рождения....Помогите пожалуйста...

Пример моего кода:
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
#include "stdafx.h"
 
using namespace std;/*это подключение пространства имен std, содержащего в себе объявления функций потокового ввода/вывода*/
struct AEROFLOT 
{
    
    string N; // Имя
    
    string SN; // Фамилия
    
    string TN;  // Номер телефона
    
    int Date[3];    //Дата рождения
    
     }M[11],F;      
                                 
        
 
void main(void)
{   
    setlocale(LC_ALL, "Russian");
        
    cout<<"Введите кол-во последующих записей"<<endl;
        
     int  y;
        
        cin>>y;
    
        for (int  i = 0; i<y; i++){
        
        cout<<"Введите имя: ";
        
        cin>>M[i].N;
        
        cout<<"Введите фамилию ";
        
        cin>>M[i].SN;
        
        cout<<"Введите номер телефона ";
        
        cin>>M[i].TN;
        
        cout<<"Введите день рождения ";
        
        cin>>M[i].Date[0];
        
        cout<<"Введите месяц рождения";
        
        cin>>M[i].Date[1];
        
        cout<<"Введите год рождения ";
        
        cin>>M[i].Date[2];
        } 
          
        
                            cout<<"Выбирите операцию  "<< endl;
                            
        cout<<"Посмотреть всю информацию о записях-1"<<endl;
                            
        cout<<"Показать информацию о людях родившихся в таком-то году-2"<<endl;
                             
                            
 
 
 
 
        
                            int SWT1;
        
                            cout<<"Номер операции"<<endl;
        
                            cin>>SWT1;
        
                            switch(SWT1){
 
 
case 1:{  for (int i=0; i<y;i++){
 
    
    
                
             
    
cout<<M[i].N<<"\t"<<M[i].SN<<"\t"<<M[i].TN<<"\t"<<M[i].Date[0]<<"."<<M[i].Date[1]<<"."<<M[i].Date[2]<<"."<<endl;
                
        
        }
       
       
       
       
                            }
case 2:{  int z,i;
 
    
    cout<<"Введите год рождения"<<endl;
          
    cin>>z; 
    for (i=0;i<y;i++){   
        if (z==M[i].Date[2])
                                         
    {
            
              
cout<<M[z].N<<"\t"<<M[z].SN<<"\t"<<M[z].TN<<"\t"<<M[z].Date[0]<<"."<<M[z].Date[1]<<"."<<M[z].Date[2]<<"."<<endl; }
          else 
               
          {cout<<"Данных нет" ;};
          
          
          };
        }
        
                            
 
 getch();
        return; 
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2009, 11:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать структуру с именем NOTE (C++):

Описать структуру с именем NOTE - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; #define N 15 #define M 8 struct NOTE { char name; ...

Описать структуру с именем NOTE - C++
Помогите пожалуйста с программой в C++ Вот задание: Описать структуру с именем NOTE, содержащую следующие поля: — фамилия, имя; —...

Описать структуру с именем NOTE - C++
2.вывод на экран записей, которые должны быть упорядочены по алфавиту; Не могу понять в чем смысл задания.

Описать структуру с именем NOTE - C++
Помогите с программой пожалуйста. А. Описать структуру с именем NOTE, содержащую следущие поля: Фамилия, имя; Номер телефона; День...

Описать структуру с именем NOTE - C++
Пожалуйста помогите написать код программы. Описать структуру с именем NOTE, содержащую поля: -фамилия и имя; -номер телефона; ...

Описать структуру с именем NOTE - C++
Народ почти не знаю С++ но нужно написать вот прогу желательно на Буилдере 1. Описать структуру с именем NOTE, содержащую следующие...

2
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
28.11.2009, 18:25 #2
заведи сэт из различный годов рождения
попробуй пройти масив записей как обычный масив, который знает только год рождения, если нужно поменять записи местами юзай #include <algorithm> функция swap(). в которой меняй местами записи сначала по году роджения, потом на каждый год еще один сэт по месяцам, потом каждые месяц по дням и все это юзая swap(M[i],M[i+1]), де i, i+1 - неупорядоченные записи.

если не выйдет придется swap() написать самому, руками..
0
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.11.2009, 18:44 #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
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
using namespace std ;/*ГЅГІГ® ïîäêëþ÷åГ*ГЁГҐ ïðîñòðГ*Г*Г±ГІГўГ* èìåГ* std, ñîäåðæГ*Г№ГҐГЈГ® Гў Г±ГҐГЎГҐ îáúÿâëåГ*ГЁГї ГґГіГ*êöèé ïîòîêîâîãî ââîäГ*/âûâîäГ**/
struct AEROFLOT 
{
        
        string N; // Èìÿ
        
        string SN; // Г”Г*ìèëèÿ
    
        string TN;      // Íîìåð òåëåôîГ*Г*
        
        int Date[3];    //Г„Г*ГІГ* ðîæäåГ*ГЁГї
        
         }M[11],F;      
                                     
                
 void Sort(AEROFLOT *M, int y)
 {
     int i, j;
     AEROFLOT temp;
     for(i=1; i<y; i++)
         for(j=y-1; j>=i; j--)
         {
             if(M[j].Date[2]<M[j-1].Date[2] || (M[j].Date[2]==M[j-1].Date[2] &&M[j].Date[1]<M[j-1].Date[1]) || (M[j].Date[2]==M[j-1].Date[2] &&M[j].Date[1]==M[j-1].Date[1] && M[j].Date[0]<M[j-1].Date[0]))
             {
                 temp=M[j];
                 M[j]=M[j-1];
                 M[j-1]=temp;
             }
         }
 }
 
 
 
int main(void)
{   
        setlocale(LC_ALL, "Russian");
             
        cout<<"Ââåäèòå êîë-ГўГ® ïîñëåäóþùèõ Г§Г*ГЇГЁГ±ГҐГ©"<<endl;
                
         int  y, i;
            
                cin>>y;
        
                for ( i = 0; i<y; i++){
            
                cout<<"Ââåäèòå èìÿ: ";
                
                cin>>M[i].N;
                
                cout<<"Ââåäèòå ГґГ*ìèëèþ ";
                
                cin>>M[i].SN;
                
                cout<<"Ââåäèòå Г*îìåð òåëåôîГ*Г* ";
                
                cin>>M[i].TN;
                
                cout<<"Ââåäèòå äåГ*Гј ðîæäåГ*ГЁГї ";
                
                cin>>M[i].Date[0];
                
                cout<<"Ââåäèòå ìåñÿö ðîæäåГ*ГЁГї";
                
                cin>>M[i].Date[1];
                
                cout<<"Ââåäèòå ãîä ðîæäåГ*ГЁГї ";
                
                cin>>M[i].Date[2];
                } 
              Sort(M, y);
                
                            cout<<"Âûáèðèòå îïåðГ*öèþ  "<< endl;
                                    
                cout<<"Ïîñìîòðåòü ГўГ±Гѕ ГЁГ*ôîðìГ*öèþ Г® Г§Г*ГЇГЁГ±ГїГµ-1"<<endl;
                                    
                cout<<"ÏîêГ*Г§Г*ГІГј ГЁГ*ôîðìГ*öèþ Г® ëþäÿõ ðîäèâøèõñÿ Гў ГІГ*êîì-ГІГ® ãîäó-2"<<endl;
                                                         
                                                        
 
 
 
 
                
                                                        int SWT1;
                
                                                        cout<<"Íîìåð îïåðГ*öèè"<<endl;
                
                                                        cin>>SWT1;
                
                                                        switch(SWT1){
 
 
case 1:{  for ( i=0; i<y;i++){
 
        
        
                                
             
        
cout<<M[i].N<<"\t"<<M[i].SN<<"\t"<<M[i].TN<<"\t"<<M[i].Date[0]<<"."<<M[i].Date[1]<<"."<<M[i].Date[2]<<"."<<endl;
                                
       }
                }
           
           
           
         
                                                        
case 2:{  int z; bool fl=false;
 
        
        cout<<"Ââåäèòå ãîä ðîæäåГ*ГЁГї"<<endl;
              
        cin>>z; 
        for (i=0;i<y;i++)       
                if (z==M[i].Date[2])
                                             
                { fl=true;
                
                          
cout<<M[i].N<<"\t"<<M[i].SN<<"\t"<<M[i].TN<<"\t"<<M[i].Date[0]<<"."<<M[i].Date[1]<<"."<<M[i].Date[2]<<"."<<endl; }
if(!fl)                 
       cout<<"Г„Г*Г*Г*ûõ Г*ГҐГІ" ;
                  
                  
       }
            
                
            }                                         
 
 getch();
                return 0;
}
Немного дописал. Стилистику оставил.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2009, 18:44
Привет! Вот еще темы с ответами:

Описать структуру с именем NOTE - C++
Создать однофайловое консольное приложение (проект). В этом проекте описать структуру, соответствующую предметной области вашего...

Описать структуру с именем NOTE - C++
описать структуру с именем NOTE cодержаще следущее поля 1) фамилия , имя 2) номер телефона 3)дата рождения (массив из трех чисел ) ...

Описать структуру с именем NOTE - C++
Описать структуру с именем NOTE, содержащую поля: -фамилия и имя; -номер телефона; -дата рождения (массив из трех чисел). ...

Описать структуру с именем NOTE - C++
Описать структуру с именем NOTE, содержанию следующие поля: 1) фамилия, имя; 2) номер телефона; 3) дата рождения (массив из трех...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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