1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
1

Сортировка по алфавиту

22.08.2019, 22:11. Показов 715. Ответов 9
Метки нет (Все метки)

Имееться файл с данными о читателях:
Savchuk:Lida:Ivanovna:1956:56953247:4:0:1:500:
Marchenkomitry:Olegovich:1999:54446844:3:1:2:500:
и тд
нужно ВЫВЕСТИ всех в алфавитном порядке но программа не выводит и вылетает. Помогите пожалуйста
Вот код:
FILE* f = fopen("_data//_rdrs_inf.txt", "r");
char buf[255];
char letter;
int num_of_str = 0; //количество читателей(1 читатель на 1й строке)
while (fgets(buf, 255, f))
num_of_str++;
fseek(f, 0, SEEK_SET);
READER_AND_INFO_OF_READER*reader = new READER_AND_INFO_OF_READER[num_of_str];
for (int i = 0; i < num_of_str; i++)
{
fscanf(f, "%[^:]:%[^:]:%s:%i:%i:%i:%i:%i:\n", reader[i].last_name,reader[i].first_name,reader[i].patronymic,reader[i].date_of_birth,reader[i].passport_num, reader[i].ID_number, reader[i].num_of_read_books,reader[i].money);
}
//запись инфо о читателях
int i = 0;
int*let=new int[num_of_str+1000];
int num_of_str_for_ = 0; //счетчик читателей 1-17
int ascii_num = 65;// код буквы А
//с этого момента код вылетает
do //сортировка читателей по алфаввиту делаеться записью в массив айди читателя(у всех разный)если 1я буква а, б, в и тд
{
while (num_of_str_for_ < num_of_str)
{
letter = reader[num_of_str_for_].last_name[0];
if (letter == ascii_num)
{
let[i] = reader[num_of_str_for_].ID_number;
i++;
}
num_of_str_for_++;
}
ascii_num++;
num_of_str_for_ = 0;
} while (ascii_num != 91);

fclose(f);
FILE* f = fopen("_data//_rdrs_inf.txt", "r");

//вывод идет по очереди айди, которые уже отсортированы по алфавиту
for (int g = 0; g < num_of_str; g++)
{
fscanf(f, "%[^:]:%[^:]:%[^:]:%i:%i:%i:%i:%i:\n", reader[g].last_name, reader[g].first_name, reader[g].patronymic, &reader[g].date_of_birth, &reader[g].passport_num, &reader[g].ID_number, &reader[g].num_of_read_books, &reader[g].money);
if (item == g)
{
setColor();
cout << reader[let[g]].last_name;
resetColor();
cout<<endl;
}
else
cout << reader[let[g]].last_name << endl;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2019, 22:11
Ответы с готовыми решениями:

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

Сортировка по алфавиту
Нужно отсортировать список студентов за месяцем рождения, Студенты, месяц у которых одинаков -...

Сортировка по алфавиту
На вход подается некоторое количество описаний книг (автор, название, количество страниц)....

Сортировка по алфавиту
Здравствуйте! Помогите отсортировать содержимое каталога по алфавиту. В этом каталоге может...

9
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
22.08.2019, 22:20 2
chueveve, А ты видел свой пост? Там непонятно, то ли ты ржёшь , то ли опечален .
Выложив кучу нечитабельного кода.
0
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
22.08.2019, 22:24  [ТС] 3
я не ржу, это почему-то форум вместо символов смайл веселый поставил и да я не скопировал библиотеки так как это кусок большого кода
0
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
22.08.2019, 22:26 4
Цитата Сообщение от chueveve Посмотреть сообщение
я не ржу, это почему-то форум вместо символов смайл веселый поставил и да я не скопировал библиотеки так как это кусок большого кода
Там сверху видел кнопочки - C++ и т.д? Они как раз для этого.
0
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
22.08.2019, 22:37  [ТС] 5
Увидел так как 1й день тут, + файл то не код и еще Marchenko: Dmitry (только без пробела) смайл из за двоеточия и буквы Д
0
567 / 406 / 132
Регистрация: 22.11.2017
Сообщений: 1,046
22.08.2019, 23:18 6
chueveve, привет!
У тебя код на C++?
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>
#include <iterator>
 
int main()
{
    setlocale(LC_ALL, "Rus");
    const std::string path("input.txt");
 
    std::ifstream fin;
    fin.open(path);
    if (!fin.is_open())
    {
        std::cout << "Файл по адресу " << path << " не удалось открыть\n";
        return 1;
    }
    std::vector<std::string> text;
    for (;fin.good();)
    {
        std::string line;
        std::getline(fin, line);
        text.push_back(line);
    }
    std::sort(std::begin(text), std::end(text));
    std::copy(std::begin(text), std::end(text), std::ostream_iterator<std::string>(std::cout, "\n"));
 
    return 0;
}
2
Миниатюры
Сортировка по алфавиту  
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
22.08.2019, 23:30  [ТС] 7
Привет!Вообще нас учат с++ но он вроде не чистый там си чистый есть и шарп... и мы не учили std:наверное все же это не только с++) а что за код?
0
567 / 406 / 132
Регистрация: 22.11.2017
Сообщений: 1,046
23.08.2019, 08:44 8
Цитата Сообщение от chueveve Посмотреть сообщение
все же это не только с++)
В смысле? Ты про что?
Цитата Сообщение от chueveve Посмотреть сообщение
а что за код?
Мой код? Он на C++ написан с использованием STL, которая включена в стандарт C++.
0
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
23.08.2019, 11:04  [ТС] 9
то что вроде как это смесь си и с++
0
567 / 406 / 132
Регистрация: 22.11.2017
Сообщений: 1,046
23.08.2019, 11:52 10
Цитата Сообщение от chueveve Посмотреть сообщение
то что вроде как это смесь си и с++
C++ это смесь C++ и Си. То есть на C++ можно писать, используя конструкции из Си.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2019, 11:52

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Сортировка по алфавиту
Сортировка структуры по алфавиту и дате. Структура проекта состоит из: фамилия студента, дата,...

Сортировка по алфавиту
Правильные глаголы находятся и все нормально выводится, но сортировка по алфавиту не работает...

сортировка по алфавиту
Задача: Описать структуру с именем PRICE, содержащую следующие поля: название товара; ...

Сортировка по алфавиту
Ознакамливаюсь со структурами. Все прекрасно, осталось только отсортировать символьные массивы по...


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

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

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