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

Файловый ввод/вывод - 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)... 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...
C++ Строки, надо для зачета срочно http://www.cyberforum.ru/cpp-beginners/thread240346.html
Помогите написать код срочно надо для зачета. Часто встречающаяся ошибка начинающих наборщиков – дважды записанное слово. Обнаружить и исправить такие ошибки. Заранее спасибо.
C++ Написать программу помощи Здравствуйте , вот нужно зделать Программу Текст помощи для не которой программы организован в виде линейного списка Каждая компонента текста помощи содержит термин (слово) и текст,содержащий... подробнее

Показать сообщение отдельно
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
11.02.2011, 16:10
Да, убрал, сразу же после того как написал. Считывание проходит, но забивается все нулями. Сразу ясно, что в целом что-то не то. Наверняка я ошибся много ранее, раз такое происходит.
В общем, вот весь код программы:
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
// 12_1.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <fstream>
#include <process.h>
#include <windows.h>
using namespace std;    
 
const int MAXARR = 100;
 
 
class Distance
{
private:
    int feet;
    float inches;
    static int count;
    static Distance* arrap[];
public:
    void getdata()
    {
        cin.ignore(10,'\n');
        cout << "Введите футы: "; cin >> feet;
        cout << "Введите дюймы: "; cin >> inches;
    }
 
        void putdata()
    {
        cout << "Feets: " << feet;
        cout << "Inches: " << inches;
    }
 
    static void add();
    static void write();
    static void read();
    static void display();
};
 
int Distance::count=0;
Distance* Distance::arrap[MAXARR];
 
 
void Distance::add()
{
    arrap[count] = new Distance;
    arrap[count++]->getdata();
}
 
void Distance::write()
{
    ofstream outFile;
    outFile.open("DIST.DD", ios::trunc|ios::binary);
    if(!outFile)
    {cerr << "\nНевозможно открыть файл для записи данных.\n"; return;}
 
    for(int i=0; i<count; i++)
    {
        outFile.write((char*)(arrap[i]), sizeof(Distance));
    }
    if(!outFile)
    {cerr << "\nЗапись в файл невозможна.\n"; return;}
    outFile.close();
}
 
void Distance::read()
{
    ifstream inFile;
    inFile.open("DIST.DD", ios::in|ios::binary);
    if(!inFile)
    {cerr << "\nНевозможно открыть файл для чтения данных.\n"; return;}
    inFile.seekg(0,ios::end);
    int endpos = inFile.tellg();
    int num = endpos/sizeof(Distance);
    cout << "\nИдет чтение " << num << " записей.\n";
    for(int i=0; i<num; i++)
    {
        arrap[i] = new Distance;
        memset( arrap[i], 0, sizeof(Distance) );
        inFile.read((char*)arrap[i], sizeof(Distance));
    }
    //if(!inFile)
    //{cerr << "\nНевозможно произвести чтение из файла.\n"; return;}
    inFile.close();
}
 
void Distance::display()
{
    for(int i =0; i<count; i++)
        arrap[i]->putdata();
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char choice;
    while(true)
    {
        cout << "\nЧто? a/w/r/d/x/p: ";
        cin >> choice;
        switch(choice)
        {
        case 'a':
            Distance::add(); break;
        case 'w':
            Distance::write(); break;
        case 'r':
            Distance::read(); break;
        case 'd':
            Distance::display(); break;
        case 'x':
            exit(0);
        default:
            cout << "Неверный атрибут.\n";
        }
    }
 
    _getch();
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru