parent
88ef70152e
commit
f0650ff07a
@ -0,0 +1,151 @@
|
||||
//
|
||||
// main.c
|
||||
// Lab_2
|
||||
//
|
||||
// Created by theBao on 2023/11/4.
|
||||
//
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
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)
|
Loading…
Reference in new issue