From f0650ff07a3995f1b7ddf3bbefc4e5cbbc6ae915 Mon Sep 17 00:00:00 2001 From: theBao Date: Sun, 5 Nov 2023 09:17:52 +0800 Subject: [PATCH] 111 --- .DS_Store | Bin 0 -> 6148 bytes main_副本2.c | 151 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 .DS_Store create mode 100644 main_副本2.c diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b6510babd6caef41ee13bafc3e131413add28c09 GIT binary patch literal 6148 zcmeHKJ5Iwu5S=vvB|wo93Zy*%vIHkEkyB96gaZ(qAV4x02~r>$_Z)^Jnl~R=#11V& zFeA;p-SNEL^|R&m5>c3}mM27GA{xROlM%uOL5={x0n%b<^KT<_qG4uOE8+?)C>5yGU`LFg zbmXJeWrnq)(ka;CBiPKrPAEZU$M{joDP)QsT>)2MU4bp_j(Pu|et-U7Cwb2ma0UL9 z0%4F}<`dkK?XA6= +#include +#include + +typedef struct{ + char *id; + char *class; + char *name; + double score1; + double score2; + double score3; + double score; +}Student; + +typedef struct{ + Student* student; + int nums; +}ss; + +ss* init(int); +void toMenu(ss*); +void getCom(ss*); +void Print(Student*); +void allPrint(ss*); +void input(ss*); +void cancel(ss*); +void Select(ss*); + +int main(int argc, const char * argv[]){ + ss* stu = init(6); + toMenu(stu); + return 0; +} + +ss* init(int Nums){ + ss* stu = (ss*)malloc(sizeof(ss)); + if(!stu) return NULL; + + stu->nums = Nums; + stu->student = (Student*)malloc(sizeof(Student)*Nums); + if(!stu->student) return NULL; + + for(int i = 0; i < Nums; ++i){ + stu->student[i].id = (char*)malloc(sizeof(char)*5); + stu->student[i].class = (char*)malloc(sizeof(char)*2); + stu->student[i].name = (char*)malloc(sizeof(char)*10); + + } + return stu; +} + +void toMenu(ss*stu){ + 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"); + getCom(stu); +} + +void getCom(ss* stu){ + int option; + scanf("%d",&option); + if(option == 1) input(stu); + else if(option == 2) cancel(stu); + else if(option == 3) Select(stu); + //else if(option == 4) sort(stu); + else if(option == 5) ; + else return; +} + +void Print(Student*student){ + printf("%s,%s,%s,%.1lf,%.1lf,%.1lf,%.1lf\n",student->id,student->class,student->name,student->score1,student->score2,student->score3,student->score); +} + +void allPrint(ss*stu){ + for(int i = 0; i < stu->nums; ++i){ + Print(&stu->student[i]); + } +} + +void input(ss*stu){ + char *tmp = (char*)malloc(sizeof(char)*3); + do{ + printf("Id "); + // get + printf("\n"); + + printf("class "); + // get + printf("\n"); + + printf("name "); + // get + printf("\n"); + + printf("score1 "); + // get + printf("\n"); + + printf("score2 "); + // get + printf("\n"); + + printf("score3 "); + // get + printf("\n"); + + printf("continue?\n"); + scanf("%s",tmp); + }while(strcmp(tmp,"yes")); + + toMenu(stu); +} + +void cancel(ss*stu){ + char* tmp = (char*)malloc(sizeof(char)*3); + do{ + char*ID = (char*)malloc(sizeof(char)*5); + scanf("%s",ID); + for(int i = 0; i < stu->nums; ++i){ + if(strcmp(stu->student[i].id,ID)){ + for(int j = i; j < stu->nums-1; ++j){ + stu->student[j] = stu->student[j+1]; + } + } + } + allPrint(stu); + printf("continue?\n"); + scanf("%s",tmp); + }while(strcmp(tmp,"yes")); + toMenu(stu); +} + +void Select(ss*stu){ + char* tmp = (char*)malloc(sizeof(char)*3); + do{ + ; + }while(0); +} + +//void insert(ss*stu)