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

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

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

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

11.06.2013, 13:24. Просмотров 284. Ответов 0
Метки нет (Все метки)

Задание:
В спортивном клубе проводится предварительная запись в группы для занятий. Каждый клиент указывает количество занятий, дни и время, вид занятий. Составить график занятий для всех желающих. Затем определить группы, в которые попало количество клиентов меньшее, чем задано пользователем. Организовать диалог с пользователем, напечатать исходные данные и результаты в наглядном виде, с заголовками.


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");
}
Надо переделать, чтоб считывалось с файла. И подсчитывалось количество клиентов в каждой группе. Помогите с чем сможете))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 13:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами! (C++):

Работа с файлами - C++
Открыть каталог, проверить файлы на обычность, проверить в именах файлов наличие знака $, и если он есть заменить на размер файла. ...

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

Работа с файлами - C++
Подскажите пожалуйста что не так в программе. Она не открывает заданые файлы. #include &lt;fstream&gt; #include &lt;iostream&gt; #include...

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

Работа с файлами - C++
Как правильно сохранить и загрузить класс с динамическим двумерным массивом. Есть класс class CObject { protected: int...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 13:24
Привет! Вот еще темы с ответами:

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

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

Работа с файлами С++ - C++
Есть некий кусок кода, который должен с читать первое значение из файла, увеличить его и затем обратно записать его в файл. int co=0; ...

работа с файлами - C++
Здравствуйте! Написать программу, определяющую сумму &quot;S=1/2+......+1/10,&quot; записывать S во внешний файл, закрыть файл, открыть файл и...


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

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

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