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

Помоги исправить код - C++

Восстановить пароль Регистрация
 
TR0JlNk
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 36
24.03.2013, 14:10     Помоги исправить код #1
Общая постановка. Создать программу с абстрактным базовым классом и множественным наследованием, реализовать в нем:
• конструктор,
• деструктор,
• виртуальную функцию просмотра текущего состояния объекта print(),
• friend,
• функцию Run ().
Производные классы должны содержать переопределенную функцию просмотра состояния объектов (print()). Используя стандартные файловые потоки, информацию об объектах вывести в файл. При вводе - выводе данных обработка ошибочных ситуаций (например, невозможность открыть файл или нехватка места на диске) должно обрабатываться с использованием механизма исключений.

1. Книги
(Название, Автор, жанр, год, страниц, тираж, отпечатано листов - функция Run ())


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
#include <iostream>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#include <istream>
#include <fstream>
#include <conio.h>
using namespace std;
class personnel_department
{
public:
    virtual void print_info() = 0;
    virtual void print_to_file() = 0;
};
class full_name: public personnel_department
{
public:
    string Avtor, Janr;
    full_name()
    {
        cout << "Enter Avtor_book:";cin >> Avtor; cout << endl;
        cout << "Enter Janr_book:";cin >> Janr; cout << endl;
    }
    ~full_name(){cout<<"DELETE full_name";}
};
 
class Book_inf: public personnel_department
{
public:
    string Name;
    int Age_izd, stranic, tiraj;
    Book_inf()
    {
        cout << "Enter Name_book:"; cin >> Name; cout << endl;
        cout << "Enter Age_izd_book: "; cin >> Age_izd; cout << endl;
        cout << "Enter Stranic_book:"; cin >> stranic; cout << endl;
        cout << "Enter Tiraj_book:"; cin >> tiraj; cout << endl;
        }
    ~Book_inf(){cout<<"DELETE Book_inf";}
};
 
class Information: public full_name,public Book_inf
{
public:
    Information():full_name(), Book_inf(){}
    ~Information(){cout<<"DELETE Information";}
    void print_info()
    {
        cout << " ___________BOOK_INFORMATION_________" << endl;
        cout << "Avtor_book:"<< Avtor << endl;
        cout << "Janr_book:" << Janr << endl << endl;
        cout << "Name_book:" << Name << endl; 
        cout << "Age_izd_book:" << Age_izd << endl;
        cout << "Stranic_book:" << stranic << endl;
        cout << "Tiraj_book:" << tiraj << endl;
        cout << "Otpechatano" << run() << endl;
    }
    void print_to_file()
    {
        try 
        {
            ofstream of;
            string name_txt = Avtor + ".txt";
            name_txt.c_str();
            of.open(name_txt, ios::out | ios::app);
            if(of==0) throw "Error open file";
        of << " ___________BOOK_INFORMATION_________" << endl;
        of << "Avtor_book:"<< Avtor << endl;
        of << "Janr_book:" << Janr << endl << endl;
        of << "Name_book:" << Name << endl; 
        of << "Age_izd_book:" << Age_izd << endl;
        of << "Stranic_book:" << stranic << endl;
        of << "Tiraj_book:" << tiraj << endl;
        of << "Otpechatano" << run() << endl;
        }
            of.close();
        }
        catch(const char *report)
        {
            cout<<report<<endl;
        }
    }
    int run ()
    {
        return(2013-date);
    }
};
 
    void main()
    {
        char str[150];
        Information First;
        First.print_info();
        First.print_to_file();
        cout<<"Reading a file:"<<endl;
        fstream stream;
        string name_txt = First.Avtor + ".txt";
        name_txt.c_str();
        stream.open(name_txt, ios::in);
        while(stream.eof()==0) 
        {
            stream.getline(str,255);
            cout<<str<<endl;
        }
        stream.close();
        system("pause");
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 14:10     Помоги исправить код
Посмотрите здесь:

C++ Исправить код
исправить на код С C++
C++ Исправить код
исправить код C++
C++ Исправить код
C++ исправить код
C++ Исправить код
C++ Исправить код

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

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

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