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

Создать программу обработки файла типа запись "Успеваемость студента" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ API & C++ http://www.cyberforum.ru/cpp-beginners/thread368797.html
Приветствую Вас уважаемыые форумчане... Не подскажете какой справочник по функциям API С++
C++ Проверить правильность расстановки символов “/*” и “*/” для комментариев Проверить правильность расстановки символов “/*” и “*/” для комментариев в фрагменте программы на языке С++. http://www.cyberforum.ru/cpp-beginners/thread368784.html
После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ C++
После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ. помогите! :)
Рассортировать числа по частоте встречаемости, используя алгоритм обмена C++
Известно, что в массиве размерности N могут быть только целые числа из диапазона 1..31. Рассортировать эти числа по частоте встречаемости, используя алгоритм обмена.
C++ Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы. http://www.cyberforum.ru/cpp-beginners/thread368779.html
Две строки целочисленной матрицы назовём похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы, расположенных подряд. на с++ найти не смог. а с pascal перевести не могу, потому, что не знаю абсолютно с++! Помогите! :)
C++ Открытие txt файла для просмотра #include <stdio.h> int main() { FILE * fi; fi = fopen("test.txt","rt"); int n; while( !feof(fi) ) { fscanf( fi, "%d\n", &n ); printf("%d\n",n ); подробнее

Показать сообщение отдельно
p1ggy
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 12
14.11.2011, 11:54  [ТС]     Создать программу обработки файла типа запись "Успеваемость студента"
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <stdio.h>
#include <io.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
struct T_BD{
    char FIO[30];
    double g_r;
    char group[10];
    double o_f;
    double o_m;
    double o_i;
    double o_h;
    double s_b;
     } BD;
int size = sizeof(T_BD);
FILE *Fz, *Ft;
char File_Zap[] = "zapisi.dat";
char File_Rez[] = "rezult.txt";
void Out(T_BD);
 
int main()
{
    int kod, D_f, i=0, j, kol, kod2, pos; char qgroup[10];
    long len;
    T_BD st, *mas_Z;
Ft = fopen(File_Rez, "w");
    while(true) {
            ouch: puts("\n\n Create: 1 \n Edit: 2 \n View: 3 \n My Task: 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:
                    puts ("\n Add: 1 \n Correct: 2 \n Back: 0");
                    scanf("%d", &kod2);
                    switch(kod2)
                    {
                        case 1:
                            Fz= fopen(File_Zap,"ab");
                            printf("\n F.I.O.: ");
                            fflush(stdin);
                            gets(BD.FIO);
                            printf("\n The year of birth: ");
                            scanf("%lf", &BD.g_r);
                            printf("\n Group: ");
                            fflush(stdin);
                            gets(BD.group);
                            printf("\n Phisics: ");
                            scanf("%lf", &BD.o_f);
                            printf("\n Math: ");
                            scanf("%lf", &BD.o_m);
                            printf("\n IT knowledge: ");
                            scanf("%lf", &BD.o_i);
                            printf("\n Chemistry: ");
                            scanf("%lf", &BD.o_h);
                            BD.s_b=(BD.o_f+BD.o_m+BD.o_i+BD.o_h)/4;
                            fwrite(&BD, 1,size, Fz);
                            fclose(Fz);
                        break;
                        [COLOR="Red"]case 2:
                            puts("\nInput number of unit: "); scanf("%d",&pos);
                            Fz= fopen(File_Zap,"rb");
                            fseek(Fz, pos*size, 1);
                            fread(&BD, 1, size, Fz);
                            printf("\n F.I.O.: ");
                            fflush(stdin);
                            gets(BD.FIO);
                            printf("\n The year of birth: ");
                            scanf("%lf", &BD.g_r);
                            printf("\n Group: ");
                            fflush(stdin);
                            gets(BD.group);
                            printf("\n Phisics: ");
                            scanf("%lf", &BD.o_f);
                            printf("\n Math: ");
                            scanf("%lf", &BD.o_m);
                            printf("\n IT knowledge: ");
                            scanf("%lf", &BD.o_i);
                            printf("\n Chemistry: ");
                            scanf("%lf", &BD.o_h);
                            BD.s_b=(BD.o_f+BD.o_m+BD.o_i+BD.o_h)/4;
                            fseek(Fz, pos*size, 1);
                            fwrite(&BD, 1, size, Fz);
                            fclose(Fz);
                        break;
                        case 3: goto ouch; break;
                        } break;[/COLOR]
                case 3:
                    if ((Fz=fopen(File_Zap,"rb"))==NULL)  {
                                puts("\n Open ERROR!");
                                return 0;
                        }
 
                        printf ("\n\t--------- Informations ---------");
                        fprintf (Ft, "\n\t--------- Informations ---------");
                        while(1) {
                            if(!fread(&BD,size,1,Fz)) break;
                                Out(BD);
                        }
                        fclose(Fz);
                break;
                [COLOR="red"]case 4:
                        Fz = fopen(File_Zap,"rb");
                        D_f = fileno(Fz);
                len = filelength(D_f);
                kol = len/size;
                mas_Z = new T_BD[kol];
                cout << "\n Input group:"; cin >> qgroup;
// Считываем записи из файла в динамический массив
                    for (i=0; i < kol; i++)
                            fread(&mas_Z[i], 1, sizeof(T_BD), Fz);
                            fclose(Fz);
                            cout <<"\n----- T A S K -----\n";
                            for (i=0; i < kol; i++) {
                            if ((mas_Z[i].group == qgroup) && (mas_Z[i].FIO[0] == 'Д'))  Out(mas_Z[i]);
                                else if ((mas_Z[i].group == qgroup) && (mas_Z[i].FIO[0] == 'Г'))  Out(mas_Z[i]);
                                    else if ((mas_Z[i].group == qgroup) && (mas_Z[i].FIO[0] == 'Д'))  Out(mas_Z[i]); }
 
                        delete []mas_Z;
                        break;[/COLOR]
                case 0:
                        fclose(Ft);
                        return 0;
            }
  }
}
//----------------- Функция вывода одной записи на экран и в файл --------------------
void Out(T_BD z)
{
     printf(" \n %s, %1.0lf, %s, %1.0lf, %1.0lf, %1.0lf, %1.0lf, %1.1lf", z.FIO,z.g_r, z.group, z.o_f, z.o_m, z.o_i, z.o_h, z.s_b);
     fprintf(Ft, "%s, %1.0lf, %s, %1.0lf, %1.0lf, %1.0lf, %1.0lf, %1.1lf", z.FIO,z.g_r, z.group, z.o_f, z.o_m, z.o_i, z.o_h, z.s_b);
}
Или я тугой, или я кривой, но у меня выделенные пункты не работают. Редактирование записи вообще не выходит, а задание насчет отбора записей не проходит. Можете дать совет?
 
Текущее время: 08:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru