请使用C++写一个学生成绩管理系统,要求实现增删改查功能。
时间: 2024-05-20 11:15:51 浏览: 142
很高兴回答您的问题。以下是 C 代码以实现学生成绩管理系统的增删改查功能:
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS 100 // 最大学生数量
struct Student {
char name[20];
int id;
int score;
};
// 学生信息数组
struct Student students[MAX_STUDENTS];
// 学生数量
int num_students = 0;
// 查找学生索引
int find_student_index(int id) {
int i;
for (i = 0; i < num_students; i++) {
if (students[i].id == id) {
return i;
}
}
return -1;
}
// 显示学生信息
void show_student_info(struct Student student) {
printf("姓名:%s,学号:%d,分数:%d\n", student.name, student.id, student.score);
}
// 显示所有学生信息
void show_all_students() {
int i;
for (i = 0; i < num_students; i++) {
show_student_info(students[i]);
}
}
// 增加学生
void add_student() {
struct Student new_student;
printf("请输入学生姓名:");
scanf("%s", &new_student.name);
printf("请输入学生学号:");
scanf("%d", &new_student.id);
printf("请输入学生成绩:");
scanf("%d", &new_student.score);
students[num_students++] = new_student;
printf("学生信息添加成功!\n");
}
// 删除学生
void delete_student() {
int id;
printf("请输入要删除的学生学号:");
scanf("%d", &id);
int index = find_student_index(id);
if (index == -1) {
printf("学生信息不存在!\n");
} else {
int i;
for (i = index; i < num_students - 1; i++) {
students[i] = students[i + 1];
}
num_students--;
printf("学生信息删除成功!\n");
}
}
// 修改学生
void modify_student() {
int id;
printf("请输入要修改的学生学号:");
scanf("%d", &id);
int index = find_student_index(id);
if (index == -1) {
printf("学生信息不存在!\n");
} else {
printf("请输入修改后的学生姓名:");
scanf("%s", &students[index].name);
printf("请输入修改后的学生成绩:");
scanf("%d", &students[index].score);
printf("学生信息修改成功!\n");
}
}
// 查询学生
void query_student() {
int id;
printf("请输入要查询的学生学号:");
scanf("%d", &id);
int index = find_student_index(id);
if (index == -1) {
printf("学生信息不存在!\n");
} else {
show_student_info(students[index]);
}
}
int main() {
int choice;
while (1) {
printf("\n1. 添加学生\n");
printf("2. 删除学生\n");
printf("3. 修改学生\n");
printf("4. 查询学生\n");
printf("5. 显示所有学生信息\n");
printf("6. 退出程序\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
delete_student();
break;
case 3:
modify_student();
break;
case 4:
query_student();
break;
case 5:
show_all_students();
break;
case 6:
printf("程序退出,谢谢使用!\n");
exit(0);
default:
printf("输入有误,请重新选择操作!\n");
break;
}
}
return 0;
}
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)