forked from wind-know/student
-
Notifications
You must be signed in to change notification settings - Fork 0
/
studentsystem.h
181 lines (132 loc) · 3.91 KB
/
studentsystem.h
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#pragma once
#include <stdio.h>
#include<stdlib.h>
#include <stdbool.h>
#include<Windows.h>
#define _CRT_SECURE_NO_WARNINGS
//学生
typedef struct grade {
int match;
int english;
int chinese;
}GRA;
typedef struct Student {
char account[11];
char password[11];
char mclass[64];
int num;
char name[20];
char question[101];
char answer[101];
GRA score;
}Stu;
typedef struct _Node {
Stu student;
struct _Node* next;
}Node;
//老师+管理
typedef struct Manage {
char account[11];
char password[11];
char mclass[64];
char name[20];
char question[101];
char answer[101];
}Man;
typedef struct mNode {
Man man;
struct mNode* next;
}mNode;
//查看代办
typedef struct Confidential {
char account[11];
int num;
char mclass[64];
char name[20];
int chose;
int over;
char phonenum[101];
int icomplaint[7];
char ccomplaint[1000];
char newPassword[11];
}Con;
typedef struct nNode {
Con con;
struct nNode* next;
}nNode;
//con
void nfileNode(nNode* nhead);
void nloadStudent(nNode* nhead);
void sreviseconfidential(Node* head, int Num);
void treviseconfidential(mNode* mhead, char* account);
void spassWordrevise(nNode* nhead, Node* head);
void dospassWordrevise(Node* head, char* account, char* newpassword);
void tpassWordrevise(nNode* nhead, mNode* mhead);
void dotpassWordrevise(mNode* mhead, char* account, char* newpassword);
void passWordrevise(Node* head, mNode* mhead, nNode* nhead);
void readpassWordrevise(nNode* nhead, Node* head, mNode* mhead);
void passWordretrieval(nNode* nhead, Node* head, mNode* mhead);
void spassWordretrieval(nNode* nhead, Node* head);
void readpassWordretrieval(nNode* nhead);
void tpassWordretrieval(nNode* nhead, mNode* mhead);
void Update(nNode* nhead, char* account, char* mclass, char* name);
void readUpdate(nNode* nhead);
void readGradeAppeals(nNode* nhead, Node* head);
void GradeAppeals(nNode* nhead, char* mclass, int num, char* account, char* name);
void doGradeAppeals(Node* head, int match, int english, int chinese, char* account);
//teacher
void Teachers(Node* head, nNode* nhead, mNode* mhead, char* account, char* mclass, char* name);
void Menu1();
void inputStudent(Node* head);
void printfStdent(Node* head);
void deleteStudent(Node* head);
void findStudent(Node* head);
void afindStudent(Node* head);
void nfindStudent(Node* head);
void mfindStudent(Node* head);
void fileNode(Node* head);
void tfileNode(Node* head);
void loadStudent(Node* head);
void reviseStudent(Node* head);
void asortStudent(Node* head);
void jsortStudent(Node* head);
void ssortStudent(Node* head);
void trevisemypassword(mNode* mhead, char* Account);
void Clean();
//student
void Menu2();
void Studentfind(Node* head, int Num);
void Stdentprintf(Node* head, char* mclass);
void Students(Node* head, nNode* nhead, char* mclass, int num, char* account, char* name);
void essayStudent(Node* head);
void srevisemypassword(Node* head, int Num);
//pass
void helpMenu();
void passing(Node* head, nNode* nhead, mNode* mhead);
void PASS(Node* head, nNode* nhead, mNode* mhead);
void passMenu();
void Initialization(mNode* mhead);
void helping(Node* head, nNode* nhead, mNode* mhead);
void ndeleteStudent(nNode* nhead, char* Account);
void ndelete(nNode* nhead, char* account);
//man
void mfileNode(mNode* head);
void mloadStudent(mNode* head);
void mMenu();
void Manager(Node* head, nNode* nhead, mNode* mhead,char*account);
void ainputAccount(mNode* mhead, Node* head);
void minputAccount(mNode* mhead);
void sinputAccount(Node* head);
void adeleteAccount(mNode* mhead, Node* head);
void mdeleteAccount(mNode* mhead);
void sdeleteAccount(Node* head);
void areviseAccount(mNode* mhead, Node* head);
void mreviseAccount(mNode* mhead);
void sreviseAccount(Node* head);
void afindAccount(mNode* mhead, Node* head);
void mfindAccount(mNode* mhead);
void sfindAccount(Node* head);
void sprintfStdent(Node* head);
void mprintfStdent(mNode* mhead);
void Viewagency(Node* head, mNode* mhead, nNode* nhead);
void agencyMenu();