C语言实现学生成绩管理系统项目攻略
1. 需求分析
在开发学生成绩管理系统前,我们需要对系统的功能需求进行分析。在此项目中,我们需要实现以下功能:
- 添加学生信息
- 删除学生信息
- 修改学生信息
- 查询学生信息
- 展示所有学生信息
2. 数据结构设计
在此项目中,我们需要定义一个结构体来存储学生的信息,该结构体包含以下信息:
struct Student {
int id;
char name[20];
float score;
};
其中,id为学生的学号,name为学生的姓名,score为学生的成绩。
3. 实现步骤
3.1 添加学生信息
用数组存储学生信息,每次添加学生信息后,数组的长度会加1。
struct Student stu[100];
int len = 0;
void addStudent() {
struct Student student;
printf("请输入学生的学号:");
scanf("%d", &student.id);
printf("请输入学生的姓名:");
scanf("%s", student.name);
printf("请输入学生的成绩:");
scanf("%f", &student.score);
stu[len++] = student;
printf("添加成功!\n");
}
3.2 删除学生信息
通过学生的学号删除学生信息,如果输入的学号不存在,则提示删除失败。
void deleteStudent() {
int id;
int index = -1;
printf("请输入要删除的学生的学号:");
scanf("%d", &id);
for (int i = 0; i < len; i++) {
if (stu[i].id == id) {
index = i;
break;
}
}
if (index != -1) {
for (int i = index; i < len - 1; i++) {
stu[i] = stu[i + 1];
}
len--;
printf("删除成功!\n");
} else {
printf("删除失败,该学号不存在!\n");
}
}
3.3 修改学生信息
通过学生的学号修改学生信息,如果输入的学号不存在,则提示修改失败。
void updateStudent() {
int id;
int index = -1;
printf("请输入要修改的学生的学号:");
scanf("%d", &id);
for (int i = 0; i < len; i++) {
if (stu[i].id == id) {
index = i;
break;
}
}
if (index != -1) {
struct Student student;
printf("请输入学生的学号:");
scanf("%d", &student.id);
printf("请输入学生的姓名:");
scanf("%s", student.name);
printf("请输入学生的成绩:");
scanf("%f", &student.score);
stu[index] = student;
printf("修改成功!\n");
} else {
printf("修改失败,该学号不存在!\n");
}
}
3.4 查询学生信息
通过学生的学号查询学生信息,如果输入的学号不存在,则提示查询失败。
void queryStudent() {
int id;
int index = -1;
printf("请输入要查询的学生的学号:");
scanf("%d", &id);
for (int i = 0; i < len; i++) {
if (stu[i].id == id) {
index = i;
break;
}
}
if (index != -1) {
printf("学号\t姓名\t成绩\n");
printf("%d\t%s\t%.2f\n", stu[index].id, stu[index].name, stu[index].score);
} else {
printf("查询失败,该学号不存在!\n");
}
}
3.5 展示所有学生信息
展示所有学生信息。
void showAllStudents() {
printf("学号\t姓名\t成绩\n");
for (int i = 0; i < len; i++) {
printf("%d\t%s\t%.2f\n", stu[i].id, stu[i].name, stu[i].score);
}
}
4. 示例说明
给出两个实现示例。
示例1
int main() {
int choice;
while (1) {
printf("1. 添加学生信息\n");
printf("2. 删除学生信息\n");
printf("3. 修改学生信息\n");
printf("4. 查询学生信息\n");
printf("5. 展示所有学生信息\n");
printf("0. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
updateStudent();
break;
case 4:
queryStudent();
break;
case 5:
showAllStudents();
break;
case 0:
printf("谢谢使用!\n");
return 0;
default:
printf("无效的操作,请重新选择!\n");
break;
}
}
}
示例2
int main() {
addStudent();
addStudent();
addStudent();
updateStudent();
showAllStudents();
deleteStudent();
showAllStudents();
queryStudent();
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现学生成绩管理系统项目 - Python技术站