实验四.学生信息管理系统(实验日志+源码)

1、 项目概述

    1. 项目主要内容
  1.  设计一个简单的学生信息管理的程序,教学管理人员能够使用该程序对学生基本信息、课程信息进行管理,包括数据的添加、修改删除和浏览;能够对学生选课进行管理,包括添加学生选课信息、录入成绩;能使用查询功能,快速查看到指定学生的选课信息;能够对学生选课情况进行简单的统计,包括所选的总的课程数、总学分数及平均成绩。
  2. 在添加学生基本信息、课程基本信息相关数据时,学号和课程号不能重复;在添加学生选课信息时,要求该学生和课程必须是存在的,而且不能添加重复的选课信息。
  3. 应用程序提供操作界面,可以方便用户进行功能选择,实现 信息的管理和查询,并可以清晰地显示相关信息。 
    1. 项目需求分析

(1)学生信息管理系统是用结构体数组来实现,该结构体数组中包括整型,字符型及其数组,实现系统功能的调用函数。
(2)学生信息系统的功能是对学生的学生信息的录入、显示、修改、添加、删除、查询、排序、保存、读取来对学生信息进行管理。
(3)该学生信息管理程序的要求是:结构清晰,书写规范;各种信息都保存在文件中;界面采用最简单的菜单,层次清楚,操作方便。

2、 项目设计

    1. 项目目标

学生成绩管理系统要达到的目标:

(1)建立学生信息,信息至少包含学生姓名,学号,性别,年龄,出生日期,家庭地址,e-mail,电话地址等;

(2)能够提供新建、浏览、查找、修改和删除通讯录信息的功能;

(3)能够提供安不同方式查询的功能;如按姓名或电话等查询;

    1. 构建开发环境

【1】系统开发平台:Visual Studio 2019

【2】系统开发语言:C语言 

【3】运行平台:Microsoft Visual C++

    1. 系统功能结构

总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。
    系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。

【1】录入信息模块:将要入库的学生信息加到信息数据中。它包括学生的学号、姓名、性别、班级、年龄、电话、家庭地址等。
【2】显示学生信息:分为两个模块

  1. 显示学生基本信息。它包括学生的学号、姓名、性别、班级、年龄、家庭住址、电话等。
    (2)显示学生成绩信息。它包括学生的学号、姓名、数学、物理、英语、C语言成绩 。
    【3】查找信息模块:分为两个模块 
  1. 根据学生学号进行查找。
  2. 根据学生姓名进行查找。包括学号、姓名、成绩等。
    【4】修改信息模块:对现存的学生信息进行修改分为两个模块 
  1. 根据学生学号进行修改。
  2. 根据学生姓名进行修改。它包括各科成绩。
    【5】删除信息模块:同样分为按学号与姓名进行把某学生的
    学生信息删除。
    【6】学生信息排序模块:把已存在的学生信息按照学号进行排序。
    【7】信息查询统计模块:输入学号后,显示该生学生信息。
    【8】退出模块:退出程序。

2.4系统业务流程图

2.5 公共类设计

2.5.1返回状态码的常量类(ECode)

package com.blog.base.global;

/**

 * 返回状态码

 *

 * @author admin

 * @create 2022/1/10

 */

public class ECode {

    /**

     * 操作成功

     */

    public static final Integer OK = 200;

    /**

     * 操作失败

     */

    public static final Integer FAIL = 500;

    public static final Integer ERROR = 502;

    public static final Integer UNAUTHORIZED = 401;

    public static final Integer NO_OPERATION_AUTHORITY = 402;

    public static final Integer SERVER_ERROR = 500;

    public static final Integer REQUEST_OVER_LIMIT

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本次实验是关于C语言学生信息管理系统的设计与实现。在本次实验中,我采用了以下的实现思路: 1. 定义结构体类型,包括学生姓名、学号、性别、年龄等基本信息。 2. 设计文件操作函数,包括读取学生信息、保存学生信息等操作。 3. 设计菜单函数,包括添加学生、删除学生、修改学生信息、查询学生信息等选项。 4. 设计主函数,通过调用菜单函数实现学生信息管理系统的主要功能。 5. 在程序中使用指针,对学生信息进行存储和操作。 6. 在程序中使用模块化设计,将不同的功能模块分离出来,提高程序的可读性和可维护性。 首先,我定义了一个结构体类型,用来存储学生的基本信息,包括姓名、学号、性别和年龄。在定义结构体类型时,我采用了typedef关键字,将结构体类型定义为一个新的数据类型,方便后续的使用。 接着,我设计了文件操作函数,包括读取学生信息和保存学生信息。在读取学生信息时,我采用了fgets函数,一次读取一行,然后使用sscanf函数将读取的字符串转换为相应的数据类型。在保存学生信息时,我采用了fprintf函数,将学生信息逐行写入文件中。 然后,我设计了菜单函数,包括添加学生、删除学生、修改学生信息、查询学生信息等选项。在每个选项中,我都使用了指针来对学生信息进行操作,并且在操作完成后,将学生信息保存到文件中。 最后,我设计了主函数,通过调用菜单函数实现学生信息管理系统的主要功能。在主函数中,我首先读取已有的学生信息,然后进入菜单循环,等待用户输入选项。用户可以通过菜单选项来添加、删除、修改和查询学生信息,直到用户选择退出程序为止。 通过这次实验,我深入了解了C语言中结构体、指针、文件操作等基本知识,并且掌握了C语言程序模块化设计的方法,提高了程序的可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值