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

Программирование с файлами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как получить доступ к членам класса из функций http://www.cyberforum.ru/cpp-beginners/thread1098948.html
Есть код типа //***************************************************************************** func1() { body; } func2() { body;
C++ адресс начала класса есть к примеру класс: class abc { public: func1(); func2(); }; abc ABC; http://www.cyberforum.ru/cpp-beginners/thread1098923.html
Обмен элементов динамического списка C++
Народ помогите кто как может или литературы полезной скиньте, что то читал читал, а толку нету. необходимо создать однонаправленный динамический список что содержит информацию о реках.Список...
Первые десять элементов массива М(30) отсортировать в порядке возрастания, а остальные в порядке убывания C++
Привет. Первые десять элементов массива М(30) отсортировать в порядке возрастания, а остальные в порядке убывания. Вот тут я сделал массив и первые 10 элементов сделал по возрастанию, а как сделать...
C++ Variadic templates fail http://www.cyberforum.ru/cpp-beginners/thread1098908.html
Здравствуйте. У меня проблема, нужно реализовать в проекте функционал, который будет использовать шаблоны с переменным количеством параметров. Но беда: даже компилировать не хочет. Вот...
C++ Удалить записи о тех блюдах, перед которыми находится блюдо страны Испания Здравствуйте! меня интересует как реализовать такое задание: Удалить записи о тех блюдах, перед которыми находится блюдо страны Испания! Я написал "что-то" но это явно неправильно! Я так понимаю,... подробнее

Показать сообщение отдельно
SRF
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 13

Программирование с файлами - C++

17.02.2014, 18:46. Просмотров 496. Ответов 1
Метки (Все метки)

Ведомость абитуриентов содержит ФИО, город проживания, суммарный балл. Вывести информацию об абитуриентах, проживающих в г. Минске и имеющих балл больше 220.

Работает только если задать условие >220, при добавлении условия проживания программа не работает. Помогите плз.
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
FILE *fl;
    typedef struct
    {
        char imya[30];
        char familia[30];
        char otchestvo[30];
        char gorod[30];
        int ball;
    } TAbitur;
 
    TAbitur abitur[30];
    char name[20];
    int nst=0;
        int menu();
        void nnf();
        void newf();
        void spisok();
        void opf();
        void resc();
        void resf();
 
    int main()
    {
        while (true)
        {
            switch (menu())
            {
            case 1:nnf(); break;
            case 2:newf(); break;
            case 3:spisok(); break;
            case 4:opf(); break;
            case 5:resc(); break;
            case 6:resf(); break;
            case 7:return 0;
                default:"Vibrano ne pravilno !";
            }
 
            puts("Press any key to continue");
            getch();    system("cls");
        }
    }
 
    int menu()
    {
        cout << "Viberite:" << endl;
        cout << "1. Vvod file name" << endl;
        cout << "2. New file" << endl;
        cout << "3. Vvesti spisok" << endl;
        cout << "4. Open file" << endl;
        cout << "5. Vivesti result" << endl;
        cout << "6. Vivesti v file" << endl;
        cout << "7. Exit" << endl;
        int i;
        cin >> i;
        return i;
    }
 
    void nnf()
    {
        cout <<"Vvedite file name" << endl;
        cin >> name;
    }
 
    void newf()
    {
        if ((fl = fopen(name,"wb"))==NULL)
        {
            cout << "Oshibka pri sozdanii" << endl;
            exit(1);
        }
        cout << "OK" << endl;
        fclose(fl);
    }
    void spisok()
    {
        if ((fl = fopen(name,"rb+"))==NULL)
        {
            cout << "Oshibka pri sozdanii" << endl;
            exit(1);
        }
 
        cout <<"Vvedite chislo abiturientov" << endl;
            cin >> nst;
 
        for(int i=0;i<nst;i++)
        {
 
            cout << "Vvedite imya: ";
                cin >> abitur[i].imya;
            cout << "Vvedite familiu: ";
                cin >> abitur[i].familia;
            cout << "Vvedite otchestvo: ";
                cin >> abitur[i].otchestvo;
            cout << "Vvedite gorod projivania: ";
                cin >> abitur[i].gorod;
            cout << "Vvedite prohodnoi ball: ";
                cin >> abitur[i].ball;
            fwrite ( &abitur[i], sizeof(TAbitur), 1, fl);
        }
            fclose(fl);
    }
 
    void opf()
    {
        if ((fl = fopen(name,"rb"))==NULL)
        {
            cout << "Oshibka pri otkritii" << endl;
            exit(1);
        }
 
        nst=0; TAbitur std;
        while (true)
        {
            int nwrt = fread ( &std, sizeof(TAbitur), 1, fl);
            if (nwrt!=1) break;
            abitur[nst]=std;
                cout << abitur[nst].imya << " " << abitur[nst].familia << " " << abitur[nst].otchestvo << " " << abitur[nst].gorod << " " << abitur[nst].ball << endl;
            nst++;
        }
        fclose(fl);
    }
 
    void resc()
    {
        for (int i=0;i<nst;i++)
            if (abitur[i].ball > 220  && abitur[i].gorod == "Minsk")
                    cout << abitur[i].imya << " " << abitur[i].familia << " " << abitur[i].otchestvo << " " << abitur[i].gorod << " " << abitur[i].ball << endl;
    }
 
    void resf()
    {
        char namet[30];
        FILE *ft;
            cout << "Vvedite imya file" << endl;
                cin >> namet;
            if ((ft = fopen(namet,"w"))==NULL)
            {
                cout << "Oshibka pri sozdanii" << endl;
                exit(1);
            }
            char s[80];
            for (int i=0; i<nst;i++)
                if (abitur[i].ball > 220 && abitur[i].gorod == "Minsk")
                {
                    strcpy(s, abitur[i].imya);
                    strcat(s, " ");
                    fputs(s,ft);
                        strcpy(s, abitur[i].familia);
                        strcat(s, " ");
                        fputs(s,ft);
                            strcpy(s, abitur[i].otchestvo);
                            strcat(s, " ");
                            fputs(s,ft);
                                strcpy(s, abitur[i].gorod);
                                strcat(s, " ");
                                fputs(s,ft);
                }
                fclose(ft);
                }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.