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

Работа с файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсивные функции: вывести цифры натурального числа n в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread1190351.html
Помогите пожалуйста решить!!! Рекурсивно описать функцию rev_print (n), которая выводит цифры натурального числа n в обратном порядке. С++
C++ Class Array. Прокоментируйте программу #include <iostream.h> #include <stdlib.h> class Array{ int n; int *p; static int count; public: void show(); Array operator+(Array &); void ERRMEM(); http://www.cyberforum.ru/cpp-beginners/thread1190345.html
C++ Найти последнее слово в строчке
Ввести массив из (максимум) 200 символов, вывести на экран последнее слово.
Нужно прокоментировать программу C++
#include <iostream.h> #include <stdlib.h> class Matrix{ int m; public: Matrix(int=0); void display(); Matrix operator+(Matrix); };
C++ Сортировка отрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1190337.html
Всем привет есть такая идейка сортировки. Массив подразделяется на мелкие массивы значения которых начинаются от 0-9 далее от 10-99 далее от 100-999 и т.д. и в каждом из них происходит сортировка вставкой. После чего отсортированные массивы объединяются в единое начиная с числами первого массива, далее второго и т.д. Вот код: #include<iostream> using namespace std; void insertion_sort(int *a,...
C++ Неправильно строится график Написал программу которая строит график по точкам из файла, но помоему она строит график не так. Он берёт центр с верхнего левого угла, и потому график смещаеться, как это выправить или скажите как вместить график в окно, фото приложу. И как вывести значение переменной (тоесть координаты) на график. #include<graphics.h> #include<stdlib.h> #include<stdio.h> #include<conio.h>... подробнее

Показать сообщение отдельно
crypt
 Аватар для crypt
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 30
27.05.2014, 20: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
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
#include <iostream>
#include <fstream>
#include <conio.h>
 
using namespace std;
 
struct hockey
{
    char lastname[20],teamname[20];
    int goals,assists;
} nhl;
 
void main()
{
    system("chcp 1251");
    input_file();
    output_file();
    _getch();
    return;
}
 
void input_file(char filename[15], int otv)
{
label0:cout << "Введите название создаваемого файла: ";
    cin >> filename;
    int j=0;
    /*if() Проверка файла на существование
    {
    label3:cout << "Файл уже существует на диске. Введите режим дальнейшей работы: " << endl;
        cout << "Ввод нового имени файла - 1;";
        cout << "Закончить режим работы ввода - 2;";
        cout << "Вывести информацию из файла - 3;";
        switch (j)
        {
        case 1:
            goto label0;
            break;
        case 2:
            return;
            break;
        case 3:
            void output_file();
            break;
        default:
            cout << "Неверно введен режим работы!" << endl;
            goto label3;
        }
    }*/
    fstream f(filename,ios::out);
    do
    {
        cout << "Введите фамилию игрока: ";
        cin >> nhl.lastname;
        cout << "Введите количество заброшенных шайб: ";
        cin >> nhl.goals;
        cout << "Введите количество голевых передач: ";
        cin >> nhl.assists;
        cout << "Введите название команды: ";
        cin >> nhl.teamname;
        f.write((char*)&nhl,sizeof(hockey));
        cout << endl << "Для продолжения работы программы введите любую цифру." << endl;
        cout << "Для дополнительного ввода данных введите 1:" << endl;
        cin >> otv;
    }
    while(otv==1);
    f.close();
}
 
void output_file(char filename[15])
{
label1:cout << "Введите название файла: ";
    cin >> filename;
    /*int i=0;
    if() Проверка файла на существование
    {
    label2:cout << "Файла на диске не существует. Введите режим дальнейшей работы: " << endl;
        cout << "Ввод нового имени файла - 1;";
        cout << "Закончить режим работы вывода - 2;";
        cout << "Создать новый файл - 3;";
        switch (i)
        {
        case 1:
            goto label1;
            break;
        case 2:
            return;
            break;
        case 3:
            void input_file();
            break;
        default:
            cout << "Неверно введен режим работы!" << endl;
            goto label2;
        }
    }*/
    fstream f(filename,ios::in);
    f.read((char*)&nhl,sizeof(hockey));
    while(!f.eof())
    {
        cout << nhl.lastname << "   ";
        cout << nhl.teamname << "   ";
        cout << nhl.goals << "    ";
        cout << nhl.assists << "   ";
        f.read((char*)&nhl,sizeof(hockey));
    }
    f.close();
}
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru