Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168

Используя потоки ввода/вывода в С++

09.05.2012, 09:37. Показов 1547. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте помогите организовать запись информации из массива объектов в класс, чтение данной информации из класса, ввод информации с клавиатуры, вывод ее на экран. Объект состоит из минимум 3 полей стандартных типов.
Заранее спс
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2012, 09:37
Ответы с готовыми решениями:

Работа с структурами: выполните, используя файловые потоки для ввода/вывода
Используя тип данных запись с именем PRICE, содержащую следующие поля: • TOVAR – название товара; • KOL – количество товара; • TSENA...

Что такое потоки ввода, потоки вывода?
Здарова всем! Не так давно уже прогаю на С++ и все НИКАК не могу понять, что такое потоки ввода, потоки вывода..! вот допустим...

Потоки ввода вывода
Почему с помощью классов ostream и istream нельзя создавать свои потоки ввода вывода? std::ostream output; output <<...

12
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
09.05.2012, 09:47
Извини, дорогой (дорогая), но из массива объектов в класс ничего записать нельзя. Ты хоть формулировку дай точную...
0
5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168
09.05.2012, 09:54  [ТС]
Catstail, это такое задание я не могу понять как такое реализовать могу скинуть что мне дали но это вообще не то что мне надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <conio.h>
#include <iostream.h>
 
class labr{
public:
int a;
char b;
int c;
friend ostream& operator <<(ostream &inp, const labr& l);
};
 
 
ostream& operator <<(ostream &inp, const labr& l){
inp<<"Money: "<<l.a<<l.b<<l.c<<endl;
return inp;
}
 
void main()
{
labr l;
cout<<l;
getch();
}
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
09.05.2012, 10:27
Не может быть такой формулировки. Может быть другое: запись из массива объектов в файл и восстановление из файла массива объектов. Но тогда вопрос: каких объектов?
0
5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168
09.05.2012, 10:31  [ТС]
Catstail, организовать запись информации из массива объектов в файл, чтение данной информации из файла, ввод информации с клавиатуры, вывод ее на экран. Объект состоит из минимум 3 полей стандартных типов.
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.05.2012, 12:35
Цитата Сообщение от gusca Посмотреть сообщение
информации из массива объектов в класс
может запись в объект?

Добавлено через 4 минуты
Цитата Сообщение от gusca Посмотреть сообщение
Catstail, организовать запись информации из массива объектов в файл, чтение данной информации из файла, ввод информации с клавиатуры, вывод ее на экран. Объект состоит из минимум 3 полей стандартных типов.
C++
1
2
3
4
5
6
7
ofstream filew("text.txt",ios::app);
//в конце main сделай filew.close();
 
void func_write(*labr labr_)
{
filew <<labr_.a <<labr_.b <<labr_.c;
}
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
вот для чтения
ifstream filer("text.txt");
//в конце main сделай filer.close();
void func_read(*labr labr_)
{
filew >>labr_.a >>labr_.b >>labr_.c;
}
0
5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168
09.05.2012, 12:41  [ТС]
Van111, не работает почему то
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.05.2012, 12:50
Цитата Сообщение от gusca Посмотреть сообщение
Van111, не работает почему то
ошибки?
0
5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168
09.05.2012, 13:14  [ТС]
Van111, в какое место надо вставить тот код?
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.05.2012, 13:42
Цитата Сообщение от gusca Посмотреть сообщение
Van111, в какое место надо вставить тот код?
функции записи и чтения - до функции main

Цитата Сообщение от Van111 Посмотреть сообщение
ifstream filer("text.txt");
Цитата Сообщение от Van111 Посмотреть сообщение
ofstream filew("text.txt",ios::app);
в начале main


Цитата Сообщение от Van111 Посмотреть сообщение
filew.close();
Цитата Сообщение от Van111 Посмотреть сообщение
filer.close()
в конце main
0
5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168
09.05.2012, 14:14  [ТС]
Van111, сделал как ты написал
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
#include <conio.h>
#include <iostream.h>
 
 
class labr{
public:
int a;
char b;
int c;
friend ostream& operator <<(ostream &inp, const labr& l);
};
 
 
ostream& operator <<(ostream &inp, const labr& l){
inp<<"Money: "<<l.a<<l.b<<l.c<<endl;
return inp;
}
 
//ofstream filew("text.txt",ios::app);
//в конце main сделай filew.close();
void func_read(*labr labr_)
{
filew >>labr_.a >>labr_.b >>labr_.c;
}
void func_write(*labr labr_)
{
filew <<labr_.a <<labr_.b <<labr_.c;
}
 
//ifstream filer("text.txt");
//в конце main сделай filer.close();
 
 
 
void main()
{
 
ifstream filer("text.txt");
ofstream filew("text.txt",ios::app);
labr l;
cout<<l;
getch();
filer.close();
}
выбивает ошибку:
Style of function definition is now obsolete
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
09.05.2012, 16:31
Вот проверенное решение VC++ 6.0:

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
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
 
class Some
{
 
public:
    int I;
    char *S;
    float D;
 
