Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/64: Рейтинг темы: голосов - 64, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 1

Сортировка строк в файле

14.01.2017, 16:26. Показов 12785. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется текстовый файл со списком студентов, их курсом и оценками.

Petrov P.P. 2 4.7
Sidorov S.S. 1 3.9
Smirnova A.A. 3 5.0
Mironova M.M. 1 4.0
Pavlov D.D. 3 4.6
Filatova R.R. 2 4.2
Semevov G.G. 4 4.8
Orlova O.O. 3 3.9
Sokolova K.K. 1 4.6
Volkova V.V. 1 5.0
Alekseeva A.A. 3 4.8

В качестве задания предоставляется структура данных. Для данной структуры необходимо написать программу, в которой заданная по условию структура является информационным полем класса, в котором определены следующие методы:
1. Чтение из файла
2. Вывод на экран
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
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string.h>
#include <iomanip>
 
using namespace std;
 
const int L = 21;
const int N = 100;
 
struct student
{
    char name[L];
    int kurs;
    float rating;
};
 
class massiv
{
    student x[N];
    int n;
 
public:
    massiv() { n = 0; }
    massiv(massiv &z);
    
    void inputFileStudent();
    void outputStudent();
    void SortirovkaStudent();
};
void massiv::inputFileStudent()
{
    ifstream fin;
    char file[L];
    char iniz[5];
 
    n = 0;
 
    cout << "Name file? ";
    cin >> file;
    fin.open(file);
    if (fin.fail()) cout << "Error" << endl;
    do
    {
        fin >> x[n].name >> iniz >> x[n].kurs >> x[n].rating;
        strcat_s(x[n].name, " ");
        strcat_s(x[n].name, iniz);
 
        n++;
    } while (fin.good());
    n--;
    fin.close();
    cout << "file read" << endl;
    _getch();
}
 
 
void massiv::outputStudent()
{
    int i;
    cout << left;
    for (i = 0; i < n; i++)
 
        cout << setw(3) << i + 1 << setw(20) << x[i].name << setw(20) << x[i].kurs << setw(20) << x[i].rating << endl;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    massiv a;
    int j;
    while (1)
    {
 
        cout << "1 Vvod students iz file" << endl;
        cout << "2 Vivod students na ecran" << endl;
        cout << "3 Sortirovka students" << endl;
                cout << "4 End" << endl;
        cout << "Vibor pozicii: ";
        cin >> j;
        switch (j)
        {
        case 1: a.inputFileStudent(); break;
        case 2: a.outputStudent(); break;
        case 3: a.SortirovkaStudent(); break;
        case 4: cout << "rabota zavershena"; exit(0);
        default: cout << "Error" << endl;
            _getch();
 
        }
    }
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.01.2017, 16:26
Ответы с готовыми решениями:

Сортировка строк в файле
Добрый вечер. Пиши программу, которая сортирует строки в файле. Количество строк неизвестно. Строки всегда в формате &quot;название...

Сортировка строк в файле
Добрый день.Сейчас возникли огромные проблемы с написанием программы на Си. Можете пожалуйста, помочь? На компьютере создан файл, в...

Сортировка строк в файле
Дана строка вида: Имя Фамилия номер_телефона дата_рождения. Нужно выполнить сортировку строк в файле по первым двум цифрам номера...

1
 Аватар для moskitos80
442 / 99 / 42
Регистрация: 04.10.2011
Сообщений: 359
15.01.2017, 00:57
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstring>
 
// ...
 
void massiv::SortirovkaStudent()
{
    sort(x, x + n, [](const student & a, const student & b) {
        return strcmp(a.name, b.name) < 0;
    });
 
    outputStudent();
};
 
// ...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2017, 00:57
Помогаю со студенческими работами здесь

Сортировка строк в файле по количеству чисел в строке
Здравствуйте. Подскажите пожалуйста. Есть файл, в котором записаны строки с числами. Например вот так: 12 22 34 15 4 1223 334 0 1 2 0 ...

Сортировка строк в файле
Здравствуйте, никак не могу реализовать сортировку строк по алфавиту после после первого пробела Изначальный список: ЗАО Рога и Копыта...

Сортировка строк в файле
как мне отсортировать список мыл, вобщем список типа asd@mail.ru asdd@yandex.ru sdfdsf@list.ru blabla@mail.ru ddd@yandex.ru ......

Сортировка строк в файле по алфавиту
Помогите у меня есть файл из него я читаю строки первая и вторая считались и если по алфавиту первая начинается с в а вторая с а то...

Сортировка строк в файле по длине
Дан текстовый файл со строками. Отсортировать строки в файле по возрастанию(по длине строки). Может кто видел готовое решение?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru