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

Файловый ввод/вывод - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Трабл с "&&" http://www.cyberforum.ru/cpp-beginners/thread240379.html
#include<iostream> using namespace std; int main(){ int w,v,h,l,t; cin>>w>>v>>h>>l>>t; int x=h-w; if(x<0) x=x*(-1); int y=v*t;
C++ operator[] в классе Написал собственный класс, где хранит одномерный массив template <class TTT> public class List_TTT { public: TTT * data; int len; TTT& Get(int H) {return data;} // TTT& operator(int H) { return data; } http://www.cyberforum.ru/cpp-beginners/thread240376.html
C++ Реализовать класс Account
Помогите решить задачку: Реализовать класс Account, представляющий собой банковский счет. В классе долж- ны быть четыре поля: фамилия владельца, номер счета, процент начисления и сумма в рублях. Открытие нового счета выполняется операцией инициализации. Необходимо вы- полнять следующие операции: сменить владельца счета, снять некоторую сумму денег со счета, положить деньги на счет, начислить...
Простой вывод файла на экран C++
Не могу вывести содержимое файла на экран. Что я не так делаю? Вот код программы: #include <iostream> #include <fstream> #include <iomanip> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <locale.h>
C++ Строки, надо для зачета срочно http://www.cyberforum.ru/cpp-beginners/thread240346.html
Помогите написать код срочно надо для зачета. Часто встречающаяся ошибка начинающих наборщиков – дважды записанное слово. Обнаружить и исправить такие ошибки. Заранее спасибо.
C++ Написать программу помощи Здравствуйте , вот нужно зделать Программу Текст помощи для не которой программы организован в виде линейного списка Каждая компонента текста помощи содержит термин (слово) и текст,содержащий пояснение к этому термину.Количество строк текста,относящихся к одному термину,составляет от одной до пяти Написать программу,которая обеспечивает - начальное формирование текста помощи; - вывод... подробнее

Показать сообщение отдельно
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
11.02.2011, 16:45     Файловый ввод/вывод
Зачем в class Distance ваше Distance* arrap[]; ? Вы в объекте типа Distance храните указатели на объекты типа Distance, которые хранят указатели на объекты типа Distance, которые хранят указатели на объекты типа Distance, которые хранят указатели на объекты типа Distance... Чего вы пытаетесь этим добиться?

Добавлено через 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
class Distance
{
private:
        int feet;
        float inches;
public:
        void getdata()
        {
                cin.ignore(10,'\n');
                cout << "Введите футы: "; cin >> feet;
                cout << "Введите дюймы: "; cin >> inches;
        }
 
        void putdata()
        {
                cout << "Feets: " << feet;
                cout << "Inches: " << inches;
        }
 
        void setInches( float _inches ){ inches = _inches; };
        void setFeet( int _feet ){ feet = _feet ; };
 
        float getInches(){ return inches; };
        int getFeet(){ return feet; };
};
 
const int arrap_count;
Distance* arrap[ arrap_count ];
 
 
void write()
{
//...
   file.write( (char*)(arrap_count), sizeof(arrap_count) );
 
   for( int i = 0; i < arrap_count; i++ )
   {
      float inches = arrap[i]->getInches();
      int feet = arrap[i]->getFeet;
      file.write( (char*)(inches), sizeof(inches) );
      file.write( (char*)(feet), sizeof(feet) );
   }
//...
}
 
void read()
{
//...
   float inches
   int feet
   file.read( (char*)(inches), sizeof(inches) );
   file.read( (char*)(feet), sizeof(feet) );
   arrap[i]->setInches( inches );
   arrap[i]->setFeet( feet );
//...
}
Добавлено через 6 минут
А ещё лучше как-то так:

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
class Distance
{
private:
        int feet;
        float inches;
public:
        Distance( int feet, float inches ){ setFeet( feet ); setInches( inches ); };
 
        void getdata()
        {
                cin.ignore(10,'\n');
                cout << "Введите футы: "; cin >> feet;
                cout << "Введите дюймы: "; cin >> inches;
        }
 
        void putdata()
        {
                cout << "Feets: " << feet;
                cout << "Inches: " << inches;
        }
 
        void setInches( float _inches ){ inches = _inches; };
        void setFeet( int _feet ){ feet = _feet ; };
 
        float getInches(){ return inches; };
        int getFeet(){ return feet; };
};
 
list<Distance>arrap;
 
void write()
{
//...
   file.write( (char*)(arrap.size), sizeof(arrap.size) );
 
   list<Distance>::iterator it = arrap.begin();
 
   for( int i = 0; i < arrap.size; i++ )
   {
      float inches = (*it)->getInches();
      int feet = (*it)->getFeet;
      file.write( (char*)(inches), sizeof(inches) );
      file.write( (char*)(feet), sizeof(feet) );
      it++;
   }
//...
}
 
void read()
{
   
//...
   int size;
   file.read( (char*)(size), sizeof(size) );
 
   arrap.clear();
 
   for( int i = 0; i < size; i++ )
   {
      float inches;
      int feet;
 
      file.read( (char*)(inches), sizeof(inches) );
      file.read( (char*)(feet), sizeof(feet) );
 
      Distance dist ( feet, inches );
      arrap.push_back( dist );
   }
//...
}
 
Текущее время: 02:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru