Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Stocky
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 30
#1

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

09.01.2013, 21:44. Просмотров 1831. Ответов 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);
Но как вывести на экран фамилии и ИНИЦИАЛЫ студентов в алфавитном порядке ума не приложу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 21:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке (C++):

Вывести фамилии в алфавитном порядке - C++
Привет! Пытаюсь вывести фамилии в алфавитном порядке, но не выходит. Вот кусочек этого кода: get - метод string...

Вывести список неуспевающих студентов(в алфавитном порядке) - C++
Нужно вывести список неуспевающих студентов и указать в выводе предметы, по которым были получены двойки. Все данные записаны в бинарном...

Вывести журнал успеваемости студентов группы в алфавитном порядке - C++
Нужно написать код для решения следующей задачи Имеются сведения об успеваемости студентов факультета, который включают фамилию и...

Дан текстовый файл. Напечатать в алфавитном порядке - C++
Дан текстовый файл. Напечатать в алфавитном порядке все слова из заданного файла, имеющие длину n.

Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии - C++
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не...

Добавление новой фамилии (в алфавитном порядке ) - C++
Кто нибудь знает алгоритм для занесения в базу данных студентов в алфавитном порядке

1
yoghurt92
374 / 345 / 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;
Думаю тут ничего сложного нет, если что пиши, чем смогу, помогу
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2013, 23:59
Привет! Вот еще темы с ответами:

Отсортировать данные по фамилиям студентов в алфавитном порядке - C++
С текстового файла считать последовательность записей, содержащих данные о результатах сессии студентов группы в следующем формате:...

Отсортировать список в алфавитном порядке по фамилии, а затем по возрастанию года рождения - C++
В текстовом файле содержатся записи о студентах. Для каждого студента известны его фамилия, имя, отчество, год рождения, оценки по пяти...

Выведите фамилии и имена студентов в порядке убывания их среднего балла - C++
Выведите фамилии и имена студентов в порядке убывания их среднего балла

Структуры. Вывести фамилии студентов. - C++
Вывести фамилии студентов, балл по определенному предмету которых превышает средний балл по предмету на 0.5 балла


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

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

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