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

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

Войти
Регистрация
Восстановить пароль
 
gane
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 7
11.06.2013, 13:24     Работа с файлами! #1
Задание:
В спортивном клубе проводится предварительная запись в группы для занятий. Каждый клиент указывает количество занятий, дни и время, вид занятий. Составить график занятий для всех желающих. Затем определить группы, в которые попало количество клиентов меньшее, чем задано пользователем. Организовать диалог с пользователем, напечатать исходные данные и результаты в наглядном виде, с заголовками.


1. Ввод-вывод информации организовать с помощью функций библиотеки fstream.h.
2. Входная информация берется из текстового или бинарного файла (по желанию автора про-граммы).
Текстовый файл набирается в любом текстовом редакторе; записи должны отображаться на экране по одной в строке (т.е. одна под другой) для удобства анализа результатов.
Если используется бинарный файл, необходимо обеспечить его сопровождение: возмож-ность создания, редактирования, печати (для тестирования).
3. Для описания данных использовать тип struct. Каждая запись должна иметь хотя бы одно текстовое поле (т.е. символьную информацию фиксированной длины или произвольной, если пожелаете), которое может содержать пробелы.
Файл не читать полностью в оперативную память! То есть не использовать массивы структур, а обрабатывать записи по очереди, имея один или несколько экземпляров в структурах или небольших массивах структур.
Файл обрабатывать "до конца файла", то есть он может иметь разное количество записей, которая до обра-ки файла вам неизвестна.
4. Результаты работы программы выводятся в выходной файл и на экран.
5. Провести тестирование программы на вариантах входной информации, которые предусматривают различные ситуации в границах ограничений в постановке задачи. Анализ результатов необходимо провести самостоятельно в демонстрации программы преподавателю и зафиксировать тесты расчетам или ссылками на соответствующие текстовые файлы (если результаты не надо проверять: например, сортировка).


Вот, что у меня есть:

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
struct group
{
    int lesson;                                                   // название занятий
    int day;                                                      // день занятий
    int time;                                                     // время занятий
    int count;                                                    // количество занятий
    int client1, client2, client3, client4;                       // количество клиентов
};
void add_client(group*gr,int size)
{
    
    for(int i = 0; i < size; i++)
    {
        system("cls");
        cout << "Выбирете группу: 1. Фитнес, 2. Пилатес, 3. Гимнастика, 4. Качалка\n";
        cin >> gr[i].lesson;
        cout << "Введите количество занятий\n";
        cin >> gr[i].count;
        cout << "Выбирете дни: 1. Понедельник, 2. Вторник, 3. Среда, 4. Четверг, 5. Пятница\n";
        cin >> gr[i].day;
        cout << "Выбирете время занятий: 1. 11.00, 2. 14.00, 3. 18.00\n";
        cin >> gr[i].time;
        cout << "\n";
    }
}
void print_client(group*gr,int size)
{   cout << "группа\tколичество занятий\tдни\tвремя занятий"<<"\n";
    for(int i = 0; i < size; i++)
    {
        //cout << "группа\tколичество занятий\tдни\tвремя занятий"<<"\n";
        cout << gr[i].lesson << "\t\t"  <<  gr[i].count << "\t\t" <<  gr[i].day<<"\t\t" <<  gr[i].time<< "\n";      
    }
 
}
void save(char* filename,group*gr,int size)
{
    ofstream fout("new.txt");
        fout << "Группы: 1. Фитнес, 2. Пилатес, 3. Гимнастика, 4. Качалка"<<"\n";
        fout << "Дни: 1. Понедельник, 2. Вторник, 3. Среда, 4. Четверг, 5. Пятница"<<"\n";
        fout << "Время занятий: 1. 11.00, 2. 14.00, 3. 18.00"<<"\n";
        fout << "группа\tкол-во занятий\tдни\t\tвремя занятий"<<"\n";
    for( int i=0; i<size; i++ )
        fout << gr[i].lesson << "\t\t"  <<  gr[i].count << "\t\t" <<  gr[i].day<<"\t\t" <<  gr[i].time<< "\n";  
    fout.clear();
}
void open(char* filename,group*gr,int size)
{
    //// считывание из текстового файла в структуры
    ifstream fin(filename);
    cout << "вид занятий\tколичество занятий\tдень\tвремя занятий"<<"\n";
    for ( int i=0; i<size; i++ )
    {
        fin>>gr[i].lesson>>gr[i].count>>gr[i].day>>gr[i].time;  
        cout << gr[i].lesson << "\t\t"  <<  gr[i].count << "\t\t\t" <<  gr[i].day<<"\t" <<  gr[i].time<< "\n";      
    }
    fin.clear();
    cout<<endl;
 
}
void main()
{
    setlocale(0,"rus");
    int size = 0;
    cout << "Введите количество клиентов\n";
    cin >> size;
    group* gr = new group[size];
    add_client(gr,size);
    print_client(gr,size);
    char* filename = new char[255];
    cout << "Введите имя файла\n";
    cin>>filename;
    save(filename,gr,size);
    delete[]gr;
    delete []filename;
    system("pause");
}
Надо переделать, чтоб считывалось с файла. И подсчитывалось количество клиентов в каждой группе. Помогите с чем сможете))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 13:24     Работа с файлами!
Посмотрите здесь:

C++ Работа с файлами
Работа с файлами С++ C++
Работа с файлами. C++
Работа с файлами C++
Работа с файлами. C++
C++ Работа с файлами в C++
C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами
Работа с файлами C++
Работа с файлами C++ C++
Работа с файлами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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