基于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

相关文章
|
2月前
|
自然语言处理 中间件 编译器
C语言的编译器和中间件开发
C语言的编译器和中间件开发
|
2月前
|
C语言
基于链表实现的链式管理系统(C语言课设)
基于链表实现的链式管理系统(C语言课设)
|
2月前
|
存储 编译器 C语言
用C语言判断并打印成绩等级
用C语言判断并打印成绩等级
用C语言判断并打印成绩等级
|
5月前
|
C语言
c语言编程练习题:7-17 成绩转换
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
42 0
|
6月前
|
C语言
【C语言课程设计】医院管理系统
【C语言课程设计】医院管理系统
100 0
|
17天前
|
JavaScript 前端开发 Java
开发语言漫谈-C语言
C语言是最伟大的开发语言
|
27天前
|
存储 人工智能 搜索推荐
【C语言/C++】电子元器件管理系统(C源码)【独一无二】
【C语言/C++】电子元器件管理系统(C源码)【独一无二】
|
2月前
|
存储 C语言 数据安全/隐私保护
C语言实现简易银行账户管理系统
C语言实现简易银行账户管理系统
30 1
|
2月前
|
存储 C语言
C语言实现学生成绩管理系统
C语言实现学生成绩管理系统
20 2
|
2月前
|
存储 文件存储 C语言
《C语言程序设计》课程设计 -- 火车票票务管理系统
《C语言程序设计》课程设计 -- 火车票票务管理系统
25 1