#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;

}

// 此代码实现了学生成绩管理系统的基本功能,包括登记学生成绩、查询学生成绩、插入学生成绩和删除学生成绩。运行程序后,根据提示选择相应的操作即可。

C语言学生成绩管理系统代码示例 - 登记、查询、插入、删除

原文地址: https://www.cveoy.top/t/topic/kWmd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录