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

Составить программу, которая корректирует список и сортирует его либо по среднему баллу - C++

Восстановить пароль Регистрация
 
Мария05
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 13
05.04.2013, 07:46     Составить программу, которая корректирует список и сортирует его либо по среднему баллу #1
Список студенческой группы записан на диске как текстовый файл. Каждая строка списка содержит фамилию студента и три экзаменационные оценки, причем список никак не упорядочен. Составить программу, которая корректирует список и сортирует его либо по среднему баллу, либо по алфавиту, либо по оценкам, либо по заданному предмету.
Список записывается в файл либо под старым, либо под новым именем.


не знаю как сделать корректировку, а в сортировке ничего в ответ не выдает
кидаю вам коды:
1) создание файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<string.h>
main()
      {
                 char fio[16];
                 int a,m,k;
                 FILE *f;
                 f=fopen ("STUDENT.C","w");
                 printf("vvod fio,a,m,k\n");
                 scanf("%s",fio);
                 for(;fio[0]!='*';)
                                   {
                                            scanf("%s%d%d%d",&a,&m,&k);
                                            fprintf(f,"%s %d %d %d\n", fio,a,m,k);
                                            scanf("%s",fio);
                                   }
                                   fclose(f);
                                   printf("file sozdan\n");
                                   scanf("%d",&m);
      }
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
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <string.h>
    main()
       {
          FILE *f, *g;
          char fiox[15], fioy[15];
          int ax, ay, mx, my, kx, ky,fl,i,k;
          i=0;
          printf("viberi tip sortirovki:po alfavitu-1,po srednemu ballu-2, po ocenkam:OS-3,OAP-4,KS-5\n");
          scanf("%d",&k);
          for( fl=1; fl ==1;)
         {
            fl=0;
            f=fopen("STUDENT.C","r");
            g=fopen("vspm.C","w");
            fscanf(f,"%s%d%d%d",fiox,&ax,&mx,&kx);
            for( ; !feof(f) ; )
               {
               i++;
               fscanf(f, "%s%d%d%d" , fioy, &ay, &my, &ky);
               if( feof(f) )  break;
               if(( k==1 && strcmp(fiox,fioy)>0 )||
                 (k==2 && (ax+mx+kx)<(ay+my+ky))||
                 (k==3 && (ay>ax))||
                 (k==4 && (my>mx))||
                 (k==5 && (ky>kx)))
                 {
                 fl = 1;
                 fprintf(g, "%s %d %d %d\n", fioy, ay, my, ky);
                  }
               else
                  {
                 fprintf(g, "%s %d %d %d\n", fiox, ax, mx,kx);
                 strcpy( fiox, fioy );
                 ax=ay;mx=my;kx=ky;
                  }
               }
            fprintf(g, "%s %d %d %d\n", fiox, ax, mx, kx);
            fclose(f);
            fclose(g);
            f = fopen("STUDENT.C","w");
            g = fopen("vspm.C","r");
            for(;!feof(g);)
               {
              fscanf(g,"%s%d%d%d",fiox, &ax, &mx, &kx);
              if( feof(g))    break;
              fprintf(f,"%s %d %d %d\n", fiox, ax,mx, kx);
               }
             fclose(f);
             fclose(g);
         }
              scanf("%d",&k);
          }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2013, 07:46     Составить программу, которая корректирует список и сортирует его либо по среднему баллу
Посмотрите здесь:

Напишите программу, которая сортирует цифры числа по возврастанию C++
C++ Составить программу которая переворачивает список L, изменяет ссылки в этом списке так, чтобы его элементы оказались расположенными в обратном порядке
C++ Составить программу, которая определяет список символов...
Упорядочить список студентов по среднему баллу и вывести весь список C++
Составить программу, которая вводит основу и высоту треугольника и выводит его площадь. C++
C++ Составить программу, которая инвертирует строку, подавая его в обратном виде;
C++ Составить программу, которая добавляет за каждым словом все его падежные формы
Составить программу, которая выдает список работников и ведомости начисления зарплаты C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
05.04.2013, 18:25     Составить программу, которая корректирует список и сортирует его либо по среднему баллу #2
Мария05, я бы вам посоветовал создать класс или структуру STUDENT, затем создать массив студентов или хранить данные в каком-то контейнере, причем для контейнеров уже есть готовые сортировки
Yandex
Объявления
05.04.2013, 18:25     Составить программу, которая корректирует список и сортирует его либо по среднему баллу
Ответ Создать тему
Опции темы

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