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

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

Войти
Регистрация
Восстановить пароль
 
yamaschi
2 / 2 / 0
Регистрация: 09.12.2011
Сообщений: 34
#1

Работа с файлами, вывод победителя - C++

07.12.2012, 18:05. Просмотров 225. Ответов 0
Метки нет (Все метки)

Помогите исправить код,он должен выводить победителя c правильной фамилией и с максимальным баллом

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
82
83
84
85
86
87
88
89
90
91
92
93
#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
07.12.2012, 18:05     Работа с файлами, вывод победителя
Посмотрите здесь:

Работа с файлами. Вывести победителя с ФИО с максимальным баллом... (исправить) - C++
Помогите пож исправить код, он должен выводить победителя с ФИО с максимальным баллом,потом у кого 2 место и 3. Вот код: #include...

Ввод вывод.Работа с файлами - C++
Вот я ввожу данные . Но как их записать в файл? ofstream fot(&quot;database.txt&quot;,ios_base::out | ios_base::trunc); for(i=0;i&lt;10;i++) { ...

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

Работа с файлами, ввод/вывод - C++
Подскажите пожалуйста, как мне правильно написать программу: В файле содержится информация о сотрудниках(фамилия, инициалы, должность,...

Работа с Файлами (запись/вывод) - C++
Распечатать список учеников музыкальной школы, которые учатся играть на скрипке. Указать также, сколько лет они занимаются музыкой и...

Работа с файлами, необычный вывод из файла - C++
Дан текстовый файл и три переменные. Нужно вывести из каждой строки файла слово, номер которого указан в переменной, при этом работая в...

Работа с файлами (поиск и вывод чисел в файле) - C++
Как на с++ сделать программу, которая в текстовому файле найдет и выведет на дисплей все числа? Есть ли для этого функции?

Работа с файлами, ввод и вывод, многостроковые файлы - C++
Есть проблема. Я пытался создать такую программу, смыслом которой является: вывод данных из готового .txt файла, затем запрос ввода, запись...

Работа с текстовыми файлами: Вывод из текстового файла - C++
Доброго времени суток! Есть проблема с выводом из текстового файла, прошу помочь. Суть проблемы: При выводе из текстового файла последняя...

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

Работа с файлами: вывод-ввод результатов программы в текстовый файл - C++
#include&lt;iostream&gt; #include&lt;cstdlib&gt; #include&lt;ctime&gt; using namespace std; int main() { setlocale(0, &quot;rus&quot;); cout &lt;&lt;...

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


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

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

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