Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа, которая выполняет поиск в упорядоченном по возрастанию массиве https://www.cyberforum.ru/ cpp-beginners/ thread846801.html
Задача 2: Написать программу,которая использует метод поиска выполняет поиск в упорядоченном по возрастанию массиве
C++ Как записать алгоритм для данной функции
Не как не могу придумать
C++ Алгоритм сжатия аудио !
Нужна реализация алгоритма Райса для сжатия аудио файлов на С++ (наличие коментов приветствуется). Надо до конца недели разобраться в коде, теорию более менее понял, но сам не напишу код... Найти...
C++ Дополните загрузку с текстового файла (Шахматы) Помогите добавить в прорамму загрузку с файла нужно что бы с файла считывались переменные fig, posb,posc. файл фыглядит ввиде h B 4 #include<iostream> #include <fstream> #include <string.h>... https://www.cyberforum.ru/ cpp-beginners/ thread846785.html
C++ Вычисление двойного факториала https://www.cyberforum.ru/ cpp-beginners/ thread846778.html
Код определяет четность или нечетность числа. Как в этой же программе вычислить двойной факториал введенного числа? #include "math.h" #include "stdafx.h" #include...
Выдает ошибку C++
Ошибка на строчке с scanf! #include "stdafx.h" #include <stdio.h> #include <iostream> #include <math.h> void main() { const float e = 2.71828183;
C++ Создать функцию, которая выводит на печать и возвращает сумму n элементов ряда
Дан ряд целых чисел, каждый элемент которого является квадратом предыдущего элемента: 1 2 4 16 256 и т.д. Создать функцию, которая выводит на печать и возвращает сумму n элементов ряда, n вводится...
C++ Программа, которая запрашивает у пользователя пароль не более трех раз Составьте программу, которая запрашивает у пользователя пароль не более трех раз. Длина пароля должна быть не менее восьми символов. Если пароль с клавиатуры введен правильно, то про-грамма должна... https://www.cyberforum.ru/ cpp-beginners/ thread846757.html
C++ Преобразовать символьное представление целого числа в целое число без использования стандартных функций https://www.cyberforum.ru/ cpp-beginners/ thread846755.html
Всем доброго вечера! Народ, кто-нибудь знает как пробразовать символьное представление числа "123" в 123 БЕЗ ИСПОЛЬЗОВАНИЯ стандартных библиотечных функций преобразования? Очень нужно....
C++ Матрицы. Определить количество строк, не содержащих ни одного нулевого элемента. Переставить местами строки Дана целочисленная квадратная матрица (задать самостоятельно в текстовом файле). 1. Прочитайте матрицу из текстового файла и определите количество строк, не содержащих ни одного нулевого элемента.... https://www.cyberforum.ru/ cpp-beginners/ thread846753.html
1 / 1 / 0
Регистрация: 22.02.2013
Сообщений: 65
0

Чтение из файла в классе

24.04.2013, 12:40. Просмотров 564. Ответов 7
Метки (Все метки)

Доброе время суток! Нужна помощь более опытных товарищей! Необходима работа с файлом(запись в файл, чтение из файла, удаление из файла конкретной записи, добавление новой, корректировка старых записей). Как реализовать данное задание через Структуру знаю, а вот как это же сделать с помощью Класса не пойму. Реализовал самое просто это запись в файл, а дальше все нечего не могу сделать.

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

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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#include<fstream>
#include<iostream>
#include<stdlib.h>
#include<string>
#include<iomanip>
using namespace std;
char imfile[12];
 
class productivity
{
public:
    char enterprise[6]; //предприятие
    int VP; //валовая продукция
    int NumWork; //число работников
    float product; //продуктивность  
 
    ifstream in; 
    ofstream out;
    int n;
    char ch;
    char enter[10], VVP[10], NW[10], pr[10];
 
    void Header()
    {
        cout<<setw(70)<<"__________________________________________________________________"<<endl;
        cout<<setw(70)<<"| № п/п | Предприятие |  ВВП, грн  |   Число    | Продуктивность |"<<endl;
        cout<<setw(70)<<"|       |             |            | работников |     грн/чел    |"<<endl;
        cout<<setw(70)<<"__________________________________________________________________"<<endl;
    }
 
    void Input()
    {
        int i=0;
        cout<<"Введите название предприятия: "<<endl;
        cin>>enterprise;
        cout<<"Введите ВВП: "<<endl;
        cin>>VP;
        cout<<"Введите число работников: "<<endl;
        cin>>NumWork;
    }
 
