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

Классы. Создать массив объектов. Student - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
06.03.2013, 07:31     Классы. Создать массив объектов. Student #1
Разработать консольную программу на языке С++, в которой описывается и используется простой класс для объектов индивидуального варианта. Поля данных класса должны быть закрытыми, а доступ к ним должен осуществляться с помощью открытых методов. Кроме полей с данными в классе должны быть конструкторы, деструктор и другие методы класса в соответствии с заданием. Создать массив объектов.
Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Телефон, Факультет, Курс.
Вывести:
а) список студентов заданного факультета;
б) списки студентов для каждого факультета и курса;
в) список студентов, родившихся после заданного года.

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
#include <cstdlib>
#include <iostream>
#include <string>
#include <conio.h>
 
 
using namespace std;
 
class student {
     
    string sName;
    string fName;
    string mName;
    int dob;
    string adress;
    string phone;
    string faculty;
    int course;
    
   public:
        student ()
        {
           cout<<"Empty! \n"; 
        } 
        
        student (string s, string f, string m, int d,string a, string p, string fa, int c)
        {
            sName = s;
            fName = f;
            mName = m;
            dob = d;
            adress = a;
            phone = a;
            faculty = fa;
            course = c;
        }
        
  
        void search(string f);
        void search(string f, int y);
        void search(int y);
};
 
void student::search(string f)
{
  if (faculty==f)
        cout<<sName<<" "<<fName<<" "<<mName<<"\n";   
};
 
void student::search(string f, int c)
{
    if (faculty==f && course==c)
        cout<<sName<<" "<<fName<<" "<<mName<<"\n";
};
 
void student::search(int y)
{
    if ( dob > y )
        cout<<sName<<" "<<fName<<" "<<mName<<"\n";
};
 
 
 
int main()
{
    student students[3]= {
    student("name","name","name", 1994, "Kyiv", "000-000","economic", 2),
    student("name2","name2","name2", 1995, "Moscow", "000-000","engineering", 1),
    student("name3","name3","name3", 1991, "Moscow", "000-000","economic", 5)};
    
    
    cout<<"DOB after 1993: \n";
        for (int i=0; i<3; i++)
            students[i].search(1993);    
        cout<<"**************************** \n\n";
    
    
    cout<<"Faculty of engineering: \n";
        for (int i=0; i<3; i++)
            students[i].search("engineering");    
        cout<<"**************************** \n\n";
    
    
    cout<<"Faculty of economic 5 course: \n";
        for(int i=0; i<3; i++)
            students[i].search("economic", 5);
        cout<<"**************************** \n\n";
    
    
    getch();
    return 0;
}
В чём касяк программы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 07:31     Классы. Создать массив объектов. Student
Посмотрите здесь:

C++ Помогите создать массив объектов
C++ Классы. Многофайловые проекты. Описать класс с именем STUDENT
C++ Написать структуру типа STUDENT, создать динамический массив
C++ Классы и объекты (Класс Student)
Задача (разъяснение) в алгоритм (программа, используя базовый и производный классы, создавала массив объектов типа производного класса) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
06.03.2013, 07:34     Классы. Создать массив объектов. Student #2
Цитата Сообщение от shmat_ru Посмотреть сообщение
В чём касяк программы?
а в чем он выражается?
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
06.03.2013, 07:41  [ТС]     Классы. Создать массив объектов. Student #3
Список должен по другому как-то идти,я незнаю программу как-то нужно по другому переделать
Миниатюры
Классы. Создать массив объектов. Student  
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
06.03.2013, 08:05  [ТС]     Классы. Создать массив объектов. Student #4
Croessmah, Программу по другомму переделать надо?

Добавлено через 22 минуты
Croessmah, Мне кажется как-то так должно быть только 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
#include <conio.h>
#include <string.h>
#include <iostream>
using namespace std;
 
struct date // дата рождения
{ char daymon[6];
  int year;
};
//======= class Student =================
class Student
{
  char name[30]; //private
  date t;
  char adr[30], fac[20];
  int kurs;
 public:
    Student();
    char *getfac();
    int getkurs();
    void show();
};
Student::Student()
{ cout<<"Input name:";  cin>>name;
  cout<<"Input date of born\n";
  cout<<"   Day.mon:";      cin>>t.daymon;
  cout<<"   Year:";         cin >> t.year;
  cout<<"Input adr:";    cin>>adr;
  cout<<"Input fac:";    cin>>fac;
  cout<<"Input kurs:";   cin >> kurs;
}
void Student::show()
{
cout << "Name :" <<name << endl;
cout << "Was born :" << t.daymon << '.' << t.year << endl;
cout << "Address :" << adr << endl;
cout << "Fac :" << fac <<endl;
cout << "Kurs :"<<kurs<<endl;
}
char *Student::getfac() { return fac; }
int Student::getkurs() { return kurs; }
void spisfac(Student spis[],int n)//список студентов заданного факультетата
{char fac[20];
cout<<"Input faculty:"; cin>>fac;
for(int i=0;i<n;i++)
if(strcmp(spis[i].getfac(),fac)==0)
        spis[i].show();
}
void spisfackurs(Student spis[],int n)
//список студентов заданных факультета и курса
{ int i,k;
  char fac[20];
  cout<<"Input faculty:"; cin>>fac;
  cout<<"Input the course:"; cin>>k;
  for(i=0;i<n;i++)
  if ((strcmp(spis[i].getfac(),fac)==0)&&(spis[i].getkurs()==k))
  spis[i].show();
}
//========= main ================
int main()
{ Student *spis;
  int n;
  cout<<"Input a number of students: "; cin>>n;
  spis=new Student [n];
 for(int i=0;i<n;i++)
  {
    cout<<"\n=============================="<<endl;
       spis[i].show();
  }
 cout<<"\n=============================="<<endl;
   spisfac(spis,n);
cout<<"\n=============================="<<endl;
   spisfackurs(spis,n);
delete [] spis;
cout<<"press any key!";
getch();
}
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
09.04.2013, 11:17  [ТС]     Классы. Создать массив объектов. Student #5
Не знаете куда в писать в прогамму пункт в)список студентов, родившихся после заданного года.Срочно надо сделать скоро сессия.
Alesandro07
1 / 1 / 0
Регистрация: 22.01.2015
Сообщений: 17
27.05.2015, 18:58     Классы. Создать массив объектов. Student #6
Ребята, помогите с задачей!!! Условие: "Написать класс «Студент». Важно, чтобы строка с именем студента хранилась в динамической памяти." Вот мой код, НО русские буквы не отображаются, пришлось латинецей писать и я не уверен, что строка хранится в динамической памяти. Подскажите:
1 правильно ли я сделал с динамической памятью?
2 что нужно сделать еще, кроме SetConsoleCP(1251);SetConsoleOutputCP(1251);, чтоб распозновались русские буквы?
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<Windows.h>
using namespace std;
 
class Student
{
public:
    void Vvod()
{
cout<<"Enter FIO of student :";
gets(Fio);
cout<<"Enter number group :";
cin>>Group;
}
    void Print()
{
    cout<<"FIO\t"<<Fio<<"\n Group \t"<<Group<<"\n";
}
Student();
~Student();
private:
    char Fio[20];
    int Group;
};
Student::Student()
{
    char* Fio=new char[];
}
 
Student::~Student()
{
}
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
    Student a;
 
a.Vvod();
a.Print();
}
Yandex
Объявления
27.05.2015, 18:58     Классы. Создать массив объектов. Student
Ответ Создать тему
Опции темы

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