    Some() // конструктор по умолчанию
    {
        this->I=0;
        this->D=0;
        this->S=NULL;
    }
    Some(int i, char *s, float d) 
    {
        int l;
        this->I=i;
        this->D=d;
        l=strlen(s);
        S=new char[l+1];
        strcpy(this->S,s);
    }
 
    ~Some() // деструктор
    {
        if (this->S != NULL) delete this->S;
        printf("\nObject deleted\n");
    }
 
    void Fill() // заполнить с клавиатуры
    {
        char Buf[1000];
        int i;
 
        printf("Insert I ");
        scanf("%d",&this->I);
        
        for (i=0; i< 1000; i++) Buf[i]=0;
 
        printf("Insert S ");
        scanf("%s",Buf);
        this->S=new char[strlen(Buf)+1];
        strcpy(this->S,Buf);
 
        printf("Insert D ");
        scanf("%E",&this->D);
    }
    void Print() // Распечатать
    {
        printf("\n\n I=%d",this->I);
        printf("\n S=%s",this->S);
        printf("\n D=%f",this->D);
    }
 
    void Save(FILE *fo) // сохранить в файл
    {
    
        fprintf(fo,"%d\n",this->I);
        fprintf(fo,"%s\n",this->S);
        fprintf(fo,"%f\n",this->D);
 
    }
 
    void Restore(FILE *fi) // восстановить из файла
    {
        char Buf[1000];
 
        int i;
        for (i=0; i< 1000; i++) Buf[i]=0;
        
        fscanf(fi,"%d",&this->I);
 
        fscanf(fi,"%s",Buf);
 
        this->S=new char[strlen(Buf)+1];
        strcpy(this->S,Buf);        
 
        fscanf(fi,"%f",&this->D);
        
    }
 
};
 
int main(int argc, char* argv[])
{
    int i,n;
 
    char *Fname="oooooooo.txt";
 
    FILE *f;
 
    // Сколько объектов?
 
    printf("How many objects is to be created? \n");
 
    scanf("%d",&n);
 
    // создаём...
 
    Some *Olist= new Some[n];
 
    // заполняем...
 
    for (i=0; i < n; i++) 
    {
        printf("%d -th Object\n",i+1);
 
        Olist[i].Fill();
 
        printf("\n");
    }
 
    // сохраняем в файле
 
    if ((f=fopen(Fname,"w")) != NULL)
    {
        for (i=0; i < n; i++)
            Olist[i].Save(f);
        fclose(f);
    }
    else
    {
        printf("Error by open!\n");
        return -1;
    }
 
    // Удаляем объекты
 
    delete [] Olist;
    
    // Создаем заново 
 
    Olist= new Some[n];
    
    // загружаем из файла
    
    printf("\n\n Restoring objects...\n\n");
 
    if ((f=fopen(Fname,"r")) != NULL)
    {
        for (i=0; i < n; i++)
        {
            Olist[i].Restore(f);
            Olist[i].Print();
        }
        fclose(f);
    }
    else
    {
        printf("\nError by open!\n");
        return -2;
    }
 
    printf("\nOK\n");
 
    return 0;
}
0
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
09.05.2012, 17:17
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
#include <fstream.h>
#include <conio.h>
#include <fcntl.h>
#include <io.h>
#include <conio.h>
#include <iostream.h>
#include <fstream> 
 
class labr{
public:
int a;
char b;
int c;
friend ostream& operator <<(ostream &inp, const labr& l);
};
 
 
ostream& operator <<(ostream &inp, const labr& l){
inp<<"Money: "<<l.a<<l.b<<l.c<<endl;
return inp;
}
 
ifstream filer; 
ofstream filew;
 
 
void func_read(labr *labr_)
{
filer >>labr_->a >>labr_->b >>labr_->c;
}
void func_write(labr *labr_)
{
filew <<labr_->a <<labr_->b <<labr_->c;
}
 
 
 
 
int main()
{
 
filer.open("text.txt");
filew.open("text.txt",ios::app);
labr l;
cout<<l;
getch();
filer.close();
filew.close();
return 0;
}
поищи и удали лишние инкллуды
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.05.2012, 17:17
Помогаю со студенческими работами здесь

Потоки ввода/вывода
Здравствуйте! Расскажите мне пожалуйста подробнее о всех особенностях потоков ввода/вывода; в особенности почему, когда я заполняю...

Потоки ввода-вывода в С++
Ребят, нужна помощь В программирование я новичок, но сдать нужно 1. Написать программу, печатающую символы. Использовать цикл while....

Потоки ввода-вывода
1) Типы данных, для которых перегружены операторы форматного ввода-вывода.

Непонятная ошибка. Потоки ввода/вывода
Решал задачу и столкнулся с проблемой (первый день на c++ &quot;пишу&quot;) не пойму что за ошибка #include &quot;stdafx.h&quot; #include...

Текстовые файлы и потоки ввода/вывода
Доброго времени суток. Уважаемый гуру, не могли бы вы мне помочь с решением данной программы. Алгоритм знаю, но никак не могу его...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru