C语言学生成绩管理系统代码示例 - 登记、查询、插入、删除
#include <stdio.h> #include <stdlib.h> #include <string.h>
#define MAX_SIZE 100
struct Student { char name[50]; int score; };
struct Student students[MAX_SIZE]; int count = 0;
void registerStudent() { if (count >= MAX_SIZE) { printf("学生人数已满,无法继续添加新学生。\n"); return; }
struct Student student;
printf("请输入学生姓名:");
scanf("%s", student.name);
printf("请输入学生成绩:");
scanf("%d", &student.score);
students[count++] = student;
printf("学生登记成功!\n");
}
void searchStudent() { char searchName[50]; printf("请输入要查询的学生姓名:"); scanf("%s", searchName);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(students[i].name, searchName) == 0) {
printf("学生姓名:%s\n", students[i].name);
printf("学生成绩:%d\n", students[i].score);
found = 1;
break;
}
}
if (!found) {
printf("未找到该学生信息。\n");
}
}
void insertStudent() { if (count >= MAX_SIZE) { printf("学生人数已满,无法继续添加新学生。\n"); return; }
int position;
struct Student student;
printf("请输入要插入的位置(1-%d):", count + 1);
scanf("%d", &position);
if (position < 1 || position > count + 1) {
printf("插入位置无效。\n");
return;
}
printf("请输入学生姓名:");
scanf("%s", student.name);
printf("请输入学生成绩:");
scanf("%d", &student.score);
for (int i = count; i >= position; i--) {
students[i] = students[i - 1];
}
students[position - 1] = student;
count++;
printf("学生插入成功!\n");
}
void deleteStudent() { char deleteName[50]; printf("请输入要删除的学生姓名:"); scanf("%s", deleteName);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(students[i].name, deleteName) == 0) {
for (int j = i; j < count - 1; j++) {
students[j] = students[j + 1];
}
count--;
found = 1;
break;
}
}
if (found) {
printf("学生删除成功!\n");
} else {
printf("未找到该学生信息。\n");
}
}
void displayMenu() { printf("=========== 学生成绩管理系统 =========== "); printf("1. 登记学生成绩\n"); printf("2. 查询学生成绩\n"); printf("3. 插入学生成绩\n"); printf("4. 删除学生成绩\n"); printf("5. 退出\n"); printf("======================================= "); printf("请输入操作编号:"); }
int main() { int choice;
do {
displayMenu();
scanf("%d", &choice);
switch (choice) {
case 1:
registerStudent();
break;
case 2:
searchStudent();
break;
case 3:
insertStudent();
break;
case 4:
deleteStudent();
break;
case 5:
printf("感谢使用学生成绩管理系统!\n");
break;
default:
printf("无效的操作编号,请重新输入。\n");
break;
}
printf("\n");
} while (choice != 5);
return 0;
}
// 此代码实现了学生成绩管理系统的基本功能,包括登记学生成绩、查询学生成绩、插入学生成绩和删除学生成绩。运行程序后,根据提示选择相应的操作即可。
原文地址: https://www.cveoy.top/t/topic/kWmd 著作权归作者所有。请勿转载和采集!