finished work

This commit is contained in:
Fangnan
2022-09-28 16:24:43 +08:00
commit 3a65cbab8e
27 changed files with 2085 additions and 0 deletions

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}
}

View 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");
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}

View 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;
}
}
}

View 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;
}