From 7d50b0fdd7b71ca499742026e6eea1519f2b24c9 Mon Sep 17 00:00:00 2001 From: p72fupixj Date: Sun, 5 Nov 2023 15:20:55 +0800 Subject: [PATCH] Delete '8plus.c' --- 8plus.c | 199 -------------------------------------------------------- 1 file changed, 199 deletions(-) delete mode 100644 8plus.c diff --git a/8plus.c b/8plus.c deleted file mode 100644 index 7d2e262..0000000 --- a/8plus.c +++ /dev/null @@ -1,199 +0,0 @@ -#include -#include -#include -#define N 100 - -struct stu_info -{ - char num[20]; - char cls[20]; - char name[20]; - float math,physics,english,total; struct stu_info* prev; - struct stu_info* next; -}; - -struct stu_info stu[N]; -int top=0; -struct stu_info *head=NULL; -struct stu_info *tail=NULL; - -void print_menu() -{ - printf("1.input\n"); - printf("2.delete\n"); - printf("3.select\n"); - printf("4.order\n"); - printf("5.output\n"); - printf("6.quit\n"); - printf("please input your option\n"); -} - -void print() -{ - struct stu_info* p=head; - while (p!=NULL) - { - printf("%s,%s,%s,%.1f,%.1f,%.1f,%.1f\n",p->num,p->cls,p->name,p->math,p->physics,p->english,p->total); - p=p->next; - } -} - - -void input() -{ - char op[20]; - struct stu_info* p=NULL; - while(1) - { - p=(struct stu_info *)malloc(sizeof(struct stu_info)); - if (head==NULL) - { - head=p; - } - //p->num = (char *)malloc(sizeof(char) * 20); - //p->cls = (char *)malloc(sizeof(char) * 20); - //p->name = (char *)malloc(sizeof(char) * 20); - printf("Id "); - scanf("%s",p->num); - printf("class "); - scanf("%s",p->cls); - printf("name "); - scanf("%s",p->name); - printf("score1 "); - scanf("%f",&p->math); - printf("score2 "); - scanf("%f",&p->physics); - printf("score3 "); - scanf("%f",&p->english); - p->total=p->math+p->physics+p->english; - p->prev=tail; - p->next=NULL; - if(p!=head) tail->next=p; - tail=p; - printf("continue?\n"); - do{ - scanf("%s",op); - }while(strcmp(op,"yes")!=0&&strcmp(op,"no")!=0); - if(strcmp(op,"no")==0) return; - } -} - -void del() -{ - struct stu_info* p=head; - char key[20],op[20]; - while(1) - { - p=head; - scanf("%s",key); - while(p!=NULL) - { - if(strcmp(p->num,key)==0||strcmp(p->name,key)==0) - { - if(p==head) head=p->next; - else (p->prev)->next=p->next; - (p->next)->prev=p->prev; - } - p=p->next; - } - print(); - printf("continue?\n"); - do{ - scanf("%s",op); - }while(strcmp(op,"yes")!=0&&strcmp(op,"no")!=0); - if(strcmp(op,"no")==0) return; - } -} - -void slc() -{ - int flag; - struct stu_info* p=head; - char key[20],op[20]; - while(1) - { - flag=0;p=head; - scanf("%s",key); - while(p!=NULL) - { - if(strcmp(p->num,key)==0||strcmp(p->cls,key)==0) - { - flag=1; - printf("%s,%s,%s,%.1f,%.1f,%.1f,%.1f\n",p->num,p->cls,p->name,p->math,p->physics,p->english,p->total); - } - p=p->next; - } - if(!flag) - { - printf("there is no eligible student\n"); - return; - } - printf("continue?\n"); - do{ - scanf("%s",op); - }while(strcmp(op,"yes")!=0&&strcmp(op,"no")!=0); - if(strcmp(op,"no")==0) return; - } -} - -void order() -{ - struct stu_info* p=tail; - struct stu_info* q=head; - struct stu_info* tmp=NULL; - while(p!=NULL) - { - q=head; - while(q!=p) - { - if(strcmp((q)->cls,(q->next)->cls)==1||strcmp((q)->cls,(q->next)->cls)==0&&((q)->total<(q->next)->total)) - { - if(p==q->next) p=q; - if(head==q) head=q->next; - else (q->prev)->next=q->next; - if(tail==q->next) tail=q; - else ((q->next)->next)->prev=q; - tmp=q->next; - q->next=tmp->next; - tmp->prev=q->prev; - tmp->next=q; - q->prev=tmp; - } - else q=q->next; - } - p=p->prev; - } - print(); - return; -} - -int main() -{ - int op; - while(1) - { - print_menu(); - scanf("%d",&op); - switch(op) - { - case(1): - input(); - break; - case(2): - del(); - break; - case(3): - slc(); - break; - case(4): - order(); - break; - case(5): - print(); - break; - case(6): - return 0; - } - } -} -