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

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

Войти
Регистрация
Восстановить пароль
 
Etudiante
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
#1

ввод параметров класса с клавиатуры/из файла - C++

17.04.2009, 18:56. Просмотров 1026. Ответов 0
Метки нет (Все метки)

опять нужна помощь

Есть программа, в которой можно объявлять/ менять объекты разных классов. Объект создается с помощью конструктора с параметром. Теперь нужно добавить возможность ввода данных с клавиатуры/файла и записи данных в файл.
Если честно, слабо представляю даже с чего начинать.... стоит создать для этого новые методы или менять прямо функцию main()?

код такой:

файл .hh корневого класса:

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
#include <string>
#ifndef _RACINE_HH
#define _RACINE_HH
class Racine {
protected:
  std::string nom, mail;
  int age;
 
public: 
  Racine();
  Racine(const std::string &_nom, const std::string &_mail, int _age); /*вводятся как параметры  имя, мейл, возраст объекта*/
  virtual ~Racine(){};
  virtual  void afficher() const; /функция выводит данные на экран
  void put_nom(const std::string &n);
  const std::string &get_nom() const;
 
  void put_mail(const std::string &m);
  const std::string &get_mail() const;
 
  void put_age(int a);
  const int get_age() const;
  
  //void entree_clavier_nom(const std::string &n);
 
 
};
#endif
корневой класс, файл .cc

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 "Racine.hh"
 
using namespace std;
 
Racine::Racine(const std::string &_nom, const std::string &_mail, int _age)
{nom=_nom; mail=_mail; age=_age;}
 
Racine::Racine()
{}
 
void Racine::afficher() const {
cout <<"Nom: "<< get_nom()<<"\n";
    cout <<"Mail: "<< get_mail()<<"\n"; 
    cout <<"Age: "<< get_age()<<"\n";
}
  void Racine::put_nom(const string &n){
    nom = n;
  }
 
  const string &Racine::get_nom()const {
    return nom;
  }
 
 
 
 
  void Racine::put_mail(const std::string &m){
    mail = m;
  }
 
  const string &Racine::get_mail() const{
    return mail;
  }
 
  void Racine::put_age(int a){
    age = a;
  }
 
  const int Racine::get_age() const{
    return age;
  }

подкласс, файл .hh

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include "Racine.hh"
 
class Employe : public Racine {
  std::string dep, bureau;
  
public: 
  Employe();
  Employe(const std::string &_nom, const std::string &_mail, int _age,
          const std::string &_dep,const std::string &_bureau); /*добавляется номер департамента и бюро */
  ~Employe(){};       
 
  void afficher() const;
  void put_dep(const std::string &d);
  const std::string &get_dep() const;
 
  void put_bureau(const std::string &b);
  const std::string &get_bureau() const;
  
};
файл .сс

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
#include <iostream>
#include "Racine.hh"
#include "Employe.hh"
 
 
using namespace std;
 
Employe::Employe()
{}
 
Employe::Employe(const std::string &_nom, const std::string &_mail, int _age,
          const std::string &_dep, const std::string &_bureau):Racine(_nom, _mail, _age)
{dep=_dep;
bureau=_bureau;}
 
void Employe::afficher() const {
cout <<"Nom: "<< get_nom()<<"\n";
    cout <<"Mail: "<< get_mail()<<"\n"; 
    cout <<"Age: "<< get_age()<<"\n";
    cout <<"Departement: "<< get_dep()<<"\n";
    cout <<"Bureau: "<< get_bureau()<<"\n";
    cout <<"\n";
    
}
 
  void Employe::put_dep(const string &d){
    dep = d;
  }
 
  const string &Employe::get_dep()const {
    return dep;
  }
 
  void Employe::put_bureau(const string &b){
    bureau = b;
  }
 
  const string &Employe::get_bureau()const {
    return bureau;
  }
и наконец функция main


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
#include <iostream>
//#include"Racine.hh"
#include"Etudiant.hh"
#include"Employe.hh"
#include "Eleve.hh"
 
using namespace std;
 
int main() {
 
Racine** tab =new Racine*[10];
unsigned int count = 0;
 
 
 
tab[count++] = new Employe("MonsieurX", "MonsieurX@enst.fr", 40, "TSI", "CXX");
//tab[count++] = new Eleve("eleve1", "eleve1@xxx.fr", 25, "Mastere Specialisee", 12, 2, _note); /* еще один подкласс корневого класса, пока для простоты про него забываем */
 
 for(unsigned int i=0;  i<=count; i++)
//int i=0;
 
   tab[i]->afficher();
  
   
 }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2009, 18:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ввод параметров класса с клавиатуры/из файла (C++):

Ввод с клавиатуры полей класса через конструктор - C++
программа работает, но работаен не совсем вернро. В общем при создании второго элемента вектора, при вызове конструктора объект буквально...

Ввод имени файла с клавиатуры - C++
Всем привет! Хочу сделать так: int main() { char finame; printf(&quot;Enter the name of file: &quot;); scanf_s(&quot;%s&quot;, &amp;finame); ...

Ввод двумерного массива с клавиатуры и из файла - C++
Здравствуйте. Хочу сделать программу, которая позволяет вводить двумерный массив либо из файла, либо с клавиатуры. Вот я написал код: ...

Переделать программу со вводом с клавиатуры на ввод из файла - C++
нужно сделать в программе чтоб ввод был из файла, а не с клавиатуры #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;math.h&gt; ...

Ввод массива как с клавиатуры, так и из файла - C++
Мое задание предполагает что массив будет вводиться на усмотрение пользователя либо с клавиатуры, либо из файла. Как это реализовать по...

Ввод имени входного/выходного файла с клавиатуры (fstream) - C++
Подскажите, пожалуйста, как можно организовать ввод имени входных/выходных файлов для их последующего использования с помощью библиотеки...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2009, 18:56
Привет! Вот еще темы с ответами:

Как правильно заменить ввод данных простой на ввод с клавиатуры? - C++
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур - C++
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Напишите (консольную) программу, принимающую на вход имя файла и набор параметров. В зависимости от параметров программа должна работать в трёх режима - C++
Вообщем такое же задание Добавлено через 2 минуты Напишите (консольную) программу, принимающую на вход имя файла и набор...

Вывод скрытых параметров класса - C++
Вот код программы - простейший стек символов: #include &lt;iostream.h&gt; class steck { int size; char* bottom; char* point; public:...


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

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

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