基于C语言学生成绩管理系统的设计与开发(上)

简介: 基于C语言学生成绩管理系统的设计与开发(上)

一、前言


  • 学生成绩管理系统的开发与设计的背景


在各类学校中,学生成绩管理都是一个非常重要的问题,传统的成绩管理记录和保存都非常困难,而

且容易出错,查询也非常不方便。


因此,在当今信息时代,学生成绩管理系统应运而生。它主要提供学生资料的输入、输出、查询、删除以及学生信息的排序等功能。


本文基于C语言来开发和设计出写学生成绩管理系统程序,来达到学习C语言之后的综和的实际应用。


二、学生成绩管理系统的主要功能介绍


  • 本系统基于C语言的应用,该系统要实现的功能主要有学生信息的增加、修改、查询、保存和排序等,具体如下。


1、主要功能显示菜单,并有选择提示,可以根据提示输入不同字符以选择相应功能。


2、建立学生信息数据,包括学号,姓名,5门课(语文、数学、英语、物理和计算机)的成绩。


3、能实现学生信息的增加、删除。


4、统计每个学生的平均成绩。


5、按照平均分从大到小排序输出信息。


6、任意输入一个学号,能够查出该学生的相关信息。


7、学生的信息可以保存在txt文件中


三、学生成绩管理系统的主要功能结构图


  • 学生成绩管理系统整采用函数封装具体功能的办法。


将学生成绩管理系统的整体功能,划分为几个具体的模块。


各个模块实现相应的功能。

最后将各个的模块功能的函数,在主函数中调用即可实现学生成绩管理系统 的功能。


  • 学生成绩管理系统的各个模块如下图所示。


1795ddd285e648c0a5ae8059e34e6d8b.png


四、学生成绩管理系统的开发工具以及创建项目的过程


4.1、学生成绩管理系统的开发工具


学生成绩管理系统项目使用Visual Studio 2019作为开发工具。



8d57ce27e8fa4c6abedf273dd74a37fe.png


4.2、学生成绩管理系统项目创建的过程


  1. 打开VS2019,选择语言为C++,所属平台为Windows,项目类型为控制台项目,并选择空项目,如下图所示



bd6194d4f03b47a482dacb8172140a36.png


  1. 然后输入项目的名称和选择项目的路径如下图所示



69369e071ff94708bb2c7bc58c869b1b.png


  1. 创建好项目后,向项目中添加头文件和源文件如下所示


ccf007f443a04f35956cbe3b75bacda8.png


  1. 编写相关的代码如下
  • Student.h头文件代码
#ifndef STUDENT_H
#define STUDENT_H
#include <stdio.h>
#include <stdlib.h>
#endif


  • Student.c源文件代码
#include "Student.h"
int main()
{
  system("color 3E");
  system("pause");
  return 0;
}


五、学生成绩管理系统的设计与开发的步骤

5.1、学生成绩管理系统的主要程序流程图


学生成绩管理系统

主要功能如下


  1. 录入信息
  2. 输出信息
  3. 增加信息
  4. 查询信息
  5. 修改信息
  6. 输出信息
  7. 成绩排序
  8. 退出系统

所以学生成绩管理系统的主要流程图如下所示



eee4d294368c49ccbccca6b956123104.png


5.2、学生成绩管理系统的主菜单设计模块


  • 主菜单功能是起到提供给用户选择相应功能的提示的作用
  • 主菜单模块用来实现学生信息管理系统的主界面。
  • 主要完成的功能有主菜单显示、主菜单选项的输入选择、不同功能模块的调用,从而达到用户与该系统交互的目的。


学生成绩管理系统的主菜单设计模块的代码如下


// 菜单功能
void stuMenu()
{
    printf("********************************************\n");
    printf("*                                          *\n");
    printf("*             学生信息管理系统             *\n");
    printf("*                  主菜单                  *\n");
    printf("*                                          *\n");
    printf("*                1:录入信息                *\n");
    printf("*                                          *\n");
    printf("*                2:输出信息                *\n");
    printf("*                                          *\n");
    printf("*                3:增加信息                *\n");
    printf("*                                          *\n");
    printf("*                4:查询信息                *\n");
    printf("*                                          *\n");
    printf("*                5:修改信息                *\n");
    printf("*                                          *\n");
    printf("*                6:删除信息                *\n");
    printf("*                                          *\n");
    printf("*                7:成绩排序                *\n");
    printf("*                                          *\n");
    printf("*                0:退出系统                *\n");
    printf("*                                          *\n");
    printf("********************************************\n");
}


在主函数中调用主菜单显示函数


int main()
{
  system("color 3E");
    while (1)
    {
        stuMenu();          // 主菜单
        break;
    }
  system("pause");
  return 0;
}

调试结果如下所示


4810be2ba81342de8a1dca3a3fbeab94.png


