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:
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user