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

Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии методом выбора - C++

Восстановить пароль Регистрация
 
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
11.03.2013, 18:07     Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии методом выбора #1
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

Задание 1 Сортировка 1
В файле input.txt содержатся сведения о группе студентов в формате:
номер группы;
запись о каждом студенте группы содержит следующие сведения: фамилия, имя, отчество, год рождения, оценки по пяти предметам.
Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
методом выбора.
input
Код
Колинин Вячеслав Васильевич
1990
3 5 4 5 5
Калинин Вячеслав Васильевич
1990
3 5 4 5 5
Когинин Вячеслав Васильевич
1990
3 5 4 5 5
Авдеев Виктор Васильевич
1991
3 5 3 4 4
Голубцова Валерия Алексеевна
1989
5 5 4 5 4
Барсуков Владимир Сергеевич
1991
3 4 4 3 5 
Веденеев Николай Денисович
1993
5 4 5 4 3
Код программы:
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
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
struct Student //структура студент
{
    string Name, Marks, Date;
};
 
int DateToInt(string Str) //функция для перевода даты рождения из строки в число
{
    stringstream stream(Str); //загоняем в стингстрим
    int date; //числовое представление даты
    stream >> date; //получаем в числовом виде
    return date; //возвращаем дату в числовом виде
}
 
int main()
{
    setlocale(LC_ALL, "Russian"); //включаем кириллицу
    Student arr[10]; //массив структур
    int n = 0; //счетчик количества структур в файле
    ifstream fin("input.txt"); //файл
    if(fin.is_open())//если октрыт
        while(!fin.eof())//пока нет конца файла
        {
            getline(fin, arr[n].Name); //считываем ФИО
            fin.sync();//синхронизируем поток (убираем из него мусор)
            getline(fin, arr[n].Date); //считываем дату
            fin.sync();
            getline(fin, arr[n].Marks); //считываем оценки
            fin.sync();
            n++; //увеличиваем счетчик
        }
    fin.close(); //закрыли входной файл
    for(int i = 0; i < n - 1; i++) //внешний цикл сортировки по ФИО  (методом выбора)
        for(int j = i + 1; j < n; j++) //внутренний цикл сортировки по ФИО
            if(arr[i].Name > arr[j].Name) //если 1 буква 1 структуры больше за 1 букву следующей структуры
            {
                Student tmp; //меняем местами структуры через дополнительную переменную
                tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
    ofstream fout("output.txt");    // выходной файл
    for(int i = 0; i < n; i++) //цикл
    {
        fout<<arr[i].Name<<endl<<arr[i].Date<<endl<<arr[i].Marks<<endl; //записываем данные в файл
        cout<<arr[i].Name<<endl<<arr[i].Date<<endl<<arr[i].Marks<<endl;
    }
    fout.close();   //закрыли выходной файл
    
    system("pause");
    return 0;
}
output
Код
Авдеев Виктор Васильевич
1991
3 5 3 4 4
Барсуков Владимир Сергеевич
1991
3 4 4 3 5 
Веденеев Николай Денисович
1993
5 4 5 4 3
Голубцова Валерия Алексеевна
1989
5 5 4 5 4
Калинин Вячеслав Васильевич
1990
3 5 4 5 5
Когинин Вячеслав Васильевич
1990
3 5 4 5 5
Колинин Вячеслав Васильевич
1990
3 5 4 5 5
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:07     Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии методом выбора
Посмотрите здесь:

C++ В файле input.txt содержатся сведения о группе студентов. переписать данные файла в файл output.txt, отсортировав их по возрастанию
C++ Переписать данные файла input.txt в output.txt, отсортировав их
C++ Переписать данные файла input.txt в output.txt, отсортировав их
C++ Дан одномерный массив из n (n≤104) элементов, осортировать его по возрастанию методом выбора через input.txt, output.txt
Исправить программу, чтоб считывала текст из файла Input.txt и выводит в файл Output.txt C++
C++ Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
C++ Найти минимальное и максимальное числа из input.txt и записать его в файл output.txt
Переписать данные файла input.txt в файл output, отсортировав их по возрастанию средней оценки методом выбора C++

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

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

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