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

Описать класс NOTE, объявить массив из 10 объектов - C++

Восстановить пароль Регистрация
 
MrRuslanBB
4 / 4 / 0
Регистрация: 02.04.2012
Сообщений: 274
12.03.2013, 16:30     Описать класс NOTE, объявить массив из 10 объектов #1
Задание. Описать класс, объявить массив из 10 объектов. Написать программу в которой обеспечить ввод данных в массив с клавиатуры, вывод исходных данных на экран, вывод на экран данных, соответствующих условию поиска.
Класс с именем NOTE содержит следующие поля:
• фамилия и инициалы;
• номер телефона;
• дата рождения (массив из трех чисел).
Вывод на экран информации о людях, чьи дни рождения приходятся на месяц, значение которого вводится с клавиатуры.

ПОМОГИТЕ!!!!

Короче вот на что меня хватило:

НИКАК НЕ ВЫХОДИТ - 1) дата рождения (массив из трех чисел)! 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*Klass NOTE soderzhit: 1) familiy i iniciali 2) nomer telefona 3) data rozhdenia.
Opisat klass. Obiyvit massiv is 10 obiektov.
Organizovat vvod i vivod dannih na ekran.
Vivesti ludey 4yi dni rozhdeniy prehodytsy na mesyc, 
znachenia kotorie vvodytsy s klaviatury.*/
 
#include <iostream.h>
#include <string.h>
#include <conio.h>
 
class NOTE { 
   char  Surname[30];
   char  Name[20];
   char  SecondName[20];
   char  PhoneNumber[10];
   int   Birthday;
  
public:
      NOTE() {}; //konstruktor po umol4aniu 4tobi mozhno bilo sozdavat massivi
 
 
 void vvod()
  {
    cout<<"\nVVOD V MASSIV\n"<<"\n==> ";
 
    cout<<"Vvedite Familiu: "; cin>>Surname;
   cout<<"Vvedite Imy: "; cin>>Name;
   cout<<"Vvedite Ot4estvo: "; cin>>SecondName;
   cout<<"Vvedite nomer telefona: "; cin>>PhoneNumber;
   cout<<"Vvedite datu rozhdenia: "; cin>>Birthday;
  }
 
void vivod()
  {
    cout<<"\nVIVOD IZ MASSIVA\n"<<"\n===> ";
 
    cout<<"Familiy: "<<Surname<<endl;
    cout<<"Imy: "<<Name<<endl;
    cout<<"Ot4estvo: "<<SecondName<<endl;
    cout<<"Nomer telefona: "<<PhoneNumber<<endl;
    cout<<"Data rozhdenia: "<<Birthday<<endl;
  }
};
 
int main()
 {
      clrscr();
 
     NOTE mas[2];
 
     for (int i=0; i<2; i++ ) {
          mas[i].vvod();
     }
 
     for (int j=0; j<2; j++ ) {
          mas[j].vivod();
     }
 
     getch();
     return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 16:30     Описать класс NOTE, объявить массив из 10 объектов
Посмотрите здесь:

Описать структуру с именем NOTE C++
C++ Описать структуру Note
C++ Как правильно объявить массив объектов
C++ Массив. Класс с именем NOTE содержит следующие поля:
C++ Программа не работает (описать класс с именем NOTE (фамилия и инициалы; номер телефона; дата рождения))
C++ Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
C++ Объявить массив? Запросто! Объявить массив массивов? А как это?
Объявить массив объектов класса Point - не работает указатель C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
12.03.2013, 17:39     Описать класс NOTE, объявить массив из 10 объектов #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
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
class Note{
private:
       char* Surname;
       char* Name;
       char* SecondName;
       int PhoneNumber;
       int* Birthday;
public:
       Note();
       Note(char *s,char *n,char *sn,int p,int* b){
           Surname=new char[30];
           Name=new char[20];
           SecondName=new char[20];
           Birthday=new int[8];
           strcpy(Surname,s);
           strcpy(Name,n);
           strcpy(SecondName,sn);
           Birthday=b;
           PhoneNumber=p;
       }
       void setName(char* n){ strcpy(Name,n); }
       char* getName(){ return Name; }
       void setSurname(char* s){ strcpy(Surname,s); }
       char* getSurname(){ return Surname; }
       void setSecondname(char* sn){ strcpy(SecondName,sn); }
       char* getSecondname(){ return SecondName; }
       void setPhoneNumber(int p) { PhoneNumber=p; }
       int getPhoneNumber(){ return PhoneNumber; }
       void setBirthDay(int * b){  Birthday=b; }
       int* getBirthDay(){ return Birthday; }
       void Display(){
          cout<<endl;
          cout<<Surname<<endl;
          cout<<Name<<endl;
          cout<<SecondName<<endl;
          cout<<PhoneNumber<<endl;
          for(int i=0;i<3;i++)
              cout<<Birthday[i];
 
              cout<<endl;
       }
       ~Note(){
           delete []Surname;
           delete []Name;
           delete []SecondName;
           delete []Birthday;
       };
 
 
};
 
int main(){
    int lastDay;
 
    char * n,* s,* sn;
    int * b=new int[3];
    n=new char[20];
    s=new char[30];
    sn=new char[20];
 
 
    cin.getline(n,20).getline(s,30).getline(sn,20);//Вводим имя фам отч
 
    for(int i=0;i<3;i++)//вводим день месяц год
        cin>>b[i];
     
     cin>>lastDay;//Водим последний день месяца.
 
    Note n1(s,n,sn,333333,b);
 
    if(n1.getBirthDay()[0]==lastDay)//Выводим людей у которых день рождения совпал с с введенным днем
        n1.Display();
    else
        cout<<"таких людей нет"<<endl;
 
    return 0;
}
MrRuslanBB
4 / 4 / 0
Регистрация: 02.04.2012
Сообщений: 274
25.03.2013, 15:54  [ТС]     Описать класс NOTE, объявить массив из 10 объектов #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
134
135
136
137
138
139
140
141
142
143
144
/*Opisat klass, obiyvit massiv iz 10 obiektov. Napisat programmu v kotoroy obespe4it:
1) vvod dannih v massiv s klaviaturi;
2) vivod ishodnih dannih na ekran;
3) vovod na ekran dannih sootvetstvuuchih usloviu poiska.
 
Klass s imenem NOTE soderzhit sleduuchie poly:
- familiy i iniciali;
- nomer telefona;
- data rozhdenia (den, mesyc, god).
 
4) vivod na ekran informacii o ludyh.*/
 
 
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#include <conio.h>
 
#define FAM 17 // dlina poly familia
#define IMY 14 // dlina poly imy
#define OT  17 // dlina poly ot4estvo
#define NOM 12 // dlina poly nomer telefona
#define MES 4  // dlina poly mesyca rozhdenia
#define R   3  // razmernost massiva obiektov
 
// opisanie strukturi NOTE
struct NOTE
{
 char familia [FAM];
 char imy [IMY];
 char ot [OT];
 char nomer [NOM];
 int den;
 char mesyc [MES];
 int god;
};
 
 // prototipy funkciy
 void input (NOTE[R]);
 void output (NOTE[R]);
 NOTE inputzap();
 void outputzap (NOTE);
 void tabl();
 void poisk(NOTE[R]);
 
void main() {
 NOTE m[R]; // obiyvlenie massiva obiektov tipa NOTE razmernostiu R
 clrscr();  // funkciy o4istki ekrana
 input(m);
 clrscr();
 output(m);
 poisk(m);
}
 
// opredelenie funkcii vvoda v massiv obiektov
void input(NOTE x[R]) {
 int i;
 cout<<"Vvod informacii v massiv obiektov:\n";
 for (i=0;i<R;i++)
 x[i]=inputzap();
}
 
// opredeenie funkcii vvoda odnoy zapici
NOTE inputzap() {
 NOTE z;
 
 cout<<"Vvedite familiu: ";
  cin.seekg(0L,ios::end);
    cin.get(z.familia, FAM-1, '\n');
 
 cout<<"Vvedite imy: ";
  cin.seekg(0L,ios::end);
    cin.get(z.imy, IMY-1, '\n');
 
 cout<<"Vvedite ot4estvo: ";
  cin.seekg(0L,ios::end);
    cin.get(z.ot, OT-1, '\n');
 
 cout<<"Vvedite nomer telefona: ";
  cin.seekg(0L,ios::end);
    cin.get(z.nomer, NOM-1, '\n');
 
 cout<<"Vvedite den rozhdenia: ";
  cin.seekg(0L,ios::end);
    cin>>z.den;
 
 cout<<"Vvedite mecyc rozhdenia: ";
  cin.seekg(0L,ios::end);
    cin.get(z.mesyc, MES-1, '\n');
 
 cout<<"Vvedite god rozhdenia: ";
  cin.seekg(0L,ios::end);
    cin>>z.god;
 
 cout<<endl;
 
 return z;
}
 
// opredelenie funkcii vivoda vsey informacii na ekran
void output (NOTE x[R]) {
 int i;
 cout<<"Vivod informacii o vseh ludyh:"<<endl;
 tabl();
 for (i=0;i<R;i++)
  outputzap(x[i]);
 cout<<" =------------------------------------------------------------------=<<endl";
}
 
// predelenie funkcii vivoda odnoy zapici na ekran
void outputzap(NOTE z) {
 cout.setf(ios::left); // ustanovka flaga ravneniy po levomu krau
 
cout<<" |"<<setw(15)<<z.familia<<"|"<<setw(12)<<z.imy<<"|"<<setw(15)<<z.ot<<"|"<<setw(10)<<z.nomer<<"|"
    <<setw(2)<<z.den<<"|"<<setw(2)<<z.mesyc<<"|"<<setw(4)<<z.god<<"|"<<endl;
}
 
// opredelenie funkcii vivoda na ekran shapki tablici
void tabl() {
 cout<<" =------------------------------------------------------------------="<<endl;
 cout<<" |    Familia    |    Imy     |    Ot4estvo   |   Nomer  |D |M |God |"<<endl;
 cout<<" |---------------|------------|---------------|----------|--|--|----|"<<endl;
}
 
// predelenie funkcii vivoda na ekran informacii otve4auchey usloviu poiska
void poisk (NOTE x[R]) {
 int i;
 char mes[MES]; // dly vvoda uslovia poiska
 
 cout<<endl<<"Vvedite mesyc rozhdenia ludey, 4to vas interesuut: "<<endl;
 cin.seekg(0L,ios::end);
 cin.get(mes,MES-1,'\n');
 
cout<<"Vivod informacii o zadannom 4eloveke po mesycu rozhdenia:"<<endl;
tabl();
for (i=0;i<R;i++)
 if (strcmp(x[i].mesyc,mes)==0) // naimenovania sovpali
 
outputzap(x[i]);
cout<<" =------------------------------------------------------------------="<<endl;
 
getch ();
 
}
Yandex
Объявления
25.03.2013, 15:54     Описать класс NOTE, объявить массив из 10 объектов
Ответ Создать тему
Опции темы

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