Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 87

Не делает сортировку или не выводи,не могу понять что не так

17.02.2018, 00:28. Показов 787. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу обработки файла типа запись, содержащую следующие пункты меню: «Создание», «Просмотр», «Коррекция» (добавление новых данных или редактирование старых), «Решение индивидуального задания».
Каждая запись должна содержать следующую информацию о студентах:
– фамилия и инициалы;
– год рождения;
– номер группы;
– оценки за семестр: по физике, математике, информатике, химии;
– средний балл.
Организовать ввод исходных данных, средний балл рассчитать по введенным оценкам.
Содержимое всего файла и результаты решения индивидувльного задания записать в текстовый файл.


а вот сому сортировку"Распечатать анкетные данные студентов, имеющих оценки 4 или 5 по физике и оценку больше 8 по остальным предметам." не получается

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
114
115
116
117
118
119
#define _CRT_SECURE_NO_WARNINGS
#pragma hdrstop
#include <io.h>
#include <cstdio>
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
 
 
 
 
 
struct TZap {
    char FIO[30];
    int god, grup, fiz, mat, inf, him;
    double srb;
}Zap;
int size = sizeof(TZap);
FILE *Fz, *Ft;
char File_Zap[] = "zapisi.dat";
char File_Rez[] = "rezult.txt";
void Out(TZap);
 
int main()
{
    //setlocale(LC_ALL, "rus");
    int D_f,kod,i = 0, kol;
    long len;
    TZap st, *mas_Z;
    Ft = fopen(File_Rez, "w");
    while (true) {
        puts("\n Sozdat = 1\n Redaktirovat = 2\n Prosmotr = 3\n Reshit = 4\n Exit = 0");
        scanf("%d", &kod);
        switch (kod) {
        case 1:
            if ((Fz = fopen(File_Zap, "wb")) == NULL) {
                puts("\n Create ERROR!");
                return 0;
            }
            fclose(Fz);
            printf("\n Create New File %s !\n", File_Zap);
            break;
        case 2:
            Fz = fopen(File_Zap, "ab");
            printf("\n FIO = ");
 
            fflush(stdin);
            gets_s(Zap.FIO);
            scanf("%s", &Zap.FIO);
            printf("\n Data rozdenia = ");
            scanf("%d", &Zap.god);
            printf("\n Gruppa = ");
            scanf("%d", &Zap.grup);
            printf("\n Fizika = ");
            scanf("%d", &Zap.fiz);
            printf("\n Matem = ");
            scanf("%d", &Zap.mat);
            printf("\n Himia = ");
            scanf("%d", &Zap.him);
            printf("\n Infor = ");
            scanf("%d", &Zap.inf);
            Zap.srb = (Zap.fiz + Zap.mat + Zap.inf + Zap.him) / 4;
            fwrite(&Zap, size, 1, Fz);
            fclose(Fz);
            break;
        case 3:
            if ((Fz = fopen(File_Zap, "rb")) == NULL) {
                puts("\nOPEN ERROR!");
                return 0;
            }
            printf("\n\t------INFORMATIONS------");
            fprintf(Ft, "\n\t------INFORMATIONS------");
            while (1) {
                if (!fread(&Zap, size, 1, Fz))break;
                Out(Zap);
            }
            fclose(Fz);
            break;
        case 4:
 
            Fz = fopen(File_Zap, "rb");
            D_f = _fileno(Fz);
            len = _filelength(D_f);
            kol = len / size;
            mas_Z = new TZap[kol];
            for (i = 0; i < kol; i++) {
            fread((mas_Z + i), size, 1, Fz);
        }
                fclose(Fz);
                printf("\n\t----- S O R T -----\n");
                fprintf(Ft, "\n\t----- S O R T -----\n");
            
            for (i = 0; i < kol-1; i++) {
 
                if ((mas_Z[i].fiz == 4) && (mas_Z[i].fiz == 5) && (mas_Z[i].him > 8) && (mas_Z[i].mat > 8) && (mas_Z[i].inf == 8))
                    //for (i = 0; i < kol; i++) 
                Out(mas_Z[i]);
            }
        
                delete[]mas_Z;
                break;
            
        case 0:
            fclose(Ft);
            return 0;
 
        }
 
 
 
 
    }
}
    
    void Out(TZap z) {
    printf("\n%20s,%d,%6d,%d,%d,%d,%d,%5.2lf.", z.FIO, z.god, z.grup, z.fiz, z.mat, z.inf, z.him, z.srb);
    fprintf(Ft, "\n%20s,%d,%d,%d,%d,%d,%d,%5.2lf.", z.FIO, z.god, z.grup, z.fiz, z.mat, z.inf, z.him, z.srb);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2018, 00:28
Ответы с готовыми решениями:

Не могу понять на что способен sort, и что делает его компаратор
Недавно мой знакомый рассказывал что-то про sort,говорил что с помощью него можно сортировать как хочешь и что хочешь,с сортировкой qSort и...

Не могу понять что делает функциия
map&lt;char,int&gt; next; int &amp;get (char c) { if (!next.count(c)) next = -1; return next; } И можно ли будет заменить его...

Не могу понять что делает LockMode.READ в Hibernate
Много разной информации по поводу этой блокировки но обычно обходятся одним предложением. Версии которые я прочел: -В jpa пишется что...

2
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.02.2018, 00:33
Цитата Сообщение от Pelmesh_ Посмотреть сообщение
C
1
2
printf("\n%20s,%d,%6d,%d,%d,%d,%d,%5.2lf.", z.FIO, z.god, z.grup, z.fiz, z.mat, z.inf, z.him, z.srb); 
fprintf(Ft, "\n%20s,%d,%d,%d,%d,%d,%d,%5.2lf.", z.FIO, z.god, z.grup, z.fiz, z.mat, z.inf, z.him, z.srb);
С таким кодом нужно туда обращаться: https://www.cyberforum.ru/c-beginners/
0
76 / 68 / 10
Регистрация: 11.07.2016
Сообщений: 320
17.02.2018, 01:23
Цитата Сообщение от Pelmesh_ Посмотреть сообщение
fflush(stdin);
вот так не делай.

7.21.5.2

If stream points to an output stream or an update stream in which the most recent
operation was not input
, the fflush function causes any unwritten data for that stream
to be delivered to the host environment to be written to the file; otherwise, the behavior is
undefined.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2018, 01:23
Помогаю со студенческими работами здесь

Что делает эта программа? Совсем не могу понять сути её
var i: integer; s: string; g: boolean; x: integer; begin readln(s); i := 1; g := false; x := 0; while (i...

Не могу понять что не так
Помогите пожалуйста в чем там проблема?

не могу понять что не так
задание такое : Структура &quot;книга почтой&quot;:-наименование книги;-ФИО автора;-номер по каталогу;-издательство;-колличество в...

Не могу понять что не так
При повторном нажатии на кнопку все равно выполняется informacia.LoadFromFile('C:\блаблабла.txt'); procedure...

Не могу понять что не так
В задании нужно вычислить величину S. Но результат почему-то 0. Насколько я понимаю 0 получается из-за того, что один из множителей, при...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru