,   CyberForum.ru

- - C++

 
andryshka
2 / 2 / 0
: 05.12.2013
: 81
11.01.2014, 01:56     - #1
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
FILE *file_in;//Óê*ç*òåëü ** ô*éë ââîä*
typedef struct
{
char fio[30];
int grade[5];
int YoB,group;
double average_grade;
} TStudent; //TStudent *îâîå èìÿ òèï*(ñòðóêòóðû)
TStudent stud[30]; // Ì*ññèâ ñòðóêòóð
char fname[20]; // Èìÿ ô*éë*
int num_stuct=0; // ×èñëî ââåäå**ûõ ñòðóêòóð
int menu(); // Ìå*þ
void newnamef(); // Ââåñòè èìÿ ô*éë*
void newf(); // Ñîçä*òü *îâûé ô*éë
void spisok(); // Ââåñòè ñïèñîê
void openf(); // Îòêðûòü ô*éë
void resultcons(); // Âûâåñòè ðåçóëüò*ò ** ýêð**
void resultfile(); // Âûâåñòè ðåçóëüò*ò â ô*éë
int main() //MAIN
{
    setlocale(LC_ALL,"Russian");
    while (true)
    {
        switch(menu()) 
        {
        case 1: newnamef(); break;
        case 2: newf(); break;
        case 3: spisok(); break;
        case 4: openf(); break;
        case 5: resultcons(); break;
        case 6: resultfile(); break;
        case 7: return 0;
        default: "Îøèáê* âûáîð*(âûáåðèòå äåéñòâèå îò 1 äî 7)!";
        }       
        puts("Í*æìèòå ëþáóþ êë*âèøó ,÷òîáû ïðîäîëæèòü");
        getch(); system("cls"); 
    }
}
    int menu() // Ìå*þ
    {   
        cout << "Âûáåðèòå:" << endl;
        cout << "1. Ââîä èìå*è ô*éë*" << endl;
        cout << "2. Íîâûé ô*éë" << endl;
        cout << "3. Ââåñòè ñïèñîê" << endl;
        cout << "4. Îòêðûòü ô*éë" << endl;
        cout << "5. Âûâåñòè ðåçóëüò*ò" << endl;
        cout << "6. Âûâåñòè â ô*éë" << endl;
        cout << "7. Âûõîä" << endl;
        int i;
        cin >> i;
        return i;
    }      
    void newnamef() // Ââîä èìå*è ô*éë*
    {
    cout << "Ââåäèòå èìÿ ô*éë* " << endl;
    cin >> fname;
    }
    void newf() // Ñîçä**èå *îâîãî ô*éë*
    {
    if((file_in=fopen(fname,"wb"))==NULL)
        {  
        cout << "Îøèáê* ïðè ñîçä**èè"<<endl;
        exit(1);
        }
    cout << "OK" << endl;
    fclose(file_in);
    }
    void spisok() // Ââåäå*èå ñïèñê*
    {
        if ((file_in=fopen(fname,"rb+"))==NULL)
        {
        cout << "Îøèáê* ïðè ñîçä**èè "<<endl;
        exit(1);
        }
    cout << "Ââåäèòå ÷èñëî ñòóäå*òîâ " << endl;
    cin >> num_stuct;
    for (int i=0;i<num_stuct;i++)
    {
        cout << "Ââåäèòå èìÿ: " << endl;
        cin >> stud[i].fio;
        cout << "Ââåäèòå ãîä ðîæäå*èÿ: " << endl;
        cin >> stud[i].YoB;
        cout << "Ââåäèòå *îìåð ãðóïïû: " << endl;
        cin >> stud[i].group;
            cout << "Ââåäèòå ïÿòü(5) îöå*îê: " << endl;
            stud[i].average_grade=0;
            for(int j=0;j<5;j++)
                {
                cin >> stud[i].grade[j];
                stud[i].average_grade+=stud[i].grade[j]/5;
                }
        fwrite(&stud[i],sizeof(TStudent),1,file_in);
    }
    fclose(file_in);
    }
    void openf()// Îòêðûòèå ô*éë*
    {
            if ((file_in=fopen(fname,"rb"))==NULL)
            {
            cout << "Îøèáê* ïðè îòêðûòèè"<<endl;
            exit(1);
            }
        num_stuct=0; TStudent std;
        while(true)
        {
        int nwrt=fread(&std,sizeof(TStudent),1,file_in);
            if(nwrt!=1) break;
        stud[num_stuct]=std;
        cout << stud[num_stuct].fio << " " << stud[num_stuct].grade << endl;
        num_stuct++;
        }
    fclose(file_in);
    }
    void resultcons() // Âûâåñòè ðåçóëüò*ò ** ýêð**
    {
        for(int i=0;i<num_stuct;i++)
        if(stud[i].average_grade<4)
        cout << "Èìÿ: " << stud[i].fio << "\nÃîä ðîæäå*èÿ:" <<stud[i].YoB << 
         "\nÃðóïï*:" << stud[i].group << "\n" <<endl;
    }
    void resultfile() // Âûâåñòè ðåçóëüò*ò â ô*éë
    {
    char namet[30];
    FILE *file_out;//Óê*ç*òåëü ** ô*éë âûâîä*
    cout << "Ââåäèòå èìÿ ô*éë*" << endl;
    cin >> namet;
        if ((file_out=fopen(namet,"w"))==NULL)
        {
        cout << "Îøèáê* ïðè ñîçä**èè "<<endl;
        exit(1);
        }
    char s[80];
    for (int i=0; i<num_stuct; i++)
        if (stud[i].average_grade<4)
        {
        strcpy(s,stud[i].fio);
        strcat(s,"\n"); // Äîá*âëå*èå ð*çäåëèòåëÿ ñòðîê
                        //(äîá*âëÿåò ñïð*â* ê ñòðîêå 1 ñîäåðæèìîå ñòðîêè st2)
        fputs(s,file_out);//ç*ïèñûâ*åò ñòðîêó ñèìâîëîâ â òåêóùóþ ïîçèöèþ óê*ç***îãî ô*éë*
        }
    fclose(file_out);
    }
/*Âûâåñòè ñïèñîê ñòóäå*òîâ ñòóäå*òîâ ,
èìåþùèõ *åóäîâëåòâîðèòåëü*óþ îöå*êó (ìå*üøå 4).*/
-          
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
11.01.2014, 01:56     -
:

C++
C++
C++
C++
C++ POD ?
C++
C++
C++



:
.
andryshka
2 / 2 / 0
: 05.12.2013
: 81
11.01.2014, 01:57  []     - #2
. .
alsav22
5282 / 4801 / 442
: 04.06.2011
: 13,587
11.01.2014, 08:27     - #3
C++
1
cout << stud[num_stuct].fio << " " << stud[num_stuct].grade << endl;
(grade) int ?
C++
1
cout << stud[num_stuct].grade
Yandex
11.01.2014, 08:27     -

: 09:06. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru