学生管理系统

        在Linux系统下使用C语言编程,实现学生管理系统,实现简单增删改查。在以下编写的代码中都有相应的注释,这是撰写代码的良好习惯。创作不易,给个赞呗!感谢!

#include <string.h>
// 定义结构体数据  
typedef struct {	
	unsigned int id;
	char name[10];
	float score;
}STD;
// 结构体数组 
STD student[100] = {0};
//显示菜单界面 
void menu(void)
{
	printf("/*************学生管理系统****************/\r\n");
	printf("\r\n"); 
	printf(" *********** 1、查询学生信息 ***********\r\n");
	printf(" *********** 2、增加学生信息 ***********\r\n");
	printf(" *********** 3、删除学生信息 ***********\r\n");
	printf(" *********** 4、修改学生信息 ***********\r\n");
	printf(" *********** 0、退出学生管理系统 *******\r\n");
	printf(" ****** 请输入对应的操作指令(1-4) ******\r\n");
	printf("\r\n");
	printf("/****************************************/\r\n");
 }
//查询学生信息 
void look(void)
{
	unsigned int ID;
	printf("请输入要查询的学生ID\r\n");
	scanf("%d",&ID);
	
	if(student[ID].id == 0)
	{
		printf("对不起,学生信息不存在\r\n");

	}
	else
	{
		printf("学号:%d\r\n",student[ID].id);
		printf("姓名:%s\r\n",student[ID].name);
		printf("成绩:%.2f\r\n",student[ID].score);
	}	
}
//增加学生信息
void add(void)
{
	unsigned int ID;
	printf("请输入要添加的学生学号\r\n");
	scanf("%d",&ID);
	
	{
	//	printf("对不起,学生信息已存在\r\n");
	}
	
	student[ID].id = ID;
	printf("请输入要添加的学生姓名\r\n");
	scanf("%s",student[ID].name);
	printf("请输入要添加的学生成绩\r\n");
	scanf("%f",&student[ID].score);
	printf("学生信息添加成功\r\n");
} 
//删除学生信息
void Delete(void)
{
	unsigned int ID;
	printf("请输入要删除的学生学号\r\n");
	scanf("%d",&ID);
	
	if(student[ID].id == 0)
	{
		printf("对不起,学生信息不存在\r\n");
	}
	else
	{
		memset(&student[ID],0,sizeof(STD));	//清空数组中对应结构体元素
		printf("删除成功\r\n"); 
	}		
} 
//修改学生信息
void amend(void)
{
	unsigned int ID;
	printf("请输入要修改的学生学号\r\n");
	scanf("%d",&ID);
	
	if(student[ID].id == 0)
	{
		printf("对不起,学生信息不存在\r\n");
	}
	else
	{
		printf("请输入新的名字\r\n");
		scanf("%s",student[ID].name);
		printf("请输入新的成绩\r\n");
		scanf("%f",&student[ID].score); 
		printf("修改成功\r\n");
	}
}
//主函数
int main(void)
{
	unsigned int num; 
	
	while(1)
	{
		menu();			         	//菜单界面
		scanf("%d",&num);	                //获取操作命令
		
		if(num>=0 && num<=4)
		{	                         	//判断操作命令是否有效
			switch(num)	         	//对有效命令做出响应
			{
				case 0:
				       	printf("退出成功!\r\n");
					return 0;       //退出
				case 1: 
					look();
					break;		//查看
				case 2: 
					add();
					break;		//添加
				case 3: 
					Delete();
					break;		//删除
				case 4: 
					amend();
					break;		//修改
			}
		}
		else
		{					//提示错误信息
			printf("输入错误,请重新输入\r\n");
		}
	}
	return 0;	
}

               

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值