5.3、学生成绩管理系统的退出功能模块


  • 学生成绩管理系统的退出功能模块主要是实现系统退出
  • 当用户更加主菜单的提示选择退出系统时,会退出学生成绩管理系统


学生成绩管理系统的退出功能模块的代码如下


// 退出功能
void stuSystemQiut()
{
    printf("***********************************************************************\n");
    printf("*                                                                     *\n");
    printf("*                           欢迎在一次使用                            *\n");
    printf("*                               退出!                                 *\n");
    printf("*                                                                     *\n");
    printf("***********************************************************************\n");
}


  • 在主函数中定义一个select变量
  • 该变量提供给用户进行选择的存储功能选择。
  • 在主函数中使用while循环、Switch选择功能来实现系统的功能

主函数中while循环、Switch选择功能来实现系统的功能的代码如下所示


int main()
{
  system("color 3E");
    int select = 0;
    while (1)
    {
        stuMenu();          // 主菜单
        printf("请输入选择项(0-7):");
        scanf("%d", &select);
        printf("\n");
        if (select > 0 && select < 8)
        {
            switch (select)
            {
            case 1: stuInput();       break;               // 录入信息
            case 2:        break;               // 输出信息
            case 3:      break;                 // 增加信息
            case 4:      break;                 // 查询信息
            case 5:          break;             // 修改信息
            case 6:       break;                // 删除信息
            case 7:        break;               // 成绩排序
            }
        }
        else if (select == 0)
        {
            stuSystemQiut();                    // 系统退出功能
            break;
        }
        else
        {
            printf("输入有误, 请重新输入!!!\n");
            system("pause");
            system("cls");
        }
    }
  system("pause");
  return 0;
}


可以看到,在系统运行的时候,当用户输入0时,就可以退出系统了

调试结果如下所示


9ee8b884d53043a3aa26fa09eaf6eb67.png

相关文章
|
11天前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
22 0
|
2月前
|
存储 编译器 C语言
【C语言】C语言的变量和声明系统性讲解
在C语言中,声明和定义是两个关键概念,分别用于告知编译器变量或函数的存在(声明)和实际创建及分配内存(定义)。声明可以多次出现,而定义只能有一次。声明通常位于头文件中,定义则在源文件中。通过合理组织头文件和源文件,可以提高代码的模块化和可维护性。示例包括全局变量、局部变量、函数、结构体、联合体、数组、字符串、枚举和指针的声明与定义。
81 12
|
2月前
|
IDE 编译器 开发工具
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
在本文中,我们系统地讲解了常见的 `#pragma` 指令,包括其基本用法、编译器支持情况、示例代码以及与传统方法的对比。`#pragma` 指令是一个强大的工具,可以帮助开发者精细控制编译器的行为,优化代码性能,避免错误,并确保跨平台兼容性。然而,使用这些指令时需要特别注意编译器的支持情况,因为并非所有的 `#pragma` 指令都能在所有编译器中得到支持。
181 41
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
|
3月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
78 1
|
3月前
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
72 1
|
3月前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
95 1
|
3月前
|
人工智能 安全 算法
基于C语言的嵌入式系统开发,涵盖嵌入式系统概述、C语言的优势、开发流程、关键技术、应用实例及面临的挑战与未来趋势。
本文深入探讨了基于C语言的嵌入式系统开发,涵盖嵌入式系统概述、C语言的优势、开发流程、关键技术、应用实例及面临的挑战与未来趋势。C语言因其高效、可移植、灵活及成熟度高等特点,在嵌入式系统开发中占据重要地位。文章还介绍了从系统需求分析到部署维护的完整开发流程,以及中断处理、内存管理等关键技术,并展望了嵌入式系统在物联网和人工智能领域的未来发展。
150 1
|
3月前
|
传感器 人工智能 物联网
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发
C 语言在计算机科学中尤其在硬件交互方面占据重要地位。本文探讨了 C 语言与硬件交互的主要方法,包括直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射 I/O 和设备驱动程序开发,以及面临的挑战和未来趋势,旨在帮助读者深入了解并掌握这些关键技术。
88 6
|
3月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
93 2
|
1月前
|
存储 编译器 C语言
【C语言程序设计——函数】分数数列求和2(头歌实践教学平台习题)【合集】
函数首部:按照 C 语言语法,函数的定义首部表明这是一个自定义函数,函数名为fun,它接收一个整型参数n,用于指定要求阶乘的那个数,并且函数的返回值类型为float(在实际中如果阶乘结果数值较大,用float可能会有精度损失,也可以考虑使用double等更合适的数据类型,这里以float为例)。例如:// 函数体代码将放在这里函数体内部变量定义:在函数体中,首先需要定义一些变量来辅助完成阶乘的计算。比如需要定义一个变量(通常为float或double类型,这里假设用float。
37 3

热门文章

最新文章