5 / 5 / 1
Регистрация: 17.08.2009
Сообщений: 168

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

09.05.2012, 09:37. Показов 1362. Ответов 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
37927 / 20993 / 4298
Регистрация: 12.02.2012
Сообщений: 34,539
Записей в блоге: 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
37927 / 20993 / 4298
Регистрация: 12.02.2012
Сообщений: 34,539
Записей в блоге: 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
37927 / 20993 / 4298
Регистрация: 12.02.2012
Сообщений: 34,539
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Оптимизация производительности Express.js бэкенда
Reangularity 23.05.2025
Express. js заслуженно остаётся одним из самых популярных инструментов для создания бэкенда, но даже он не застрахован от проблем с производительностью. Многие разработчики сталкиваются с ситуацией,. . .
Продвинутая обработка данных с LINQ в C#
stackOverflow 23.05.2025
LINQ (Language Integrated Query) — это фундаментальное изменение парадигмы работы с данными в C#. Простые запросы Where и Select знакомы любому разработчику, но настоящая мощь LINQ раскрывается в. . .
Инфраструктура PKI и сертификатов безопасности
Mr. Docker 23.05.2025
PKI (Public Key Infrastructure) — это невидимый фундамент цифрового доверия, без которого современный интернет просто рассыпался бы как карточный домик. За этой аббревиатурой скрывается целый. . .
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru