C语言结构体版学生成绩管理系统

下面就结构体版学生成绩管理系统的完整攻略进行详细讲解,包括操作流程、代码实现和两个实例说明。

操作流程

  1. 首先要定义一个结构体,用于存储学生成绩相关的信息,比如学号、姓名、数学成绩、语文成绩、英语成绩等。

  2. 接着,需要定义一个数组,用于存储这些结构体,数组的长度可以自行设定。

  3. 然后,编写函数实现添加学生、查询学生、修改学生、删除学生、显示全部学生成绩等基本操作。

  4. 最后,设计界面,让用户可以在命令行上输入相应指令,实现对学生信息的管理。

代码实现

下面是一个简单的结构体版学生成绩管理系统的代码实现示例:

#include <stdio.h>

struct student{
    int id;
    char name[20];
    float math;
    float chinese;
    float english;
};

typedef struct student student;

int main(){
    student stu[100];
    int n = 0;
    int i, id, choice;
    char c;

    while (1){
        printf("1: add 2: delete 3: modify 4: query 5: show all\n");
        printf("please input your choice:\n");

        scanf("%d", &choice);

        switch (choice){
            case 1:
                printf("input id, name, math score, chinese score, english score:\n");
                scanf("%d %s %f %f %f", &stu[n].id, stu[n].name, &stu[n].math, &stu[n].chinese, &stu[n].english);
                n++;
                break;
            case 2:
                printf("input delete id:\n");
                scanf("%d", &id);
                for (i = 0; i < n; i++){
                    if (stu[i].id == id){
                        for (; i < n - 1; i++){
                            stu[i] = stu[i + 1];
                        }
                        n--;
                        break;
                    }
                }
                break;
            case 3:
                printf("input modify id:\n");
                scanf("%d", &id);
                for (i = 0; i < n; i++){
                    if (stu[i].id == id){
                        printf("input name, math score, chinese score, english score:\n");
                        scanf("%s %f %f %f", stu[i].name, &stu[i].math, &stu[i].chinese, &stu[i].english);
                        break;
                    }
                }
                break;
            case 4:
                printf("input query id:\n");
                scanf("%d", &id);
                for (i = 0; i < n; i++){
                    if (stu[i].id == id){
                        printf("id: %d, name: %s, math: %.2f, chinese: %.2f, english: %.2f\n", stu[i].id, stu[i].name, stu[i].math, stu[i].chinese, stu[i].english);
                        break;
                    }
                }
                break;
            case 5:
                printf("all students:\n");
                for (i = 0; i < n; i++){
                    printf("id: %d, name: %s, math: %.2f, chinese: %.2f, english: %.2f\n", stu[i].id, stu[i].name, stu[i].math, stu[i].chinese, stu[i].english);
                }
                break;
            default:
                printf("please input a correct number!\n");
                break;
        }

        printf("continue?(y/n)\n");
        scanf("%s", &c);
        if(c != 'y' && c != 'Y'){
            break;
        }
    }
    return 0;
}

上述代码的实现是基于结构体的代码实现,通过结构体将一名学生的各项信息存储为一个数据类型,再通过数组存储多名学生的信息。各个操作的实现可以根据对于结构体数组的操作进行,具体参照代码实现。

示例说明

假设有一位学生,学号为1001,姓名为张三,数学成绩为78分,语文成绩为85分,英语成绩为92分。根据上述代码,我们可以输入“1”,然后输入这个学生的具体信息,进行添加操作。这样就成功将这位学生的信息存储到了数组中。

另外一个示例是,如果需要查询学生信息,可以输入“4”,再输入需要查询的学生的学号,程序便会找到该学生对应在数组中的位置,输出该学生的全部信息,从而实现查询操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言结构体版学生成绩管理系统 - Python技术站

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

相关文章

  • C语言实现商品管理系统开发

    C语言实现商品管理系统开发攻略 介绍 本文将介绍如何使用C语言开发一个简单的商品管理系统。商品管理系统是指一个管理商品库存、添加商品信息、查询商品信息、删除商品信息等简单功能的系统。 步骤 1. 设计数据结构 在编写商品管理系统之前,需要先确定系统所需的数据结构。本系统的数据结构包括商品的名称、价格、库存量等信息。可以使用结构体(struct)来存储这些信息…

    C 2023年5月23日
    00
  • 文石BOOXNova AirC彩色墨水平板怎么样?文石BOOXNova AirC彩色墨水平板体验评测

    文石BOOXNova AirC彩色墨水平板评测攻略 介绍 文石BOOXNova AirC彩色墨水平板是一款高档电子阅读器,可以展现彩色图片和文字,与其他BOOX电子阅读器一样,也具有出色的阅读体验,同时还支持手写笔记和涂鸦功能。本文将详细介绍该产品的使用感受和功能特点。 评测过程 外观设计 文石BOOXNova AirC彩色墨水平板采用了优质的金属材质打造,…

    C 2023年5月23日
    00
  • vscode C++远程调试运行(学习C++用)

    下面是vscode C++远程调试运行的攻略: 准备工作 首先,我们需要在本地安装 Visual Studio Code 和 C++ 编译器,以及在远程服务器上安装 gdbserver 和相应的 C++ 编译器。 安装 Visual Studio Code:进入Visual Studio Code官网,下载并安装最新版本。 安装 C++ 编译器:如果你已经安…

    C 2023年5月23日
    00
  • 最新ios面试试题以及解决思路分析

    最新iOS面试题以及解决思路分析 背景介绍 作为一名iOS开发工程师,参加技术面试是必不可少的一环。面试过程中往往会面临各种各样的问题,包括技术上的问题、项目中的问题以及软技能方面的考察等。本文将从最新iOS面试题的角度出发,对一些常见的面试题目进行分析,并给出解决问题的思路和具体实现方式,以帮助广大iOS开发工程师成功通过面试。 面试题目 以下是几个最新的…

    C 2023年5月22日
    00
  • C语言代码实现简单扫雷小游戏

    下面我会详细讲解“C语言代码实现简单扫雷小游戏”的完整攻略。 1. 游戏规则 扫雷是一款益智小游戏,其主要规则如下: 游戏区域是一个由方块组成的网格,每个方块是未被挖开的地雷、数字或空白格子。 玩家需要通过揭示方块,来确定地雷的位置。 如果玩家揭示的方块是地雷,游戏失败。 如果玩家揭示的方块是数字,表示周围八个方块中地雷的数量。 如果玩家揭示的方块是空白格子…

    C 2023年5月22日
    00
  • TPLINK TLR5408PE-AC一体VPN路由器怎么样? tpr5408pe测评

    TPLINK TLR5408PE-AC一体VPN路由器怎么样? 简介 TPLINK TLR5408PE-AC是一款集成了VPN功能的路由器。它支持IEEE802.11ac无线网络标准,最高可达1300Mbps,同时支持IPv4和IPv6协议,提供了4个Gigabit以太网口和2个USB接口。另外,它还支持PPTP、L2TP、IPSec和SSL VPN等多种安…

    C 2023年5月23日
    00
  • 用C语言实现井字棋游戏代码

    用C语言实现井字棋游戏代码 1. 程序框架 首先,我们需要理解井字棋游戏的规则,然后设计程序框架。井字棋通常是由两个玩家交替下棋,棋盘为 3×3 的矩阵,玩家通过落子来使自己的棋子连成一条直线。因此,我们需要至少维护以下信息: 棋盘状态,即每个位置的落子情况; 游戏进程状态,即当前轮到哪个玩家下棋,或者游戏是否结束。 接下来,我们可以设计井字棋程序的结构体,…

    C 2023年5月24日
    00
  • C语言错误计算数组长度

    基于题目描述,我们将为大家提供“C语言错误计算数组长度”的使用攻略。 介绍 在使用C语言数组时,经常需要计算数组的长度,以便进行遍历等操作。然而,C语言中并没有提供直接获取数组长度的方法。 不少开发者会通过计算数组大小与单个元素大小之比来求得数组长度,但这种方式在某些情况下是不可靠的,因为数组大小与单个元素大小可能随指针或编译器的不同而产生变化。 正确的方法…

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