    void Filing()
    {
        int i=0;
        out.open(imfile);
        do
        {
            Input();
            out<<enterprise<<endl<<VP<<endl<<NumWork<<endl<<(product=(VP/NumWork))<<endl;
            cout<<"Записать еще? Y/N"<<endl;
            cin>>ch;
        }while(toupper(ch)=='Y');
        out.close();
    }
 
    void Readf()
    { 
        int i=0;
        in.open(imfile);
        while(!in.eof())
        {
                in>>enter>>VVP>>NW>>pr;
        }
        in.close();
    }
 
    void Review()
    {
        int i=0;
        Header();
        Readf();
        for(i=0; i<n; i++)
        {
 
            cout<<setw(5)<<"|"<<setw(4)<<(i+1)<<setw(4)<<"|"<<setw(10)<<enter<<setw(4)<<"|"<<setw(9)<<VVP<<setw(4)<<"|"<<setw(8)<<NW<<setw(5)<<"|"<<setw(10)<<pr<<setw(7)<<"|"<<endl;
            cout<<setw(70)<<"__________________________________________________________________"<<endl;
        }
        cout<<endl;
    }
 
    void Addition()
    {
        int i=0;
        out.open(imfile, ios::app);
        do
        {
            Input();
            out<<enterprise<<endl<<VP<<endl<<NumWork<<endl<<(product=(VP/NumWork))<<endl;
            cout<<"Ввести еще? Y/N"<<endl;
            cin>>ch;
        }while(toupper(ch)=='Y');
        out.close();
    }
 
    void Deletion()
    {
        int i=0, z;
        Review();
        do
        {
            cout<<"Введите номер удаляемой записи: ";
            cin>>z;
            enterprise[0]='*';
            cout <<"Удалить еще? Y/N"<<endl;
            cin>>ch;
        }while(toupper(ch)=='Y');
        out.open(imfile);
        for(i=0; i<n; i++)
        {
            if (enterprise[0]!='*')
            {
                out<<enterprise<<endl<<VP<<endl<<NumWork<<endl<<(product=(VP/NumWork))<<endl;
            }
        }
        out.close();
    }
 
    void Correction()
    {
        int i, z;
        Review();
        do
        {
            Input();
            cout<<"Введите номер корректируемой записи: ";
            cin>>z;
            strcpy_s(enterprise, enterprise);
            cout<<"Корректировать еще? Y/N "<<endl;
            cin>>ch;
        }while(ch=='Y');
        out.open(imfile);
        for(i=0; i<n; i++)
        {
            out<<enterprise<<endl<<VP<<endl<<NumWork<<endl<<(product=(VP/NumWork))<<endl;
        }
        out.close();
    }
};
 
int main()
{
    setlocale(LC_ALL, ".1251");
    char pm; productivity P;
    cout<<"Введите имя файла"<<endl;
    cin>>imfile;
    do
    {
        cout<<"1. Запись"<<endl;
        cout<<"2. Просмотр"<<endl;
        cout<<"3. Добавление"<<endl;
        cout<<"4. Удаление"<<endl;
        cout<<"5. Обновление"<<endl;
        cout<<"6. Выход"<<endl;
        cout<<"Введите пункт меню"<<endl;
        cin>>pm;
        switch(pm)
        {
        case '1':
            P.Filing();
            break;
        case '2': 
            P.Review();
            break;
        case '3':
            P.Addition();
            break;
        case '4':
            P.Deletion();
            break;
        case '5':
            P.Correction();
            break;
        case '6':
            return 0;
        }
        cout<<"Меню Y/N"<<endl;
        cin>>pm;
    }while(toupper(pm)=='Y');
    return 0;
}
Добавлено через 2 часа 12 минут
апп

Добавлено через 11 часов 21 минуту
апп

Вернуться к обсуждению:
Чтение из файла в классе
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2013, 12:40
Готовые ответы и решения:

Чтение из файла в отдельном классе
Привет. Я что-то путаю наверное. Не могу правильно считать данные из файла. Есть файл, в нем лежит...

Как заменить чтение строки из консоли на чтение текстового файла?
основное задание: найти частоту суффикса (например, &quot;ing&quot;) в текстовом документе. в...

Чтение чисел из файла. Чтение после конца потока невозможно
Товарищи, помогите. В Pascal'e я не силен, так что не бейте меня ногами, но есть задача: написать...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

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