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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Подправить код в двумерном массиве http://www.cyberforum.ru/cpp-beginners/thread898459.html
Есть задание: В матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине элемент матрицы. есть рабочий код: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int** init_arr(unsigned x, unsigned y) { srand(time(0));
C++ (матрица)Почему ошибка в if? int d=1;k=0; for(j=k;j<d;j++,d++) for(i=0;i<n;i++) {if(a%2!=0)// Здесь ошибка http://www.cyberforum.ru/cpp-beginners/thread898455.html
C++ Сортировать матрицу
Сортировать матрицу таким образом, чтобы сначала располагались все серии из одинаковых элементов, а затем - все остальные элементы.
Алгоритм имитации отжига при решении задачи размещения электронных схем C++
Подгоните примерчик пожалуйста на такую тему для саморазбора
C++ обработка исключительных ситуаций http://www.cyberforum.ru/cpp-beginners/thread898446.html
Необходимо реализовать обработку исключительных ситуаций в програм- ме, в котором реализуется циклический алгоритм вычисления вектора значений функции f(x) (таблица 14.1). На дисплей в цикле выводится значение аргумента x и соответствующее значение функции f(x), а также сообщения об исключитель- ных ситуациях в программе, связанных с делением на нуль и пр. f(x)= квадратный...
C++ Сформировать массивы: ординаты точек, которые находятся в первом / третьем квадранте и их количество Даны координаты точек х1, у1, х2, у2,... х15, у15. Сформировать и вывести на печать два массива: А - ординаты точек, которые находятся в первом квадранте, и их количество; массив В - абсциссы точек, которые находятся в третьем квадранте, и их количество. Дано координати точок х1, у1, х2, у2,… х15, у15. Сформувати і вивести на друк два масиви: А – ординати точок, які знаходяться в першому... подробнее

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


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");
}
Надо переделать, чтоб считывалось с файла. И подсчитывалось количество клиентов в каждой группе. Помогите с чем сможете))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru