C语言实现学生成绩管理系统项目

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技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言实现学生管理系统总结

    C语言实现学生管理系统总结 本文将介绍使用C语言实现学生管理系统的完整攻略。学生管理系统是一个常见的管理系统的应用之一。通过它,我们可以对学生的信息进行管理和查询,提高管理效率。下面将详细介绍如何使用C语言实现学生管理系统。 1.需求分析 在开始实现学生管理系统之前,我们需要进行需求分析,明确系统的功能和需求。下面是该系统需要完成的功能和需求: 添加学生信息…

    C 2023年5月23日
    00
  • 详解如何配置CLion作为Qt5开发环境的方法

    下面我将详细讲解 CLion 如何配置成为 Qt5 开发环境的方法。 准备工作 在开始配置之前,需要确认以下几点: 已经安装了 Qt5 及其相关工具; 已经安装了 CMake 和 CLion。 配置步骤 打开 CLion,新建一个 CMake 工程。 在 CMakeLists.txt 中添加以下内容: find_package(Qt5 COMPONENTS …

    C 2023年5月23日
    00
  • C语言 程序的编译系统解析

    C语言程序的编译系统解析 什么是编译系统 编译系统是指将源代码转换为机器代码的一系列工具的集合。在编程中,常见的编译系统包括编译器(compiler)、汇编器(assembler)和链接器(linker)三个工具。编译器是将高级语言代码转换为汇编语言代码的工具,汇编器将汇编语言代码转换为机器语言代码的工具,链接器将多个目标文件(object file)集成为…

    C 2023年5月23日
    00
  • JSON 和 JavaScript eval使用说明

    让我来为大家详细讲解关于”JSON 和 JavaScript eval使用说明”的攻略。 1. 什么是 JSON? JSON 是一种轻量级的数据交换格式,广泛应用于客户端和服务端之间的数据传输。它的全称是 JavaScript Object Notation,是一种基于 JavaScript 语法的数据格式。JSON 可以表示对象、数组、字符串、数字、布尔值…

    C 2023年5月23日
    00
  • Rust使用kind进行异常处理(错误的分类与传递)

    当我们编写代码时,难免会遇到程序中出现错误的情况,比如文件读写失败,网络连接超时等等。Rust中提供了一种异常处理机制,称之为“错误处理(Error Handling)”。在Rust中,我们可以使用kind进行错误分类和传递,下面将详细讲解如何使用kind进行异常处理。 1. 异常处理基础 Rust中,我们通常使用Result类型来进行异常处理。Result…

    C 2023年5月23日
    00
  • C++中的运算符和表达式

    让我来给大家详细讲解一下C++中的运算符和表达式。 运算符 在编程中,我们需要使用各种运算符对数据进行各种操作,C++提供了以下几种运算符: 算术运算符 算术运算符用于基本的算术操作,如加减乘除和取模。具体如下: 运算符 描述 + 加法 – 减法 * 乘法 / 除法 % 取模(求余数) 示例代码如下: #include <iostream> in…

    C 2023年5月24日
    00
  • Java EE项目中的异常处理总结(一篇不得不看的文章)

    以下是我对《Java EE项目中的异常处理总结(一篇不得不看的文章)》这篇文章的完整攻略: 文章概述 文章主要分为四个部分:异常处理的基本概念、Java中的异常处理机制、Java EE项目中的异常处理、异常处理的最佳实践等。其中,第一个部分主要介绍了异常处理的基本概念,包括异常的定义、分类、抛出和捕获等。第二个部分则详细讲解了Java中的异常处理机制,包括t…

    C 2023年5月23日
    00
  • 荣耀畅玩7c怎么截长屏?荣耀畅玩7c滚动截屏教程

    荣耀畅玩7c怎么截长屏? 在荣耀畅玩7c中,想要截取整个长页面时,需要使用滚动截屏的功能。下面是具体的操作步骤: 打开你需要截屏的页面,滚动到页面最顶部; 按下电源键和音量减键同时按住,直到屏幕闪一下; 这时候就已经完成了第一张截屏,继续向下滚动,直到滑动到要截屏的最下面的部分; 继续按下电源键和音量减键同时按住,直到屏幕闪一下,即可完成整个页面的截屏。 需…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部