学生信息管理系统

来源:互联网 发布:淘宝积分什么用 编辑:程序博客网 时间:2024/06/05 09:54
/*
**   学生信息管理系统
**
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int n=0;   //学生系统中学生总人数
struct node
{
    int num;
    char name[16];
    double score1 , score2;
}stu[40];
/*
**  函数功能:根据功能号控制各个函数的使用
**
*/
int control()
{
    int choose;
    showMain();
    scanf("%d",&choose);
    switch(choose)
    {
        case 1:
            increase();
            break;
        case 2:
            dele();
            break;
        case 3:
            query();
            break;
        case 4:
            insert();
            break;
        case 5:
            show();
            break;
        case 6:
            break;
        case 0:
            break;
        default :
            break;
    }
    return choose;
}
/*
**  函数功能:显示主页面
**
*/
void showMain()
{
    printf("**********************************\n");
    printf("欢迎登陆学生信息管理系统\n");
    printf("1---------增加学生信息\n");
    printf("2---------删除学生信息\n");
    printf("3---------查询学生信息\n");
    printf("4---------插入学生信息\n");
    printf("5---------显示学生信息\n");
    printf("6---------修改学生信息\n");
    printf("0---------退出学生信息管理系统\n");
    printf("请输入您要选择的功能号:\n");
    printf("**********************************\n");
}
/*
**   函数功能:增加学生信息
**
*/
void increase()
{
    int m;
    int i;
    int k;
    printf("请输入要增加的学生人数:\n");
    scanf("%d",&m);
    if(n+m>40)
        printf("增加后的学生人数超过最大学生人数,请重新输入\n");
    else
    {
        k=1;
        for(i=n;i<n+m;i++)
        {
            printf("请输入第%d个学生的学号:\n",k);
            scanf("%d",&stu[i].num);
            printf("请输入第%d个学生的姓名:\n",k);
            scanf("%s",stu[i].name);
            printf("请输入第%d个学生的科目一成绩:\n",k);
            scanf("%lf",&stu[i].score1);
            printf("请输入第%d个学生的科目二成绩:\n",k++);
            scanf("%lf",&stu[i].score2);
        }
        n+=m;
    }
}
/*
**   函数功能:删除学生信息
**
*/
void dele()
{
    int i,j,z,m;
    int id;
    int k;
    printf("请输入要删除的学生人数:\n");
    scanf("%d",&m);
    k=1;
    for(i=0;i<m;i++)
    {
        printf("请输入第%d个要删除的学生的学号:\n",k++);
        scanf("%d",&id);
        j=query_dele(id);
        for(z=j;z<n-1;z++)
        {
            stu[z]=stu[z+1];
        }
        n--;
    }
}
/*
**   函数功能:查询要删除的学生的位置
**
*/
int  query_dele(int id)
{
    int i;
    for(i=0;i<n;i++)
    {
        if(id==stu[i].num)
            return i;
    }
}
/*
**   函数功能:查询学生信息
**
*/
void query()
{
    int id;
    int i;
    printf("请输入要查询的学生的学号:\n");
    scanf("%d",&id);
    i=query_dele(id);
    printf("您所查询的学生的信息:\n");
    printf("%d %s %.2lf %.2lf\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2);
}
/*
**   函数功能:插入学生信息
**
*/
void insert()
{
    int i,j;
    printf("请输入要插入的学生的位置:\n");
    scanf("%d",&i);
    if(i>40)
        printf("你插入的位置有误,请重新输入\n");
    else
    {
        i--;
        printf("请输入插入学生的信息\n");
        if(i>=n)
            scanf("%d%s%lf%lf",&stu[n].num,stu[n].name,&stu[n].score1,&stu[n].score2);
        else
        {
            for(j=n;j>i;j--)
            {
                stu[j]=stu[j-1];
            }
            scanf("%d%s%lf%lf",&stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2);
        }
        n++;
    }
}
/*
**   函数功能:显示所有学生的信息
**
*/
void show()
{
    int i;
    printf("|学号     |姓名     |科目一成绩 |科目二成绩|\n");
    for(i=0;i<n;i++)
    {
        printf("|%d         %s         %.2lf        %.2lf|\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2);
    }
}
int main()
{
    int choose=1;
    while(choose)
    {
        choose=control();
        printf("***************************************\n");
        printf("|1----继续操作,0----退出系统|\n");
        printf("***************************************\n");
        scanf("%d",&choose);
        system("cls");
    }
    return 0;
}
0 0
原创粉丝点击