mirror of
https://github.com/yv1ing/Student-Information-Management-System.git
synced 2025-09-16 14:44:46 +08:00
finished work
This commit is contained in:
137
README.md
Normal file
137
README.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# 学生信息管理系统
|
||||
|
||||
## 概述
|
||||
|
||||
本套系统是我大一程序设计进阶课的结课作业,实现了登录、文件读写,以及对数据的查询、排序等操作。
|
||||
|
||||
1、单人完成代码的编写(本以为几百行能解决的系统,前前后后写了两千多行,虽然很多是注释...)
|
||||
|
||||
2、本套系统基于Windows系统,执行C11标准。
|
||||
|
||||
3、项目使用Clion集成环境开发。
|
||||
|
||||
4、项目模块化,将不同功能写在不同的源文件中,通过头文件集中管理和调用。
|
||||
|
||||
5、用户输入检测,只允许用户输入规则内的数据,不合法的数据一律提示重新输入。
|
||||
|
||||
**相关文件的解释:**
|
||||
|
||||
| 文件 | 解释 |
|
||||
| ----------------------------------------- | -------------------------------------------- |
|
||||
| for_main.h | 包含主函数所需的所有头文件 |
|
||||
| user.h | 定义登录用户的相关信息结构体 |
|
||||
| stu_info.h | 定义用于存储学生信息的结构体 |
|
||||
| for_function_module.h | 包含每个模块函数所需的头文件以及主函数的声明 |
|
||||
| main.c | 主函数 |
|
||||
| main_menu.h & main_menu.c | 主菜单模块 |
|
||||
| secondary_menu.h & secondary_menu.c | 二级菜单模块 |
|
||||
| login_module.h & login_module.c | 登录模块 |
|
||||
| registered_module.h & registered_module.c | 用户注册模块 |
|
||||
| add_module.h & add_module.c | 学生信息添加模块 |
|
||||
| query_module.h & query_module.c | 学生信息查询模块 |
|
||||
| modify_module.h & modify.c | 学生信息修改模块 |
|
||||
| delete_module.h & delete_module.c | 学生信息删除模块 |
|
||||
| statistic_module.h & statistic_module.c | 成绩统计模块 |
|
||||
|
||||
|
||||
|
||||
## 系统结构
|
||||
|
||||
- 主菜单
|
||||
- 二级菜单
|
||||
- 登录模块
|
||||
- 注册模块
|
||||
- 学生信息添加模块
|
||||
- 学生信息查询模块
|
||||
- 学生信息修改模块
|
||||
- 学生信息删除模块
|
||||
- 成绩统计
|
||||
|
||||
## 功能详解
|
||||
|
||||
### 一、主菜单
|
||||
|
||||
本系统设置有权限,只有注册账号后输入正确的账号密码才能进入。
|
||||
|
||||
主菜单设置有输入内容的控制功能,即检测输入内容是否合法:
|
||||
|
||||

|
||||
|
||||
### 二、登录模块
|
||||
|
||||

|
||||
|
||||
输入正确的账号密码即可进入系统。
|
||||
|
||||
### 三、二级菜单
|
||||
|
||||

|
||||
|
||||
二级菜单中提供5个功能,输入代码即可跳转至对应功能。
|
||||
|
||||
二级菜单设置有输入内容的控制功能,即检测输入内容是否合法:
|
||||
|
||||

|
||||
|
||||
### 四、学生信息添加模块
|
||||
|
||||

|
||||
|
||||
在此模块中,需依次输入学生的学号、姓名、性别、年龄、语文成绩、数学成绩、英语成绩。
|
||||
|
||||
输入结束后,学生信息被保存在stu_info目录下的stu_info.txt文件中:
|
||||
|
||||

|
||||
|
||||
输入结束后,提示是否继续添加,选择”是“则当前界面清除,进入下一轮的输入,否则返回二级菜单。
|
||||
|
||||
本模块同样设置有输入内容检测功能,非法输入无效。
|
||||
|
||||
### 五、学生信息查询模块
|
||||
|
||||

|
||||
|
||||
本系统支持按学号、姓名和性别查询学生信息,输入要查询的学生的学号、姓名或性别均可查询。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
若系统中没有要查询的学生信息,则提示:
|
||||
|
||||

|
||||
|
||||
### 六、学生信息修改模块
|
||||
|
||||

|
||||
|
||||
本系统支持按学号、姓名查询学生信息并修改。
|
||||
|
||||

|
||||
|
||||
依次输入修改后的学生学号、姓名、性别、年龄及各科成绩即可。
|
||||
|
||||
### 七、学生信息删除模块
|
||||
|
||||

|
||||
|
||||
本系统支持按学号、姓名和性别删除学生信息,输入学生的学号、姓名或性别均可删除相关信息。
|
||||
|
||||

|
||||
|
||||
### 八、成绩统计模块
|
||||
|
||||
本系统支持对单科成绩的查询,包括升序、降序查询和分数段查询,同时显示该科目的平均分。
|
||||
|
||||

|
||||
|
||||
按语文成绩升序查询:
|
||||
|
||||

|
||||
|
||||
按数学成绩降序查询:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
68
function_module/add_module.c
Normal file
68
function_module/add_module.c
Normal file
@@ -0,0 +1,68 @@
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/secondary_menu.h"
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
|
||||
void add_module(){
|
||||
continue_add:
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ\n");
|
||||
|
||||
char stu_num[20];
|
||||
char name[20];
|
||||
char gender[10];
|
||||
int age;
|
||||
float chinese,math,english;
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>д<EFBFBD><D0B4><EFBFBD>ļ<EFBFBD>
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7>ѧ<EFBFBD>ţ<EFBFBD>");
|
||||
scanf("%s",&stu_num);
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
scanf("%s",&name);
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>");
|
||||
scanf("%s",&gender);
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD>䣺");
|
||||
scanf("%d",&age);
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijɼ<C4B3><C9BC><EFBFBD>");
|
||||
scanf("%f",&chinese);
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>");
|
||||
scanf("%f",&math);
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ӣ<EFBFBD><D3A2><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>");
|
||||
scanf("%f",&english);
|
||||
|
||||
FILE *fp= fopen("../stu_info/stu_info.txt","a");
|
||||
fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",stu_num,name,gender,age,chinese,math,english);
|
||||
fclose(fp);
|
||||
printf("\n->ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ӳɹ<D3B3><C9B9><EFBFBD>\n\n");
|
||||
Sleep(2000);
|
||||
|
||||
re_input_add_menu_choice:
|
||||
//ѯ<><D1AF><EFBFBD>û<EFBFBD><C3BB><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
char whether_continue_add;
|
||||
fflush(stdin);
|
||||
scanf("%c",&whether_continue_add);
|
||||
switch (whether_continue_add) {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
case 'y':{
|
||||
goto continue_add;
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("-><3E><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto re_input_add_menu_choice;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
232
function_module/delete_module.c
Normal file
232
function_module/delete_module.c
Normal file
@@ -0,0 +1,232 @@
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/secondary_menu.h"
|
||||
#include "stdlib.h"
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
void delete_module(){
|
||||
char stu_num[20];
|
||||
char name[20];
|
||||
char gender[10];
|
||||
int age;
|
||||
float chinese,math,english;
|
||||
continue_query:
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD>ѧ<EFBFBD>Ų<EFBFBD>ѯ<EFBFBD><D1AF>ɾ<EFBFBD><C9BE>\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF>ɾ<EFBFBD><C9BE>\n");
|
||||
printf("->3<><33><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ѯ<EFBFBD><D1AF>ɾ<EFBFBD><C9BE>\n");
|
||||
printf("->4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
int count=0;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
count++;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->next=NULL;
|
||||
|
||||
t=head->next;
|
||||
|
||||
int whether_find=0;
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char query_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4<><34>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&query_menu_input);
|
||||
switch (query_menu_input) {
|
||||
//<2F><>ѧ<EFBFBD>Ų<EFBFBD>ѯ
|
||||
case '1':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7>ѧ<EFBFBD>ţ<EFBFBD>");
|
||||
scanf("%s",&stu_num);
|
||||
t=head->next;
|
||||
while (t!=NULL){
|
||||
if(strcmp(stu_num,t->stu_num)==0){
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
p=t;
|
||||
t->prev->next=t->next;
|
||||
t->next->prev=t->prev;
|
||||
whether_find+=1;
|
||||
}
|
||||
t=t->next;
|
||||
|
||||
}
|
||||
printf("<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD>¼\n\n",whether_find);
|
||||
//<2F><><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD>Ϣд<CFA2><D0B4><EFBFBD>ļ<EFBFBD>
|
||||
t=head->next;
|
||||
fp= fopen("../stu_info/stu_info.txt","w");
|
||||
|
||||
for (int i = 1; i < count-1; i++) {
|
||||
fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
// while (t!=NULL){
|
||||
// fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
// t=t->next;
|
||||
// }
|
||||
fclose(fp);
|
||||
count=0;
|
||||
|
||||
if(whether_find==0){
|
||||
printf("->ϵͳ<CFB5><CDB3>û<EFBFBD>и<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>\n");
|
||||
Sleep(2000);
|
||||
whether_find=0;
|
||||
goto continue_query;
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '2':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
scanf("%s",&name);
|
||||
t=head->next;
|
||||
while (t!=NULL){
|
||||
if(strcmp(name,t->name)==0){
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
p=t;
|
||||
t->prev->next=t->next;
|
||||
t->next->prev=t->prev;
|
||||
whether_find+=1;
|
||||
}
|
||||
t=t->next;
|
||||
|
||||
}
|
||||
printf("<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD>¼\n\n",whether_find);
|
||||
//<2F><><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD>Ϣд<CFA2><D0B4><EFBFBD>ļ<EFBFBD>
|
||||
t=head->next;
|
||||
fp= fopen("../stu_info/stu_info.txt","w");
|
||||
|
||||
for (int i = 1; i < count-1; i++) {
|
||||
fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
// while (t!=NULL){
|
||||
// fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
// t=t->next;
|
||||
// }
|
||||
fclose(fp);
|
||||
count=0;
|
||||
|
||||
if(whether_find==0){
|
||||
printf("->ϵͳ<CFB5><CDB3>û<EFBFBD>и<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>\n");
|
||||
Sleep(2000);
|
||||
whether_find=0;
|
||||
goto continue_query;
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ѯ
|
||||
case '3':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>");
|
||||
scanf("%s",&gender);
|
||||
t=head->next;
|
||||
while (t!=NULL){
|
||||
if(strcmp(gender,t->gender)==0){
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣɾ<CFA2><C9BE>\n\n");
|
||||
p=t;
|
||||
t->prev->next=t->next;
|
||||
t->next->prev=t->prev;
|
||||
whether_find+=1;
|
||||
count--;
|
||||
}
|
||||
t=t->next;
|
||||
|
||||
}
|
||||
printf("<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD>¼\n\n",whether_find);
|
||||
|
||||
//<2F><><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD>Ϣд<CFA2><D0B4><EFBFBD>ļ<EFBFBD>
|
||||
t=head->next;
|
||||
fp=fopen("../stu_info/stu_info.txt","w");
|
||||
|
||||
for (int i = 1; i < count; i++) {
|
||||
fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
// while (t!=NULL){
|
||||
// fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
// t=t->next;
|
||||
// }
|
||||
fclose(fp);
|
||||
count=0;
|
||||
|
||||
if(whether_find==0){
|
||||
printf("->ϵͳ<CFB5><CDB3>û<EFBFBD>и<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>\n");
|
||||
Sleep(2000);
|
||||
whether_find=0;
|
||||
goto continue_query;
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '4':{
|
||||
secondary_menu();
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto continue_query;
|
||||
}
|
||||
}
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char whether_continue_query;
|
||||
printf("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
scanf("%c",&whether_continue_query);
|
||||
switch (whether_continue_query) {
|
||||
//<2F><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
|
||||
case 'y':{
|
||||
goto continue_query;
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("-><3E><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto continue_query;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
102
function_module/login_module.c
Normal file
102
function_module/login_module.c
Normal file
@@ -0,0 +1,102 @@
|
||||
#include "stdio.h"
|
||||
#include "string.h"
|
||||
#include "windows.h"
|
||||
#include "stdlib.h"
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/users.h"
|
||||
#include "../heads/secondary_menu.h"
|
||||
#include "../heads/registered_module.h"
|
||||
|
||||
void login_module(){
|
||||
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n\n");
|
||||
printf("-> <20><>ǰλ<C7B0>ã<EFBFBD><C3A3><EFBFBD>¼\n\n");
|
||||
printf("-> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺ţ<CBBA>");
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>
|
||||
char account_input[20];
|
||||
fflush(stdin);
|
||||
scanf("%s",&account_input);
|
||||
|
||||
struct user *head,*p,*q;
|
||||
head=(struct user *) malloc(sizeof(struct user));
|
||||
q=head;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp;
|
||||
fp = fopen("../users/users.txt", "r");
|
||||
while (!feof(fp)){
|
||||
p=(struct user *)malloc(sizeof(struct user));
|
||||
fscanf(fp,"%s %s",&p->account,&p->password);
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
p->next=NULL;
|
||||
|
||||
//<2F>ж<EFBFBD><D0B6>˺<EFBFBD><CBBA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
int account_exist=0;
|
||||
p=head->next;
|
||||
while (p!=NULL){
|
||||
//<2F>˺Ŵ<CBBA><C5B4><EFBFBD>
|
||||
if(strcmp(account_input,p->account)==0){
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char password[20];
|
||||
int password_input_count=0;
|
||||
re_input_password:
|
||||
printf("-> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺");
|
||||
fflush(stdin);
|
||||
scanf("%s",&password);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ
|
||||
if(strcmp(password,p->password)==0){
|
||||
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
|
||||
account_exist=1;
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
else{
|
||||
password_input_count++;
|
||||
if(password_input_count<3){
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>\n");
|
||||
fflush(stdin);
|
||||
goto re_input_password;
|
||||
}
|
||||
else{
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>࣬<EFBFBD><E0A3AC><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD>ԡ<EFBFBD>\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
main();
|
||||
}
|
||||
}
|
||||
}
|
||||
p=p->next;
|
||||
}
|
||||
//<2F>˺Ų<CBBA><C5B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(account_exist!=1){
|
||||
re_input_whether_registered:
|
||||
printf("-><3E>˺Ų<CBBA><C5B2><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><E1A3BF>y/n<><6E>");
|
||||
char whether_registered;
|
||||
fflush(stdin);
|
||||
scanf("%c",&whether_registered);
|
||||
switch (whether_registered) {
|
||||
//<2F><>ת<EFBFBD><D7AA>ע<EFBFBD><D7A2>ģ<EFBFBD><C4A3>
|
||||
case 'y':{
|
||||
registered_module();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
|
||||
case 'n':{
|
||||
main();
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("-><3E><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n");
|
||||
fflush(stdin);
|
||||
goto re_input_whether_registered;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
43
function_module/main_menu.c
Normal file
43
function_module/main_menu.c
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
void main_menu(){
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("|-----------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ---------------------------------|\n");
|
||||
printf("| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + + |\n");
|
||||
printf("| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ة<EFBFBD><D8A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ة<EFBFBD><D8A9><EFBFBD><EFBFBD><EFBFBD>++ |\n");
|
||||
printf("| <20><> <20><> |\n");
|
||||
printf("| <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>++ + + + |\n");
|
||||
printf("| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>+ |\n");
|
||||
printf("| <20><> <20><>+ |\n");
|
||||
printf("| <20><> <20><><EFBFBD>ة<EFBFBD> <20><> |\n");
|
||||
printf("| <20><> <20><> |\n");
|
||||
printf("| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |\n");
|
||||
printf("| <20><> <20><> |\n");
|
||||
printf("| <20><> <20><> + + |\n");
|
||||
printf("| <20><> <20><> |\n");
|
||||
printf("| <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |\n");
|
||||
printf("| <20><> <20><> |\n");
|
||||
printf("| <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |\n");
|
||||
printf("| <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |\n");
|
||||
printf("| <20><> <20><> |\n");
|
||||
printf("| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + + + + |\n");
|
||||
printf("| <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |\n");
|
||||
printf("| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ة<EFBFBD><D8A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ة<EFBFBD><D8A9><EFBFBD><EFBFBD><EFBFBD> + + + + |\n");
|
||||
printf("|------------------------------------------------------------------------------------|\n");
|
||||
|
||||
printf("|-> 1<><31><EFBFBD><EFBFBD>¼ -> 2<><32>ע<EFBFBD><D7A2> -> 3<><33><EFBFBD>˳<EFBFBD> |\n");
|
||||
printf("|------------------------------------------------------------------------------------|\n\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
226
function_module/modify_module.c
Normal file
226
function_module/modify_module.c
Normal file
@@ -0,0 +1,226 @@
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/secondary_menu.h"
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
void modify_module(){
|
||||
char stu_num[20];
|
||||
char name[20];
|
||||
|
||||
continue_modify:
|
||||
//ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD>IJ˵<C4B2><CBB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD>ѧ<EFBFBD>Ų<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>\n");
|
||||
printf("->3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
int count=0;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
count++;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->next=NULL;
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char modify_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3<><33>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&modify_menu_input);
|
||||
switch (modify_menu_input) {
|
||||
//<2F><>ѧ<EFBFBD>Ų<EFBFBD>ѯ<EFBFBD><D1AF>ɾ<EFBFBD><C9BE>
|
||||
case '1':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7>ѧ<EFBFBD>ţ<EFBFBD>");
|
||||
scanf("%s",&stu_num);
|
||||
t=head->next;
|
||||
|
||||
t=head->next;
|
||||
int whether_find=0;
|
||||
while (t!=NULL){
|
||||
if(strcmp(stu_num,t->stu_num)==0){
|
||||
whether_find=1;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD>ѧ<EFBFBD>ţ<EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&t->stu_num);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&t->name);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&t->gender);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䣺");
|
||||
fflush(stdin);
|
||||
scanf("%d",&t->age);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijɼ<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&t->chinese);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&t->math);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&t->english);
|
||||
}
|
||||
t=t->next;
|
||||
}
|
||||
if(whether_find==0){
|
||||
printf("δ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n");
|
||||
Sleep(2000);
|
||||
goto continue_modify;
|
||||
}
|
||||
else{
|
||||
//<2F><><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD>Ϣд<CFA2><D0B4><EFBFBD>ļ<EFBFBD>
|
||||
t=head->next;
|
||||
fp= fopen("../stu_info/stu_info.txt","w");
|
||||
|
||||
for (int i = 1; i < count; i++) {
|
||||
fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
printf("<EFBFBD>ijɹ<EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
Sleep(2000);
|
||||
modify_menu_re1:
|
||||
printf("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
char whether_continue_modify;
|
||||
fflush(stdin);
|
||||
scanf("%c",&whether_continue_modify);
|
||||
switch (whether_continue_modify) {
|
||||
case 'y':{
|
||||
goto continue_modify;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
}
|
||||
default: {
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto modify_menu_re1;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF>ɾ<EFBFBD><C9BE>
|
||||
case '2':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
scanf("%s",&name);
|
||||
|
||||
t=head->next;
|
||||
int whether_find=0;
|
||||
while (t!=NULL){
|
||||
if(strcmp(name,t->name)==0){
|
||||
whether_find=1;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD>ѧ<EFBFBD>ţ<EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&t->stu_num);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&t->name);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&t->gender);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䣺");
|
||||
fflush(stdin);
|
||||
scanf("%d",&t->age);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijɼ<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&t->chinese);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&t->math);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&t->english);
|
||||
}
|
||||
t=t->next;
|
||||
}
|
||||
if(whether_find==0){
|
||||
printf("δ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n");
|
||||
Sleep(2000);
|
||||
goto continue_modify;
|
||||
}
|
||||
else{
|
||||
//<2F><><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD><EFBFBD>Ϣд<CFA2><D0B4><EFBFBD>ļ<EFBFBD>
|
||||
t=head->next;
|
||||
fp= fopen("../stu_info/stu_info.txt","w");
|
||||
|
||||
for (int i = 1; i < count; i++) {
|
||||
fprintf(fp,"%-20s %-20s %-20s %-20d %-20f %-20f %-20f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
printf("<EFBFBD>ijɹ<EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
Sleep(2000);
|
||||
modify_menu_re2:
|
||||
printf("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
char whether_continue_modify;
|
||||
fflush(stdin);
|
||||
scanf("%c",&whether_continue_modify);
|
||||
switch (whether_continue_modify) {
|
||||
case 'y':{
|
||||
goto continue_modify;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
}
|
||||
default: {
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto modify_menu_re2;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '3':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto continue_modify;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
173
function_module/query_module.c
Normal file
173
function_module/query_module.c
Normal file
@@ -0,0 +1,173 @@
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/secondary_menu.h"
|
||||
#include "stdlib.h"
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
void query_module(){
|
||||
char stu_num[20];
|
||||
char name[20];
|
||||
char gender[10];
|
||||
int age;
|
||||
float chinese,math,english;
|
||||
continue_query:
|
||||
//<2F><>ѯ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD>ѧ<EFBFBD>Ų<EFBFBD>ѯ\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->3<><33><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ѯ\n");
|
||||
printf("->4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->prev->next=NULL;
|
||||
|
||||
t=head->next;
|
||||
|
||||
int whether_find=0;
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char query_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4<><34>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&query_menu_input);
|
||||
switch (query_menu_input) {
|
||||
//<2F><>ѧ<EFBFBD>Ų<EFBFBD>ѯ
|
||||
case '1':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7>ѧ<EFBFBD>ţ<EFBFBD>");
|
||||
scanf("%s",&stu_num);
|
||||
t=head->next;
|
||||
while (t!=NULL){
|
||||
if(strcmp(stu_num,t->stu_num)==0){
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
whether_find=1;
|
||||
}
|
||||
t=t->next;
|
||||
}
|
||||
if(whether_find==0){
|
||||
printf("->ϵͳ<CFB5><CDB3>û<EFBFBD>и<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>\n");
|
||||
Sleep(2000);
|
||||
whether_find=0;
|
||||
goto continue_query;
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '2':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
scanf("%s",&name);
|
||||
t=head->next;
|
||||
while (t!=NULL){
|
||||
if(strcmp(name,t->name)==0){
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
whether_find=1;
|
||||
}
|
||||
t=t->next;
|
||||
}
|
||||
if(whether_find==0){
|
||||
printf("->ϵͳ<CFB5><CDB3>û<EFBFBD>и<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>\n");
|
||||
Sleep(2000);
|
||||
whether_find=0;
|
||||
goto continue_query;
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ѯ
|
||||
case '3':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>");
|
||||
scanf("%s",&gender);
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
if(strcmp(gender,t->gender)==0){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
whether_find=1;
|
||||
}
|
||||
t=t->next;
|
||||
}
|
||||
if(whether_find==0){
|
||||
printf("->ϵͳ<CFB5><CDB3>û<EFBFBD>и<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>\n");
|
||||
Sleep(2000);
|
||||
whether_find=0;
|
||||
goto continue_query;
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '4':{
|
||||
secondary_menu();
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto continue_query;
|
||||
}
|
||||
}
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char whether_continue_query;
|
||||
printf("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
scanf("%c",&whether_continue_query);
|
||||
switch (whether_continue_query) {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
case 'y':{
|
||||
goto continue_query;
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("-><3E><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto continue_query;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
72
function_module/registered_module.c
Normal file
72
function_module/registered_module.c
Normal file
@@ -0,0 +1,72 @@
|
||||
#include "stdio.h"
|
||||
#include "string.h"
|
||||
#include "windows.h"
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/users.h"
|
||||
|
||||
void registered_module() {
|
||||
re_registered:
|
||||
//ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ע<EFBFBD><D7A2>\n\n");
|
||||
|
||||
char account[20];
|
||||
char password1[20];
|
||||
char password2[20];
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺ţ<CBBA>");
|
||||
fflush(stdin);
|
||||
scanf("%s",&account);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
|
||||
struct user *head,*p,*q;
|
||||
head=(struct user *) malloc(sizeof(struct user));
|
||||
q=head;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp;
|
||||
fp = fopen("../users/users.txt", "r");
|
||||
while (!feof(fp)){
|
||||
p=(struct user *)malloc(sizeof(struct user));
|
||||
fscanf(fp,"%s %s",&p->account,&p->password);
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
p->next=NULL;
|
||||
|
||||
//<2F>ж<EFBFBD><D0B6>˺<EFBFBD><CBBA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
while (p!=NULL){
|
||||
//<2F>˺Ŵ<CBBA><C5B4><EFBFBD>
|
||||
if(strcmp(account,p->account)==0){
|
||||
printf("<EFBFBD>˺<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>뻻<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>˺ţ<EFBFBD>\n\n");
|
||||
Sleep(2000);
|
||||
goto re_registered;
|
||||
}
|
||||
p=p->next;
|
||||
}
|
||||
|
||||
//<2F>˺Ų<CBBA><C5B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺");
|
||||
scanf("%s",&password1);
|
||||
printf("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺");
|
||||
scanf("%s",&password2);
|
||||
|
||||
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>һ<EFBFBD><D2BB>
|
||||
if(strcmp(password1,password2)==0){
|
||||
FILE *fp;
|
||||
fp = fopen("../users/users.txt", "a");
|
||||
fprintf(fp,"%-20s %-20s",account,password1);
|
||||
fclose(fp);
|
||||
printf("ע<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
Sleep(2000);
|
||||
main();
|
||||
}
|
||||
else{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻һ<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>\n\n");
|
||||
Sleep(2000);
|
||||
goto re_registered;
|
||||
}
|
||||
}
|
||||
66
function_module/secondary_menu.c
Normal file
66
function_module/secondary_menu.c
Normal file
@@ -0,0 +1,66 @@
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/add_module.h"
|
||||
#include "../heads/query_module.h"
|
||||
#include "../heads/delete_module.h"
|
||||
#include "../heads/statistic_module.h"
|
||||
#include "../heads/modify_module.h"
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
void secondary_menu(){
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\n\n");
|
||||
printf("-> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ\n");
|
||||
printf("-> 2<><32><EFBFBD><EFBFBD>ѯѧ<D1AF><D1A7><EFBFBD><EFBFBD>Ϣ\n");
|
||||
printf("-> 3<><33><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ\n");
|
||||
printf("-> 4<><34>ɾ<EFBFBD><C9BE>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ\n");
|
||||
printf("-> 5<><35><EFBFBD>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>\n");
|
||||
printf("-> 6<><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char secondary_menu_input;
|
||||
re_input_secondary_menu_choice:
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4/5/6<><36>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&secondary_menu_input);
|
||||
switch (secondary_menu_input) {
|
||||
//<2F><><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ
|
||||
case '1':{
|
||||
add_module();
|
||||
break;
|
||||
}
|
||||
//<2F><>ѯѧ<D1AF><D1A7><EFBFBD><EFBFBD>Ϣ
|
||||
case '2':{
|
||||
query_module();
|
||||
break;
|
||||
}
|
||||
//<2F><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ
|
||||
case '3':{
|
||||
modify_module();
|
||||
break;
|
||||
}
|
||||
//ɾ<><C9BE>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ
|
||||
case '4':{
|
||||
delete_module();
|
||||
break;
|
||||
}
|
||||
//<2F>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>
|
||||
case '5':{
|
||||
statistic_module();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
|
||||
case '6':{
|
||||
main();
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto re_input_secondary_menu_choice;
|
||||
}
|
||||
}
|
||||
}
|
||||
848
function_module/statistic_module.c
Normal file
848
function_module/statistic_module.c
Normal file
@@ -0,0 +1,848 @@
|
||||
#include "../heads/for_function_module.h"
|
||||
#include "../heads/secondary_menu.h"
|
||||
#include "stdio.h"
|
||||
#include "windows.h"
|
||||
|
||||
void statistic_module(){
|
||||
|
||||
float chinese_av();
|
||||
float math_av();
|
||||
float english_av();
|
||||
|
||||
continue_statistic:
|
||||
//<2F>ɼ<EFBFBD>ͳ<EFBFBD>Ʋ˵<C6B2><CBB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD><EFBFBD>ijɼ<C4B3>ͳ<EFBFBD><CDB3>\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>\n");
|
||||
printf("->3<><33>Ӣ<EFBFBD><D3A2><EFBFBD>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>\n");
|
||||
printf("->4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t,*r;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
int info_num=0;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
info_num+=1;
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->prev->next=NULL;
|
||||
//<2F><>¼<EFBFBD><C2BC>
|
||||
info_num=info_num-1;
|
||||
|
||||
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char statistic_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4<><34>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
//ͳ<><CDB3><EFBFBD><EFBFBD><EFBFBD>ijɼ<C4B3>
|
||||
case '1':{
|
||||
chinese_statistic:
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ijɼ<C4B3>ͳ<EFBFBD><CDB3>\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ\n");
|
||||
printf("->4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char chinese_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4<><34>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&chinese_menu_input);
|
||||
switch (chinese_menu_input) {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '1':{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
r=p->next;
|
||||
p->next=NULL;
|
||||
p=r;
|
||||
|
||||
while(p!=NULL)
|
||||
{
|
||||
r=p->next;
|
||||
q=head;
|
||||
while(q->next!=NULL&&q->next->chinese<p->chinese)
|
||||
{
|
||||
q=q->next;
|
||||
}
|
||||
p->next=q->next;
|
||||
q->next=p;
|
||||
p=r;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",chinese_av());
|
||||
|
||||
chinese_statistic_re1:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
//break;
|
||||
}
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto chinese_statistic_re1;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
//break;
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '2':{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
r=p->next;
|
||||
p->next=NULL;
|
||||
p=r;
|
||||
|
||||
while(p!=NULL)
|
||||
{
|
||||
r=p->next;
|
||||
q=head;
|
||||
while(q->next!=NULL&&q->next->chinese>p->chinese)
|
||||
{
|
||||
q=q->next;
|
||||
}
|
||||
p->next=q->next;
|
||||
q->next=p;
|
||||
p=r;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",chinese_av());
|
||||
|
||||
chinese_statistic_re2:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto chinese_statistic_re2;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ
|
||||
case '3':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
float min,max;
|
||||
chinese_query_by_fractional_segment:
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ijɼ<C4B3><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>ijɼ<C4B3><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
||||
printf("-><3E><><EFBFBD>ͷ֣<CDB7>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&min);
|
||||
printf("-><3E><><EFBFBD>߷֣<DFB7>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&max);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
|
||||
if(min>max){
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto chinese_query_by_fractional_segment;
|
||||
}
|
||||
else{
|
||||
q=head;
|
||||
p=head->next;
|
||||
while (p!=NULL){
|
||||
if(p->chinese<min||p->chinese>max){
|
||||
r=p;
|
||||
p=p->next;
|
||||
q->next=p;
|
||||
free(r);
|
||||
}
|
||||
else{
|
||||
p=p->next;
|
||||
q=q->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",chinese_av());
|
||||
|
||||
chinese_query_by_fractional_segment_re:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y': {
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n': {
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto chinese_query_by_fractional_segment_re;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '4':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto chinese_statistic;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//ͳ<><CDB3><EFBFBD><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD>
|
||||
case '2':{
|
||||
math_statistic:
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD><C3A3><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ\n");
|
||||
printf("->4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char math_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4<><34>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&math_menu_input);
|
||||
switch (math_menu_input) {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '1':{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
r=p->next;
|
||||
p->next=NULL;
|
||||
p=r;
|
||||
|
||||
while(p!=NULL)
|
||||
{
|
||||
r=p->next;
|
||||
q=head;
|
||||
while(q->next!=NULL&&q->next->math<p->math)
|
||||
{
|
||||
q=q->next;
|
||||
}
|
||||
p->next=q->next;
|
||||
q->next=p;
|
||||
p=r;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("-><3E><>ѧƽ<D1A7><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",math_av());
|
||||
|
||||
math_statistic_re1:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto math_statistic_re1;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '2':{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
r=p->next;
|
||||
p->next=NULL;
|
||||
p=r;
|
||||
|
||||
while(p!=NULL)
|
||||
{
|
||||
r=p->next;
|
||||
q=head;
|
||||
while(q->next!=NULL&&q->next->math>p->math)
|
||||
{
|
||||
q=q->next;
|
||||
}
|
||||
p->next=q->next;
|
||||
q->next=p;
|
||||
p=r;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("-><3E><>ѧƽ<D1A7><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",math_av());
|
||||
|
||||
math_statistic_re2:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto math_statistic_re2;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ
|
||||
case '3':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
float min,max;
|
||||
math_query_by_fractional_segment:
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD><C3A3>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ѧ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
||||
printf("-><3E><><EFBFBD>ͷ֣<CDB7>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&min);
|
||||
printf("-><3E><><EFBFBD>߷֣<DFB7>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&max);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
|
||||
if(min>max){
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto math_query_by_fractional_segment;
|
||||
}
|
||||
else{
|
||||
q=head;
|
||||
p=head->next;
|
||||
while (p!=NULL){
|
||||
if(p->math<min||p->math>max){
|
||||
r=p;
|
||||
p=p->next;
|
||||
q->next=p;
|
||||
free(r);
|
||||
}
|
||||
else{
|
||||
p=p->next;
|
||||
q=q->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("-><3E><>ѧƽ<D1A7><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",math_av());
|
||||
|
||||
math_query_by_fractional_segment_re:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y': {
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n': {
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto math_query_by_fractional_segment_re;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '4':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto math_statistic;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
//ͳ<><CDB3>Ӣ<EFBFBD><D3A2><EFBFBD>ɼ<EFBFBD>
|
||||
case '3':{
|
||||
english_statistic:
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>Ӣ<EFBFBD><D3A2><EFBFBD>ɼ<EFBFBD>ͳ<EFBFBD><CDB3>\n\n");
|
||||
printf("->1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ\n");
|
||||
printf("->3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ\n");
|
||||
printf("->4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>\n");
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char english_menu_input;
|
||||
printf("\n-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3/4<><34>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&english_menu_input);
|
||||
switch (english_menu_input) {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '1':{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
r=p->next;
|
||||
p->next=NULL;
|
||||
p=r;
|
||||
|
||||
while(p!=NULL)
|
||||
{
|
||||
r=p->next;
|
||||
q=head;
|
||||
while(q->next!=NULL&&q->next->english<p->english)
|
||||
{
|
||||
q=q->next;
|
||||
}
|
||||
p->next=q->next;
|
||||
q->next=p;
|
||||
p=r;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("->Ӣ<><D3A2>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",english_av());
|
||||
|
||||
english_statistic_re1:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto english_statistic_re1;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ
|
||||
case '2':{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
p=head->next;
|
||||
r=p->next;
|
||||
p->next=NULL;
|
||||
p=r;
|
||||
|
||||
while(p!=NULL)
|
||||
{
|
||||
r=p->next;
|
||||
q=head;
|
||||
while(q->next!=NULL&&q->next->english>p->english)
|
||||
{
|
||||
q=q->next;
|
||||
}
|
||||
p->next=q->next;
|
||||
q->next=p;
|
||||
p=r;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("->Ӣ<><D3A2>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",english_av());
|
||||
|
||||
english_statistic_re2:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto english_statistic_re2;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ
|
||||
case '3':{
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
float min,max;
|
||||
english_query_by_fractional_segment:
|
||||
printf("------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD><C3A3>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD>ѯ\n\n");
|
||||
printf("-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ѯ<EFBFBD><D1AF>Ӣ<EFBFBD><D3A2><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n");
|
||||
printf("-><3E><><EFBFBD>ͷ֣<CDB7>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&min);
|
||||
printf("-><3E><><EFBFBD>߷֣<DFB7>");
|
||||
fflush(stdin);
|
||||
scanf("%f",&max);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
|
||||
if(min>max){
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto english_query_by_fractional_segment;
|
||||
}
|
||||
else{
|
||||
q=head;
|
||||
p=head->next;
|
||||
while (p!=NULL){
|
||||
if(p->english<min||p->english>max){
|
||||
r=p;
|
||||
p=p->next;
|
||||
q->next=p;
|
||||
free(r);
|
||||
}
|
||||
else{
|
||||
p=p->next;
|
||||
q=q->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
|
||||
t=head->next;
|
||||
system("cls");
|
||||
fflush(stdin);
|
||||
printf("-------------------------------------------------ѧ<><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ϵͳ-------------------------------------------------\n");
|
||||
printf("-><3E><>ǰλ<C7B0>ã<EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѯ\n\n");
|
||||
printf("ѧ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ա<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ijɼ<C4B3> <20><>ѧ<EFBFBD>ɼ<EFBFBD> Ӣ<><D3A2><EFBFBD>ɼ<EFBFBD>\n\n");
|
||||
while (t!=NULL){
|
||||
printf("%-20s %-20s %-10s %-10d %-20.2f %-20.2f %-20.2f\n",t->stu_num,t->name,t->gender,t->age,t->chinese,t->math,t->english);
|
||||
t=t->next;
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
printf("->Ӣ<><D3A2>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%.2f\n\n",english_av());
|
||||
|
||||
english_query_by_fractional_segment_re:
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
printf("-><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>y/n<><6E>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&statistic_menu_input);
|
||||
switch (statistic_menu_input) {
|
||||
case 'y': {
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
case 'n': {
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto english_query_by_fractional_segment_re;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '4':{
|
||||
goto continue_statistic;
|
||||
//break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto math_statistic;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>˵<EFBFBD>
|
||||
case '4':{
|
||||
secondary_menu();
|
||||
break;
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
Sleep(2000);
|
||||
goto continue_statistic;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
float chinese_av(){
|
||||
float chinese_sum=0,chinese_av;
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t,*r;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
int info_num=0;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
chinese_sum+=p->chinese;
|
||||
info_num+=1;
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->prev->next=NULL;
|
||||
//<2F><>¼<EFBFBD><C2BC>
|
||||
info_num=info_num-1;
|
||||
chinese_av=chinese_sum/info_num;
|
||||
return chinese_av;
|
||||
}
|
||||
|
||||
float math_av(){
|
||||
float math_sum=0,math_av;
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t,*r;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
int info_num=0;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
math_sum+=p->math;
|
||||
info_num+=1;
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->prev->next=NULL;
|
||||
//<2F><>¼<EFBFBD><C2BC>
|
||||
info_num=info_num-1;
|
||||
math_av=math_sum/info_num;
|
||||
return math_av;
|
||||
}
|
||||
|
||||
float english_av(){
|
||||
float english_sum=0,english_av;
|
||||
|
||||
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
FILE *fp=fopen("../stu_info/stu_info.txt","r");
|
||||
struct stu *head,*p,*q,*t,*r;
|
||||
head=(struct stu *) malloc(sizeof(struct stu));
|
||||
head->prev=NULL;
|
||||
q=head;
|
||||
int info_num=0;
|
||||
while (!feof(fp)){
|
||||
p=(struct stu *) malloc(sizeof(struct stu));
|
||||
fscanf(fp,"%s %s %s %d %f %f %f",&p->stu_num,&p->name,&p->gender,&p->age,&p->chinese,&p->math,&p->english);
|
||||
english_sum+=p->english;
|
||||
info_num+=1;
|
||||
p->prev=q;
|
||||
q->next=p;
|
||||
q=p;
|
||||
}
|
||||
fclose(fp);
|
||||
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD><CEAA>
|
||||
p->prev->next=NULL;
|
||||
//<2F><>¼<EFBFBD><C2BC>
|
||||
info_num=info_num-1;
|
||||
english_av=english_sum/info_num;
|
||||
return english_av;
|
||||
}
|
||||
1
heads/add_module.h
Normal file
1
heads/add_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void add_module();
|
||||
1
heads/delete_module.h
Normal file
1
heads/delete_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void delete_module();
|
||||
2
heads/for_function_module.h
Normal file
2
heads/for_function_module.h
Normal file
@@ -0,0 +1,2 @@
|
||||
#include "stu_info.h"
|
||||
int main();
|
||||
12
heads/for_main.h
Normal file
12
heads/for_main.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
#include "windows.h"
|
||||
#include "main_menu.h"
|
||||
#include "login_module.h"
|
||||
#include "registered_module.h"
|
||||
#include "secondary_menu.h"
|
||||
#include "add_module.h"
|
||||
#include "query_module.h"
|
||||
#include "delete_module.h"
|
||||
#include "statistic_module.h"
|
||||
#include "modify_module.h"
|
||||
1
heads/login_module.h
Normal file
1
heads/login_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void login_module();
|
||||
1
heads/main_menu.h
Normal file
1
heads/main_menu.h
Normal file
@@ -0,0 +1 @@
|
||||
void main_menu();
|
||||
1
heads/modify_module.h
Normal file
1
heads/modify_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void modify_module();
|
||||
1
heads/query_module.h
Normal file
1
heads/query_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void query_module();
|
||||
1
heads/registered_module.h
Normal file
1
heads/registered_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void registered_module();
|
||||
1
heads/secondary_menu.h
Normal file
1
heads/secondary_menu.h
Normal file
@@ -0,0 +1 @@
|
||||
void secondary_menu();
|
||||
1
heads/statistic_module.h
Normal file
1
heads/statistic_module.h
Normal file
@@ -0,0 +1 @@
|
||||
void statistic_module();
|
||||
8
heads/stu_info.h
Normal file
8
heads/stu_info.h
Normal file
@@ -0,0 +1,8 @@
|
||||
struct stu{
|
||||
char stu_num[20];
|
||||
char name[20];
|
||||
char gender[10];
|
||||
int age;
|
||||
float chinese,math,english;
|
||||
struct stu *prev,*next;
|
||||
};
|
||||
5
heads/users.h
Normal file
5
heads/users.h
Normal file
@@ -0,0 +1,5 @@
|
||||
struct user{
|
||||
char account[20];
|
||||
char password[20];
|
||||
struct user *next;
|
||||
};
|
||||
61
main.c
Normal file
61
main.c
Normal file
@@ -0,0 +1,61 @@
|
||||
/**********************************************************************************************************************
|
||||
* _ooOoo_ *
|
||||
* o8888888o *
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* O\ = /O *
|
||||
* ___/`---'\____ *
|
||||
* . ' \\| |// `. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* / | | \\\ - /// | | \ *
|
||||
* | \_| ''\---/'' | | *
|
||||
* \ .-\__ `-` ___/-. / *
|
||||
* ___`. .' /--.--\ `. . __ *
|
||||
* ."" '< `.___\_<|>_/___.' >'"". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `-. \_ __\ /__ _/ .-` / / *
|
||||
* ======`-.____`-.___\_____/___.-`____.-'====== *
|
||||
* `=---=' *
|
||||
* *
|
||||
* ............................................. *
|
||||
* <20><><EFBFBD>汣<EFBFBD><E6B1A3> <20><><EFBFBD><EFBFBD>BUG *
|
||||
**********************************************************************************************************************/
|
||||
|
||||
|
||||
#include "heads/for_main.h"
|
||||
|
||||
int main() {
|
||||
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>˵<EFBFBD>
|
||||
main_menu();
|
||||
|
||||
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>룬<EFBFBD>ж<EFBFBD>ִ<EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
||||
char main_menu_input;
|
||||
re_input_main_menu_choice:
|
||||
printf("-> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>1/2/3<><33>");
|
||||
fflush(stdin);
|
||||
scanf("%c",&main_menu_input);
|
||||
switch (main_menu_input) {
|
||||
//<2F><>¼
|
||||
case '1':{
|
||||
login_module();
|
||||
break;
|
||||
}
|
||||
//ע<><D7A2>
|
||||
case '2':{
|
||||
registered_module();
|
||||
break;
|
||||
}
|
||||
//<2F>˳<EFBFBD>
|
||||
case '3':{
|
||||
exit(0);
|
||||
}
|
||||
//<2F><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
||||
default:{
|
||||
printf("-><3E><><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡\n\n");
|
||||
fflush(stdin);
|
||||
goto re_input_main_menu_choice;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
10
stu_info/stu_info.txt
Normal file
10
stu_info/stu_info.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
001 <20>ΰ<EFBFBD>÷ Ů 18 95.000000 88.000000 99.000000
|
||||
002 <20><>־<EFBFBD><D6BE> Ů 17 98.000000 99.000000 96.000000
|
||||
003 <20>ڹ<EFBFBD> <20><> 19 88.000000 90.000000 93.000000
|
||||
004 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 20 76.000000 88.000000 65.000000
|
||||
005 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ů 15 100.000000 95.000000 100.000000
|
||||
006 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 17 91.000000 78.000000 0.000000
|
||||
007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 18 78.000000 85.000000 70.000000
|
||||
008 <20><EFBFBD><DEBA><EFBFBD> Ů 16 89.000000 60.000000 78.000000
|
||||
009 <20><><EFBFBD><EFBFBD> Ů 19 96.000000 88.000000 98.000000
|
||||
010 л־<D0BB><D6BE> <20><> 17 79.000000 78.000000 88.000000
|
||||
1
users/users.txt
Normal file
1
users/users.txt
Normal file
@@ -0,0 +1 @@
|
||||
admin admin
|
||||
10
测试数据
Normal file
10
测试数据
Normal file
@@ -0,0 +1,10 @@
|
||||
001 <20>ΰ<EFBFBD>÷ Ů 18 95.000000 88.000000 99.000000
|
||||
002 <20><>־<EFBFBD><D6BE> Ů 17 98.000000 99.000000 96.000000
|
||||
003 <20>ڹ<EFBFBD> <20><> 19 88.000000 90.000000 93.000000
|
||||
004 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 20 76.000000 88.000000 65.000000
|
||||
005 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ů 15 100.000000 95.000000 100.000000
|
||||
006 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 17 91.000000 78.000000 0.000000
|
||||
007 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 18 78.000000 85.000000 70.000000
|
||||
008 <20><EFBFBD><DEBA><EFBFBD> Ů 16 89.000000 60.000000 78.000000
|
||||
009 <20><><EFBFBD><EFBFBD> Ů 19 96.000000 88.000000 98.000000
|
||||
010 л־<D0BB><D6BE> <20><> 17 79.000000 78.000000 88.000000
|
||||
Reference in New Issue
Block a user