首页 > 编程知识 正文

基于c的学生管理系统,学生系统管理程序c语言实现

时间:2023-05-04 03:23:31 阅读:218955 作者:4276

大家好,这是本人第一次写博客。写的不好的地方,请大家多多见谅。有什么建议希望大家多多提出。谢谢!
正文:
利用结构体实现学生管理系统,主要用到结构体数组,对结构体数组中的元素进行操作。本文利用结构体中的知识,实现学生管理系统的增删改查。
1、定义一个结构体
结构体中包括学生id,学生姓名,学生成绩,三项数据。利用 typedef 重定义结构体的名字为STD。

/* 定义结构体数据 */ typedef struct {unsigned int id;char name[10];float score;}STD;

2、定义一个结构体数组
直接用结构体名称定义一个名为 student 的结构体数组,结构体数组包含100个元素,即可保存100名学生的信息(可修改数值大小,调整保存学生信息的多少)。数组中的每一个元素都是一个结构体,均包含结构体中的三项数据。

/* 结构体数组 */STD student[100] = {0};

3、显示菜单界面

/****************************************************显示菜单界面 *****************************************************/void menu(void){printf("/*************学生管理系统****************/rn");printf("rn"); printf(" *********** 1、查询学生信息 ***********rn");printf(" *********** 2、增加学生信息 ***********rn");printf(" *********** 3、删除学生信息 ***********rn");printf(" *********** 4、修改学生信息 ***********rn");printf(" *********** 0、退出学生管理系统 *******rn");printf(" ****** 请输入对应的操作指令(1-4) ******rn");printf("rn");printf("/****************************************/rn"); }

显示结果:

4、查询学生信息功能
输入要要查询的学生ID,根据学生ID对应结构体数组中的对应元素,判断学生ID是否存在,若存在显示学生信息。

/***************查询学生信息****************************************************/ void look(void){unsigned int ID;printf("请输入要查询的学生IDrn");scanf("%d",&ID);if(student[ID].id == 0){printf("对不起,学生信息不存在rn");}else{printf("学号:%drn",student[ID].id);printf("姓名:%srn",student[ID].name);printf("成绩:%.2frn",student[ID].score);}}

查询结果:

5、增加学生信息
先判断要增加的学生信息是否存在,若存在就提示,无需再重复增加。若不存在,根据提示输入学生信息。

/***************增加学生信息****************************************************/void add(void){unsigned int ID;printf("请输入要添加的学生学号rn");scanf("%d",&ID);if(student[ID].id != 0){printf("对不起,学生信息已存在rn");}student[ID].id = ID;printf("请输入要添加的学生姓名rn");scanf("%s",&student[ID].name);printf("请输入要添加的学生成绩rn");scanf("%f",&student[ID].score);printf("学生信息添加成功rn");}

添加结果:

6、删除学生信息

/***************删除学生信息****************************************************/void Delete(void){unsigned int ID;printf("请输入要删除的学生学号rn");scanf("%d",&ID);if(student[ID].id == 0){printf("对不起,学生信息不存在rn");}else{memset(&student[ID],0,sizeof(STD));//清空数组中对应结构体元素printf("删除成功rn"); }}

删除结果:

7、修改学生信息
根据输入的学生ID,判断学生信息是否存在,若不存在,则提示。若存在,则根据提示进行修改。

/***************修改学生信息****************************************************/void amend(void){unsigned int ID;printf("请输入要修改的学生学号rn");scanf("%d",&ID);if(student[ID].id == 0){printf("对不起,学生信息不存在rn");}else{printf("请输入新的名字rn");scanf("%s",&student[ID].name);printf("请输入新的成绩rn");scanf("%f",&student[ID].score); printf("修改成功rn");}}

修改结果:

8、主函数

int main(void){unsigned char num; while(1){menu();//菜单界面scanf("%d",&num);//获取操作命令if(num>=0 && num<=4){//判断操作命令是否有效switch(num)//对有效命令做出响应{case 0: printf("退出成功!rn");return 0;//退出case 1: look();break;//查看case 2: add();break;//添加case 3: Delete();break;//删除case 4: amend();break;//修改}}else{//提示错误信息printf("输入错误,请重新输入rn");}}return 0;}

最近防疫不能松懈,望各位观众有一个好身体,注意防疫,出门记得带口罩,你好我好大家好!!!
新人博主,望大家喜欢,喜欢的话,请一键三连。各位的[三连]是新人创作的动力,有任何需求,评论区中可以提出来,小七为你解答。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。