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

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

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

Вывод рандомных данных в классе из текстового файла - C++

07.04.2013, 23:15. Просмотров 370. Ответов 2
Метки нет (Все метки)

Хочу вывести рандомные данные из текстового файла по одному. Но не знаю как. Подскажите.

Код:
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
#pragma once
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
 
class Eng
{
private:
    char word[20];
    char translation[20];
public:
    Eng();
    ~Eng();
    Eng(char* w,char* t);
    Eng(const Eng&c);
    Eng& operator=(const Eng& c);
 
    void setWord(char* w);
    char* getWord();
    void setTranslation(char* t);
    char* getTranslation();
 
    friend ostream& operator<<(ostream& os,Eng& a);
    friend istream& operator>>(istream& os,Eng& a);
 
    int writeBin(ofstream&os)
    {
        os.write((char*)this,sizeof(*this));
        return os.bad();
    }
 
    int readBin(ifstream&is)
    {
        is.read((char*)this,sizeof(*this));
        return is.bad();
    }
};
 
 
 
 
#include "StdAfx.h"
#include "Eng.h"
 
Eng::Eng()
{
    word[0]='\0';
    translation[0]='\0';
}
 
Eng::~Eng()
{
}
 
Eng::Eng(char* w,char* t)
{
    strcpy(word,w);
    strcpy(translation,t);
}
 
Eng& Eng::operator=(const Eng&c)
{
    strcpy(word,c.word);
    strcpy(translation,c.translation);
    return* this;
}
 
Eng::Eng(const Eng&c)
{
    *this=c;
}
 
void Eng::setWord(char* w)
{
    strcpy(word,w);
}
char* Eng::getWord()
{
    return word;
}
 
void Eng::setTranslation(char* t)
{
    strcpy(translation,t);
}
char* Eng::getTranslation()
{
    return translation;
}
 
ostream& operator<<(ostream& os, Eng& a)
{
    return os<<a.word<<" "<<endl;
}
 
istream& operator>>(istream& os, Eng& a)
{
    return os>>a.translation;
}
 
 
 
 
#include "stdafx.h"
#include "Eng.h"
 
const int n=2000;
 
int _tmain(int argc, _TCHAR* argv[])
{
    Eng arr[n];
    ifstream in("text.txt");
    for(int i=0;i<n;i++)
        in>>arr[i];
    for(int i=0;i<n;i++)
        cout<<arr[i];
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 23:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод рандомных данных в классе из текстового файла (C++):

вывод данных в дружественном классе - C++
создал дружественный класс и копирую в него введенный с клавиатуры данные из другого класса. но при выводе они не копируются. что делать? ...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Сортировка слов текстового файла путём слияния данных из файла и заданного внутреннего массива - C++
Здравствуйте. Имеется задание, которое я ни в коем случае не прошу за меня сделать. Мне непонятно пару моментов, которые бы мне...

Вывод карты из текстового файла - C++
Доброго времени суток. При попытке создания несложного платформера я столкнулась со следующей проблемой. Имеется строковая карта в...

Вывод строки из текстового файла - C++
Написать функцию, удовлетворяющую следующим требованиям: Прототип: int f(char*a, int n) Параметры: а - указатель исходного массива, n -...

Вывод на экран данные из текстового файла - C++
Создайте текстовый файл целых чисел (значения вводятся с клавиатуры). Проанализировав в программе созданный файл, создайте еще 2 файла: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
anmartex
...
1705 / 1198 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
08.04.2013, 06:45 #2
compl, вы при чтении из входного потока заносите данные в поле translation, а вот выводите word. В связи с этим у вас вывод будет как минимум пустой, хотя это undefined behaviour.
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
//...
ostream& operator<<(ostream& os, Eng& a)
{
   //return os<<a.word<<" "<<endl;
    return os << a.translation;
}
 
istream& operator>>(istream& os, Eng& a)
{
    std::fill(a.translation, a.translation + 20, '\0');
 
    return os >> a.translation;
}
//...
int main(int argc, char* argv[])
{
    Eng arr[n];
    ifstream in("text.txt");
    int i;
    for(i = 0; (i < n) && (in >> arr[i]); ++i) { ; }
 
    for(int j = 0; j < i; ++j)
        cout << arr[j] << endl;
 
    return 0;
}
P.S.: желательно контролировать выход за диапазон в 20 элементов
0
compl
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 70
08.04.2013, 08:11  [ТС] #3
Спасибо, конечно. Но Вы немного меня не поняли. Я хочу выводить случайно, т.е. рандомно данные и текстового файла по одному, а не сразу всё. Т.е. по нажатию enter печатается какое то случайное слово из word.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2013, 08:11
Привет! Вот еще темы с ответами:

Построчный вывод текстового файла на экран - C++
нужно организовать построчный вывод файла на экран пока остановился на данном способе, так как по крайней мере он понятен, с getline и...

Вывод содержимого текстового файла на экран - C++
Нужно написать программу чтоб выводила содержимое текстового файла на экран, желательно по строчно после каждого нажатия ентер, ну или хотя...

Вывод данных из текстового фаила - C++
Прога работает, да не совсем. Почему-то не передает из фаила описание деталей. Прошу помочь разобраться. #include &lt;conio.h&gt; ...

Работа с текстовыми файлами: Вывод из текстового файла - C++
Доброго времени суток! Есть проблема с выводом из текстового файла, прошу помочь. Суть проблемы: При выводе из текстового файла последняя...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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