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

Получить список студентов с указанием среднего балла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Код ждёт ввода следующей строчки - цикл повторяется бесконечно. http://www.cyberforum.ru/cpp-beginners/thread344173.html
В учебнике написано, что вот этот код #include <iostream> #include <string> using namespace std; int main() { string word; while (cin >> word) cout << "прочитано слово:...
C++ Как сменить IP адрес день добрый. не подскажите как программно заставить венду сменить IP ? http://www.cyberforum.ru/cpp-beginners/thread344162.html
Немного о динамическом выделении памяти ... C++
объявление данных в классе: class Employee {.......... private: char *firstName; char *lasrName; }
помогите с islower() и setfill() C++
1)Библиотечная функция islower() принимает в качестве аргумента один символ (букву) и возвращает ненулевое целое значение в том случае, если буква является строчной, и нулевое, если буква является...
C++ Запись условия http://www.cyberforum.ru/cpp-beginners/thread344058.html
Здравствуйте, не подскажите как правильно записать условие, если скажем есть int a и оно должно быть равно 1 или 5: if(a== (1||5) \\or if(a==1||5) Может я что-то делал не так, но у меня ни один...
C++ может не в тот раздел поместил вопрос подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
22.08.2011, 12:40
Вот Си реализация по вводу данных в базу и выводу среднего балла
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <stdio.h>
 
FILE * f;
 
struct STUDENT
{
    char familia[32];
    char imya[32];
    char otchestvo[32];
 
    float matemat;
    float fizika;
    float history;
 
    float sr_ball;
};
STUDENT pSTD;
 
int IsDataBasePresent()
{
    int ret = 0;
    if(!(f = fopen("data.txt","rb+")))
    if(!(f = fopen("data.txt","wb+")))
        ret = -1;//Г”Г*éë Г*åëüçÿ Г§Г*ГЇГЁГ±Г*ГІГј
    else
        fclose(f);
    return ret;
}
 
void p1()
{
    if(IsDataBasePresent() == -1)
        printf("%s\r\n","NE MOGY POLYCHIT DOSTYP K [data.txt]");
    else
    {
        fseek(f,0,SEEK_END);//ГЏГЁГёГҐГ¬ ГўГЄГ®Г*ГҐГ¶ ГЎГ*çû
        printf("\tEnter student's data\r\n");
        printf("FAMILIA\t");scanf("%s",pSTD.familia);
        printf("IMYA\t");scanf("%s",pSTD.imya);
        printf("OTCHESTVO\t");scanf("%s",pSTD.otchestvo);
        
        printf("Ocenki po ekzamenam\r\n");
        printf("MATEMATIKA\t");scanf("%g",&pSTD.matemat);
        printf("FISIKA\t");scanf("%g",&pSTD.fizika);
        printf("ISTORIA\t");scanf("%g",&pSTD.history);
        pSTD.sr_ball = (pSTD.matemat + pSTD.fizika + pSTD.history) / 3;
        fwrite((void *)&pSTD,sizeof(STUDENT),1,f);
        printf("Vvod okoncen\r\n");
        fclose(f);
    }
}
 
void p2()
{
    long i,fLen;
    double n;
    if(IsDataBasePresent() == -1)
        printf("%s\r\n","NE MOGY POLYCHIT DOSTYP K [data.txt]");
    else
    {
        fseek(f,0,SEEK_END);
        fLen = ftell(f);
        fseek(f,0,SEEK_SET);
        
        n = fLen / sizeof(STUDENT);
        
        if(n < 1)
            printf("BASA DANNIH PYSTA!\r\n");
        else
        if(int(n/2)*2 != n)
            printf("BASA DANNIH POVREZHDENA!\r\n");
        else
        {
            printf("\tInformacia ob yspevaemosti\r\n");
            printf("FAMILIA I.O.\tSREDNI BALL\r\n");
            for(i = 0; i < n; i++)
            {
                fread((void *)&pSTD,sizeof(STUDENT),1,f);
                printf("%s %c.%c\t%.2f\r\n",
                    pSTD.familia,
                    pSTD.imya[0],
                    pSTD.otchestvo[0],
                    pSTD.sr_ball);
            }
        }
        fclose(f);
    }
}
 
int main()
{
    int choise;
    while(true)
    {
        printf("\tPROGRAM MENU\r\n");
        printf("1 - Vvesti dannie po sessii o studente\r\n");
        printf("2 - Polychit' spisok so sr ballom\r\n");
        printf("OTHER KEY - EXIT\r\n");
        printf("Vash vibor> ");scanf("%d",&choise);
        switch(choise){
        case 1:
            p1();
            break;
        case 2:
            p2();
            break;
        default :
            return 0;
            break;
        }
    }
    return 0;
}
[Результат работы]

1 - Vvesti dannie po sessii o studente
2 - Polychit' spisok so sr ballom
OTHER KEY - EXIT
Vash vibor> 1
Enter student's data
FAMILIA FAM2
IMYA NAM2
OTCHESTVO OTCH2
Ocenki po ekzamenam
MATEMATIKA 3
FISIKA 3
ISTORIA 5
Vvod okoncen
PROGRAM MENU
1 - Vvesti dannie po sessii o studente
2 - Polychit' spisok so sr ballom
OTHER KEY - EXIT
Vash vibor> 2
Informacia ob yspevaemosti
FAMILIA I.O. SREDNI BALL
FAM1 N.O 4.67
FAM2 N.O 3.67
PROGRAM MENU
1 - Vvesti dannie po sessii o studente
2 - Polychit' spisok so sr ballom
OTHER KEY - EXIT
Vash vibor>


Добавлено через 2 минуты
Цитата Сообщение от _д_м_и_т_р_и_й_ Посмотреть сообщение
данные хранятся в файле, а вывести их надо упорядочив лексикографически или по убыванию среднего балла , на выбор пользователя прграммы.
- сразу не прочёл, у меня просто вывод, сейчас модернезирую

Цитата Сообщение от Olga_ Посмотреть сообщение
Наверное лучше все выгрузить в массив структур и отсортировать, тогда изначально вы были правы.
- всё таки в этом случае думаю лучше читать из базы, пусть и несколько проходов делать (забыливаше замечание по поводу выделения памяти???)

Добавлено через 15 секунд
Цитата Сообщение от _д_м_и_т_р_и_й_ Посмотреть сообщение
данные хранятся в файле, а вывести их надо упорядочив лексикографически или по убыванию среднего балла , на выбор пользователя прграммы.
- сразу не прочёл, у меня просто вывод, сейчас модернезирую

Цитата Сообщение от Olga_ Посмотреть сообщение
Наверное лучше все выгрузить в массив структур и отсортировать, тогда изначально вы были правы.
- всё таки в этом случае думаю лучше читать из базы, пусть и несколько проходов делать (забыливаше замечание по поводу выделения памяти???)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru