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

Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Stocky
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 30
09.01.2013, 21:44     Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке #1
В общем такое задание. Есть текстовый файл который содержит <фамилия>, <имя>, <очество>, <год рождения>, <курс>, <пол>, данные студентов разделяются ";" .Нужно написать прогу которая выводит на экран фамилии и ИНИЦИАЛЫ студентов в алфавитном порядке
Собственно вот начало
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str[256], *a, *b, name[12], surname[12], oldname[12]; 
    int tmp;
    FILE *f=fopen("file.txt", "rt");
    if (f==NULL)
    {
        cout<<"file ne nayden";
        cin>>a;
        return -1;
    }
    while (!feof(f))    //когда не конец файла тоже что и while (f!=EOF)
    {
        fscanf(f, "%s", str);
        a=strchr(str,',');
        a++;
        b=strchr(a, ',');
        b++;
        tmp=atoi(b);
Но как вывести на экран фамилии и ИНИЦИАЛЫ студентов в алфавитном порядке ума не приложу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 21:44     Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке
Посмотрите здесь:

Добавление новой фамилии (в алфавитном порядке ) C++
[C++] Отсортировать данные по фамилиям студентов в алфавитном порядке C++
C++ Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
C++ Вывести список неуспевающих студентов(в алфавитном порядке)
C++ Дан текстовый файл. Напечатать в алфавитном порядке
Вывести фамилии в алфавитном порядке C++
C++ Выведите фамилии и имена студентов в порядке убывания их среднего балла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
09.01.2013, 23:59     Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке #2
Ну я делал вот так:

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
struct Sworker
    {
        char Fam[30];
        char Dolgnost[20];
        int GodPost;
        int stag;
        int grup;
    };
 
    const int n = 10;
    Sworker *grup = new Sworker[n];
 
    cout << Rus("Введите информацию о рабочих:") << endl;
    cout << endl;
 
    for ( int i = 0; i < n; i++)
    {
        cout << Rus("Введите фамилию рабочего[")<<i+1<<("]:") << endl;
        cin >> grup[i].Fam;
        cout << Rus("Введите должность рабочего[")<<i+1<<("]:") << endl;
        cin >> grup[i].Dolgnost;
        cout << Rus("Введите год поступления рабочего[")<<i+1<<("]:") << endl;
        cin >> grup[i].GodPost;
        cout << Rus("Введите стаж рабочего[")<<i+1<<("]:") << endl;
        cin >> grup[i].stag;
    }
 
    for(i = 0; i < n-1; i++)
        for( int j = i+1; j < n; j++)
            if(strcmp(grup[i].Fam, grup[j].Fam) > 0)          //вот тут и происходит сортировка в алфавитном порядке
            {
                Sworker t = grup[i];
                grup[i] = grup[j];
                grup[j] = t;
 
            }
            
            cout << endl;
            for(i = 0; i < n; i++)
            cout << grup[i].Fam << endl;
Думаю тут ничего сложного нет, если что пиши, чем смогу, помогу
Yandex
Объявления
09.01.2013, 23:59     Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке
Ответ Создать тему
Опции темы

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