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

Работа с файлом (Создать структуру студент) - C++

Восстановить пароль Регистрация
 
Kirochka
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 6
25.03.2013, 16:20     Работа с файлом (Создать структуру студент) #1
помогите пожалуйста сделать( у меня не получается(

Создать структуру студент(Фамилия, возраст, номер группы, средний балл). Считать из файла список студентов и вывести его на экран, отсортировав по фамилии.
Отсортировать студентов по группам, а внутри группы по возрастанию среднего балла
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 16:20     Работа с файлом (Создать структуру студент)
Посмотрите здесь:

C++ Используя структуру для определения понятия студент, распечатать фамилии и имена отличников.
[C++] Создать класс студент и классы бюджетный студент и коммерческий студент. C++
C++ Создать структуру: студент
Работа с бинарным файлом (Создать новый текстовый файл, в котором числа будут отсортированы в порядке возрастания.) C++
C++ Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,047
Записей в блоге: 18
Завершенные тесты: 1
25.03.2013, 16:51     Работа с файлом (Создать структуру студент) #2
Каким образом в файле будет храниться студент?

Фамилия:возраст:номер группы:средний балл
Шишкин:19:01:4.2

Так например?
Kirochka
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 6
25.03.2013, 17:15  [ТС]     Работа с файлом (Создать структуру студент) #3
угу
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,047
Записей в блоге: 18
Завершенные тесты: 1
25.03.2013, 18:01     Работа с файлом (Создать структуру студент) #4
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
#include <cstdlib>
#include <iostream>
#include <fstream>
 
#include <list>
#include <string>
#include <sstream>
 
using namespace std;
 
 struct STUDENT
{
    std::string name;
    int age;
    int  group;
    float   yspev;
}stud1[30];
 
int main(int argc, char *argv[])
{
//    system("PAUSE");
   
    
    char s[256], c;  
    
    
  cout << "File name? "; cin >> s;
  ifstream f;  
  
  f.open(s);
 
  int curStudN=0;
  // заполним массив студентов из файла
    while (!f.eof())
    
   {    f.getline(s, 256);
   
    std::istringstream stream(s);
    std::string str;
    char delim = ':';
    int i = 0;
    while (std::getline(stream, str, delim))
    {
        if (i==0) stud1[curStudN].name = str;
        if (i==1) stud1[curStudN].age =  atoi(str.c_str());
        if (i==2) stud1[curStudN].group = atoi(str.c_str());
        if (i==3) stud1[curStudN].yspev = atof(str.c_str());
    }
    
    curStudN++;
     
}
    system("PAUSE");
    return EXIT_SUCCESS;
}
Осталось только отсортировать и вывести на экран )
Kirochka
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 6
25.03.2013, 18:04  [ТС]     Работа с файлом (Создать структуру студент) #5
а как произвести двойную сортировку?
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,047
Записей в блоге: 18
Завершенные тесты: 1
25.03.2013, 18:11     Работа с файлом (Создать структуру студент) #6
Сначала произвести сортировку по группе - результат сохранить например в массив groups[] типа Students.
Потом пройтись по этому массиву groups и в каждом просортировать по возрастанию среднего балла.

Советую написать дополнительную функцию/процедуру, которая сортирует по определенному полю массив, состоящий из структур типа Student в нужном порядке.

ЗЫ.
Можно наверное гораздо проще, если знать, как в C++ сортировать лист типа std::list<std::string> если он содержит сложные структуры.

Тогда можно было бы создать что-то вроде
std::list<STUDENT> students;
students.push_back(stud1);

и потом уже сортировать как хочешь этот лист.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 18:16     Работа с файлом (Создать структуру студент)
Еще ссылки по теме:

Создать расширенный класс СТУДЕНТ C++
Как создать структуру-список, поля которой — ссылка на такую же структуру C++

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

Или воспользуйтесь поиском по форуму:
Kirochka
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 6
25.03.2013, 18:16  [ТС]     Работа с файлом (Создать структуру студент) #7
спасибо большое)
Yandex
Объявления
25.03.2013, 18:16     Работа с файлом (Создать структуру студент)
Ответ Создать тему
Опции темы

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