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

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

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

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

17.04.2009, 18:56. Просмотров 917. Ответов 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();
  
   
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2009, 18:56     ввод параметров класса с клавиатуры/из файла
Посмотрите здесь:
C++ Ввод с клавиатуры полей класса через конструктор
Ввод имени файла с клавиатуры C++
C++ Ввод двумерного массива с клавиатуры и из файла
C++ Ввод массива как с клавиатуры, так и из файла
Переделать программу со вводом с клавиатуры на ввод из файла C++
C++ Ввод имени входного/выходного файла с клавиатуры (fstream)
C++ Напишите (консольную) программу, принимающую на вход имя файла и набор параметров. В зависимости от параметров программа должна работать в трёх режима
Вывод скрытых параметров класса C++
C++ Передаче параметров из класса в main
Передача параметров в дружественную функцию класса C++
Ввод с клавиатуры C++
C++ Ввод с клавиатуры

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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