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

Работа с файлами (вывод участника с ФИО с максимальным баллом) - C++

Восстановить пароль Регистрация
 
makarych477
3 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 12
14.12.2012, 21:52     Работа с файлами (вывод участника с ФИО с максимальным баллом) #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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
 
#define  DL_NUM 3   /* nomer uchastnica */
#define  DL_FIO 25  /* dlina polya familii v fayle */
#define  DL_SCHOOL 5     /* dlina polya nomera school  */
#define  DL_BALL 15  /* dlina polya 5 ocenok + '\n'+'\0' */
#define  DL_SUM 3   /*dlina polya summi ballov*/
 
struct olimpiada        /* struktura zapisi vkhodnogo fayla */
{  char  num[DL_NUM]; /* nomer uchastnika */
    char  fio[DL_FIO]; /* familiya i initsialy patsi */
    char  school[DL_SCHOOL];   /* nomer school */
    char  ball[DL_BALL];   /* spisok ballov */
    char  sum[DL_SUM];
};
   /* Prototipy funktsiy */
void POBEDIT(FILE *f);
            /*--------------------*/
            /* Glavnaya funktsiya */
            /*--------------------*/
int main()
{
   FILE *f;  /* ssylka na vkhodnoy fayl */
   char n;   /* nomer punkta menyu */
   clrscr();
   f= fopen("olimpia.txt","r");
   if (f==NULL)
   {  puts("File olimpia.txt ne najden");
        getch();
        return 1;
   }
   do
   {  puts ("\n========================================================");
        puts ("Vyberite nomer punkta menyu:");
        puts ("1 - vyvod FIO pobediteley,zanjavschie pervie 3 mesta");
        puts ("2 - vihod");
        puts ("------------------------------------------------------");
        n = getche();
        switch(n)
        {
           case '1': POBEDIT(f); break;
           case '2': break;
        default: puts("\nNuzhno vvodit nomer punkta ot 1 do 3");
        }
        if (n!='3')
        {  puts("\nDlya prodolzheniya nazhmite lyubuyu klavishu");
               getch();
        }
   }
   while (n!= '3');
   fclose(f);
   return 0;
}
/*--------------------------------------*/
/* Funktsiya vyvoda spiska pobediteley, */
/*     zanjavschie pervie 3 mesta       */
/*--------------------------------------*/
void POBEDIT(FILE *f)
{
struct olimpiada tz;
   int   i,n=0;
   float    s,max;
       puts ("\n    fio        N school     summa");
       puts ("-----------------------------------");
       while (fgets((char*)&tz,sizeof(struct olimpiada),f)!=NULL)
       { for (i=0,s=0; i<5; i++)
            s += tz.ball[i]-'0';
           tz.fio[DL_FIO]='\0',
           tz.num[DL_NUM]='\0';
           tz.school[DL_SCHOOL]='\0';
       { if (s > max)
                max=+s;
                    }
               }
        printf("%s %s %s %.1f\n",tz.num, tz.fio, tz.school, max);
       fclose(f);
       getch();
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 21:52     Работа с файлами (вывод участника с ФИО с максимальным баллом)
Посмотрите здесь:

вывести ФИО игрока с максимальным количеством матчей C++
Работа с файлами. Неверный вывод. C++
C++ С++ работа с файлами (поиск и вывод чисел в файле)
C++ Работа с файлами. Вывести победителя с ФИО с максимальным баллом... (исправить)
C++ С++ Работа с Файлами(запись\вывод)
C++ Работа с текстовыми файлами: Вывод из текстового файла
C++ Структуры в С++ и вывод студентов со средним баллом больше 7. Исправить код
C++ Работа с файлами: ввод/вывод структур ("Город")

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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