c语言编程项目实践报告快递管理系统,学生成绩管理系统C语言程序设计实践报告.doc...-程序员宅基地

技术标签: c语言编程项目实践报告快递管理系统  

学生成绩管理系统C语言程序设计实践报告

(此文档为word格式,下载后您可任意编辑修改!)

中南大学

C语言程序设计实践报告

题 目 学 生 成 绩 管 理 系 统

学生姓名 木雕小象

指导教师 × × ×

学 院 信 息 科 学 与 工 程 学 院

专业班级 电 气 0900 班

完成时间 2010 年 7 月 8 日

系统描述 ………………………

功能模块结构……………………

数据结构设计……………………

主要模块的算法说明………………

运行结果……………………………

课程设计总结………………………

附录(源代码)……………………

一、系统描述

学生成绩管理系统对日常学生的基本成绩信息进行管理,能实现对学生多种信息的存储,可以对多种数据进行各种各样的操作。

管理系统首先能实现数据的输入。学生的各种信息(比如:班级,学号,姓名,性别,年龄,选修课程编号,名称,考试成绩,平时成绩,综合成绩)能正确的输入,从而可以进行处理。

待所有学生信息输入以后,如果发现输入有误或者需要修改一些学生的信息,可以利用修改函数进行修改,并且可以修改任意需要修改的信息。

同时当学生管理系统需要进行学生的添加时(比如:新生转学时),利用添加函数能及时的补充所需要的信息。

当所需的学生信息正确而完整的输入后,该信息系统可以进行信息的查询(本系统可按学生姓名和学号查询),当输入正确的查询信息后,该管理系统可以显示出该生的所有信息。当输入信息不正确时,系统会提示错误,并允许重新输入。

此系统同时可以进行信息的删除,当有学生退学或休学时,利用删除函数可以删除特定的学生信息,从而减少冗余的信息。

该系统可以显示输入的所有信息。

利用该系统可以同时计算每个同学的平均成绩,并对所有的学生按平均成绩高低进行排序,同时输出排序后的成绩表。

此系统同时还可以列出不及格学生的学号,姓名,课程和成绩,便于进行统一的管理。

二、功能模块结构

该系统的模块设计清晰,各模块的算法简单,高效,整个系统由主函数调用各个模块而组成。可以把函数分为数据录入模块,数据修改模块,数据添加模块,数据查询模块(可分文姓名和学号查询),数据删除模块,数据统计模块(成绩显示模块,成绩计算及排序模块,成绩分类模块),文件保存模块共七大模块,其中主函数中包含界面模块

主要模块的结构图如下:

模块功能描述

主控模版:主控模版是整个系统的模块交汇点,使用者使用系统时先进入主控模版,通过主控模版可以调用任意的模块,达到预期的功能。

数据录入模块:该模块可以实现学生多种数据的录入,录入的信息储存在数组中,其他模块能够调用。

数据模块修改:该模块可以实现数据的修改。当输入修改的学生信息时,模块会自动找寻,未找到则显示不存在,若找到则进入下级列表,操作者可以根据界面标号进行任意的修改

数据添加模块:该模块将学生的信息完整的存入一个结构体数组中,其他模块可以调用。

数据模块查询:该模块可以对信息进行检索,挑选出符合要求的信息,并显示列表,如果没有搜索的信息,则显示未找到。(1)按姓名查询(2)按学号查询

数据删除模块:该模块可以删除任意指定学生的信息,模块首先会提醒操作者输入特定的学号,数据输入后进行搜寻,若无此学生的信息,则显示不能找到,若找到此生信息,则显示删除成功。

数据统计模块

(1)成绩显示模块:输入选择号后,该模块可以显示已经输入系统的学生信息。

(2)成绩计算及排序模块:该模块可以利用平均成绩函数计算每位学生的平均成绩,并按学生平均成绩的高低进行排序,然后将学生姓名列表显示。

(3)成绩分类模块:该模块可以查找系统中不及格学生的信息,然后将该生的学号,姓名,不及格科目及分数显示出来。

8、退出系统模块

三、数据结构设计

学生成绩管理系统在使用中用到了众多的数据,数据多,数据类型复杂,给数据的管理和使用带来了很大的麻烦。所以我使用了数组来存放数据。定义了结构体来存放学生的各种类型的数据,使存放更合理,便于管理。

为避免学生基本信息结构体stu太长,嵌套定义了一个选修课程结构体course

struct course

