笨拙的学生信息管理系统,以后会继续改进的

来源:互联网 发布:js radio 选中 编辑:程序博客网 时间:2024/05/08 23:20
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
struct student{
    char name[10];
    int num;
    int cs,ms,es;
};




struct student stu[100];
int total=0;
int  entering();
int addstudent();
int deletestudent();
void changestudent();
void findstudent();
void printfstudent();




int main(){
    int choice;
    printf("××××学生信息管理系统××××\n");
    printf("1--录入学生信息\n2--添加学生信息\n3--删除学生信息\n4--修改学生信息\n5--查询学生信息\n6--保存学生信息\n7--退出系统\n\n");
    while(1) {
    printf("请输入您的选择:");
    scanf("%d",&choice);
    switch(choice){
        case 1:
            total=entering();
            break;
        case 2:
            total=addstudent();
            break;
        case 3:
            total=deletestudent();
            break;
        case 4:
            changestudent();
            break;
        case 5:
            findstudent();
            break;
        case 6:
            printfstudent();
            break;
        case 7:
            exit(0);
        default:
            printf("choice again?");


    }
   }
    return 0;
}




int  entering(){
        int num;
        printf("请输入学生人数:");
        scanf("%d",&num);
        for(int i=total;i<num+total;i++){
            printf("请输入姓名:");
            scanf("%s",stu[i].name);
            printf("请输入学号:");
            scanf("%d",&stu[i].num);
            printf("请输入语文成绩:");
            scanf("%d",&stu[i].cs);
            printf("请输入数学成绩:");
            scanf("%d",&stu[i].ms);
            printf("请输入英语成绩:");
            scanf("%d",&stu[i].es);
        }
        total=total+num;
        return total;
}
int addstudent(){
        printf("请输入要添加的位置:");
        int position;
        scanf("%d",&position);
        if(total==0){
            printf("请输入添加学生的姓名:");
            scanf("%s",stu[position].name);
            printf("请输入添加学生的学号:");
            scanf("%d",&stu[position].num);
            printf("请输入添加学生的语文成绩:");
            scanf("%d",&stu[position].cs);
            printf("请输入添加学生的数学成绩:");
            scanf("%d",&stu[position].ms);
            printf("请输入添加学生的英语成绩:");
            scanf("%d",&stu[position].es);}
            else{
        for(int i=total;i>=position;i--){
            stu[i]=stu[i-1];
        }
            printf("请输入添加学生的姓名:");
            scanf("%s",stu[position-1].name);
            printf("请输入添加学生的学号:");
            scanf("%d",&stu[position-1].num);
            printf("请输入添加学生的语文成绩:");
            scanf("%d",&stu[position-1].cs);
            printf("请输入添加学生的数学成绩:");
            scanf("%d",&stu[position-1].ms);
            printf("请输入添加学生的英语成绩:");
            scanf("%d",&stu[position-1].es);
            }
        total++;
        return total;
}
int deletestudent(){
        printf("请输入需删除的学生的学号:");
        int deletenum;
        int w;
        scanf("%d",&deletenum);
        for(int i=0;i<total;i++){
            if(stu[i].num==deletenum){
                w=i;
            }
        }
        for(int i=w;i<total;i++){
            stu[i]=stu[i+1];
        }
        total--;
        return total;
}
void changestudent(){
        int x;
        printf("请输入要修改同学的学号:");
        scanf("%d",&x);
        for(int i=0;i<total;i++){
            if(x==stu[i].num){
                printf("请选择要修改的选项:");
                printf("1--修改名字");
                printf("2--修改语文成绩");
                printf("3--修改数学成绩");
                printf("4--修改英语成绩");
                int  changechoice;
                scanf("%d",&changechoice);
                switch(changechoice){
                    case 1:
                        printf("请输入修改后的姓名:");
                        scanf("%s",stu[i].name);
                        break;
                case 2:
                    printf("请输入修改后的语文成绩");
                    scanf("%d",&stu[i].cs);
                        break;
                case 3:
                    printf("请输入修改后的数学成绩:");
                    scanf("%d",&stu[i].ms);
                    break;
                case 4:
                    printf("请输入修改后的英语成绩:");
                    scanf("%d",&stu[i].es);
                    break;
                }


            }
        }
}
void findstudent(){
 printf("1--姓名查询\n2--学号查询\n");
          int searchnum;
          printf("请选择查询方式:");
          scanf("%d",&searchnum);
          if(searchnum==1){
                printf("请输入查询姓名:");
                char  name[10];
                scanf("%s",name);
                for(int i=0;i<total;i++){
                    if(!strcmp(name,stu[i].name)){
                        printf("学号:");
                        printf("%d",stu[i].num);
                        printf("语文成绩:");
                        printf("%d",stu[i].cs);
                        printf("数学成绩:");
                        printf("%d",stu[i].ms);
                        printf("英语成绩:");
                        printf("%d\n",stu[i].es);
                }
            }
          }
          else {
            printf("请输入查询学号:");
            int somenum;
            scanf("%d",&somenum);
            for(int i=0;i<total;i++){
                if(somenum==stu[i].num){
                    printf("姓名:");
                    printf("%s",stu[i].name);
                    printf("语文成绩:");
                    printf("%d",stu[i].cs);
                    printf("数学成绩:");
                    printf("%d",stu[i].ms);
                    printf("英语成绩:");
                    printf("%d\n",stu[i].es);
                }
            }
}
}
void printfstudent(){
    if(total==0){printf("no message!\n");}
    else {
                for(int i=0;i<total;i++){
                    printf("姓名:%s\n",stu[i].name);
                    printf("学号:%d\n",stu[i].num);
                    printf("语文成绩:%d\n",stu[i].cs);
                    printf("数学成绩:%d\n",stu[i].ms);
                    printf("%英语成绩:%d\n",stu[i].es);
                }
        }
}
0 0