C语言实现一个简单学生信息管理系统

学生信息管理,声明一个结构体存储信息先。

//存储学生信息的结构体
typedef struct Student {
   
	//姓名,学号,语文成绩,数学成绩,英语成绩
	char name[30];
	char ID[20];
	int chinese;
	int math;
	int english;
} Student;

然后呢,增,删,查,改,显示,分别封装为五个函数。其中添加和删除的部分,为了使数据长度随函数内增加和删除的操作改变,传参时除了数组指针,数组的长度也使用指针型传递。

//添加学生信息
void AddStudent(Student stu_arr[], int* length) {
   
	//如果存储的信息量已达最大
	if (*length == MAXSIZE) {
   
		printf("不能添加更多的学生信息了!\n");
		return ;
	}

	Student stu;
	printf("请输入要添加的学生姓名:");
	scanf("%s", &stu.name);
	printf("请输入要添加的学生学号:");
	scanf("%s", &stu.ID);
	printf("请输入要添加的学生语文成绩:");
	scanf("%d", &stu.chinese);
	printf("请输入要添加的学生数学成绩:");
	scanf("%d", &stu.math);
	printf("请输入要添加的学生英语成绩:");
	scanf("%d", &stu.english);

	stu_arr[*length] = stu;
	(*length)++;
	int in = (*length) - 1;
	printf("学生 %s 信息添加成功!\n", stu_arr[in].name);
}

删除的部分使用数组覆盖的方式实现。

//删除学生信息
void DeleteStudent(Student stu_arr[], int* length) {
   
	//如果数组已经为空
	if (length == 0) {
   
		printf("没有可删除的数据!\n");
		return ;
	}

	char name[30];
	printf("请输入要删除的学生姓名:");
	scanf("%s", &name);

	int i, j, is_find = 0;
	for (i = 0; i < *length && is_find == 0; i++) {
   
		if (strcmp(stu_arr[i].name, name) == 0) {
   
			is_find = 1;
			//对被删除信息进行覆盖
			for (j = i; j < (*length) - 1; j++) {
   
				stu_arr[j] = stu_arr[j + 1];
			}
		}
	}

	if (is_find == 0) {
   
		printf("未找到该学生信息!\n");
	} else {
   
		(*length)--;
		printf("学生 %s 信息删除成功!\n", name
  • 8
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值