{

课程编号 整型 int num;

课程名 字符串 char name[10];

考试成绩 浮点型 float score

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39667398/article/details/117099987

智能推荐

springboot集成thymeleaf时css js加载不出来的问题_springboot thymeleaf 不显示css js-程序员宅基地

文章浏览阅读2.1k次。springboot项目的css 和js默认位置是在static中,所以如果没有另外的修改的话,直接创建一个static文件夹,把css和js放入即可。这里放一个实例<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>儿童随访记录表</title> <!-- 引入 echarts.js --> <script src="ht._springboot thymeleaf 不显示css js

用ChatGPT三分钟免费做出数字人视频- 提升自媒体魅力_chatgpt + ai 数字人 csdn-程序员宅基地

文章浏览阅读2.1k次。这里还可以选择背景编辑以更换背景,虚拟人物的位置可以调整,都设置完成后,点击播放按钮,即可播放效果。(ps:未导出视频之前,数字人只是静态。)最后点击’合成’按钮,导出视频。_chatgpt + ai 数字人 csdn

C++编程法则365天一天一条(214)C++函数的默认参数详解_c++函数默认值在参数列表中在后面还是在前面-程序员宅基地

文章浏览阅读1.6w次。默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。在以后设计类时你将发现,通过使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。_c++函数默认值在参数列表中在后面还是在前面

Android 自定义软键盘实现 数字九宫格_android studio九宫格软键盘设置-程序员宅基地

文章浏览阅读744次。前言最近项目在对接美团外卖功能 实现外面小哥凭取货码取货对接完功能后 用户反馈 弹出的软键盘 很难输入 数字太小了大概是下面这种显示方式需求组长说 要不搞一个自定义软键盘吧 数字搞大点 方便外卖员输入数字我设置了输入EditText的输入格式为Number 还是不行那就开搞吧先来看下实现的效果图吧实现效果GIF实现代码自定义View 一个NineNumericKeyboardView/** * Author by Lyu * Date on 2021/5/26-19:55 _android studio九宫格软键盘设置

从0开始用python实现神经网络 IMPLEMENTING A NEURAL NETWORK FROM SCRATCH IN PYTHON – AN INTRODUCTION...-程序员宅基地

文章浏览阅读150次。code地址:https://github.com/dennybritz/nn-from-scratch文章地址:http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/ Get the code: To follow along, all the code is also available as a..._nerual networks from stratch in python

【element-ui】el-form-item 内的 el-select如何自适应宽度_el-form-item 宽度-程序员宅基地

文章浏览阅读1.6w次,点赞8次,收藏10次。问题:想让el-select自适应宽度,即 label宽度 + el-select宽度可以填满一行,想要实现这样的效果详细描述:项目中的代码如下,给 el-select 设置了 style=“width:100%” 没有作用,不论布局是变大变小,el-select 的宽度都不会有变化,就像下图所示我只有在el-select中设置固定的值如 style="width:100px"才有作用。下面是我的代码,不知道是不是我对width的设置方法有错<el-form :inline=“true” _el-form-item 宽度

随便推点

解决microsoft visual c++ build tools安装包丢失或损坏_microsoft visual c++ build tool离线安装包-程序员宅基地

文章浏览阅读2w次,点赞6次,收藏10次。一.问题背景Windows需要在安装某些库的时候需要自己编译,但如果本机没有对应的编译的环境,就会产生如下报错: Building wheel for fasttext (setup.py) ... error ERROR: Command errored out with exit status 1: command: 'c:\users\jayce\anaconda3\envs\pdocr\python.exe' -u -c 'import io, os, sys, setupto_microsoft visual c++ build tool离线安装包

什么是架构以及架构的分类-程序员宅基地

文章浏览阅读1.8w次,点赞16次,收藏146次。写这篇文章的目的是弄明白到底什么是架构,我们在开发设计过程中会遇到各种各样的图,到底哪些是属于架构图?别人让你画架构图的时候,你要知道你画的到底是不是架构图,怎么画架构图。一、什么是架构把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。边界划分:根据要解决的问题,对目标系统的边界进行界定。能力划分:对目标系统按某个原则的进行切分。切分的原则,要便_架构

C++ 每日一练---统计每个月兔子的总数(迭代法)_1238: 【入门】统计每个月兔子的总数-程序员宅基地

这篇文章介绍了使用C++迭代法统计每个月兔子的总数,通过给出兔子生长规律的例子,并使用代码实现了统计月兔子总数的方法。

<HeadFirst_HTML与CSS> O'REILLY_Chap.13_表格与更多列表-程序员宅基地

文章浏览阅读422次。 O’REILLY_Chap.13_表格与更多列表 本博客的FollowMeReading系列初衷是在线的读书笔记. 为方便后期查阅, 故写成博客形式, 使用关键字查询便可以快读的找到相关的内容. FollowMeReading系列所选的书籍一般选自O’REILLY或Apress出版社, 尽量保证笔记内容的权威性. FollowMeRe

Android studio的gradle版本下载太慢或者content time out超时的完美解决方法_androidstudio下载gradle超时-程序员宅基地

文章浏览阅读666次,点赞11次,收藏8次。Android studio的gradle版本下载太慢或者content time out超时的完美解决方法_androidstudio下载gradle超时

dom-to-image-程序员宅基地

文章浏览阅读1.5w次,点赞14次,收藏64次。dom-to-image_dom-to-image

推荐文章

热门文章

相关标签