教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

c语言——课程设计实验报告网页未完版

来源:网络收集 时间:2026-07-16
导读: 中南大学 C语言程序设计实践报告 学生姓名 木雕小象 题 目 学 生 成 绩 管 理 系 统 指导教师 学 院 信 息 科 学 与 工 程 学 院 专业班级 电 气 0900 班 完成时间 2010 年 7 月 8 日 系统描述 功能模块结构 数据结构设计 主要模块的算法说明 运行结果 课程

中南大学

C语言程序设计实践报告

学生姓名 木雕小象

题 目 学 生 成 绩 管 理 系 统

指导教师 × × ×

学 院 信 息 科 学 与 工 程 学 院

专业班级 电 气 0900 班 完成时间 2010 年 7 月 8 日

系统描述

功能模块结构

数据结构设计

主要模块的算法说明

运行结果

课程设计总结

附录(源代码)

一、系统描述

1. 学生成绩管理系统对日常学生的基本成绩信息进行管理,能实现对学生多种信息的存储,可以对多种数据进行各种各样的操作。 2. 管理系统首先能实现数据的输入。学生的各种信息(比如:班级,学号,姓名,性别,年龄,选修课程编号,名称,考试成绩,平时成绩,综合成绩)能正确的输入,从而可以进行处理。 3. 待所有学生信息输入以后,如果发现输入有误或者需要修改一些学生的信息,可以利用修改函数进行修改,并且可以修改任意需要修改的信息。

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

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

6. 此系统同时可以进行信息的删除,当有学生退学或休学时,利用删除函数可以删除特定的学生信息,从而减少冗余的信息。 7. 该系统可以显示输入的所有信息。

8. 利用该系统可以同时计算每个同学的平均成绩,并对所有的学生按平均成绩高低进行排序,同时输出排序后的成绩表。 9. 此系统同时还可以列出不及格学生的学号,姓名,课程和成绩,便于进行统一的管理。

二、功能模块结构

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

模块功能描述

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

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

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

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

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

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

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

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

名列表显示。

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

三、数据结构设计

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

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

课程编号 整型 int num; 课程名 字符串 char name[10]; 考试成绩 浮点型 float score; 平时成绩 浮点型 float usual; 综合成绩 浮点型 float integral; }; struct stu {

专业班级 整型 int class; 学生编号 整型 int num; 学生姓名 字符串 char name[10]; 性别 字符串 char sex[2]; 年龄 整型 int age;

嵌套定义课程信息 struct course course[2]; 平均成绩 浮点型 float avescore; }

程序后面的模块都会要用到以上结构体的信息,控制好循环结构,能随时调用结构体中的信息。

四:数据模块结构说明

本系统的功能都是由主函数调用各个模块来实现,每个模块都是一个特定的自定义函数,能分别实现不同的功能。采用的思想也就是“化整为零”,将一个问题分解为一个个的小问题,各自来攻破。下面将分写介绍每个模块的实现过程及功能。在最开始,定义了一个全局变量m,m是结构体数组stu的有效长度,能够对后面的插入,删除等范围进行控制。 1. void menu()

改函数为主控函数,起到功能菜单的作用,每个功能从这个界面选择,实现功能后返回改界面,进而选择其他功能。 2. void input();

此函数实现最开始数据的输入功能。在屏幕的提示下,操作者能输入相应学生的信息,采用的是双重循环:外层循环for(i=0;i<m-1;i++)来控制学生的个数,输入基本信息;内循环for(j=0,sum=0;j<COURSENUM;j++)控制课程门数,此处COURSENUM是一个宏定义,指的是课程门数,能相应的输入学

stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7,此式为综合成绩的计算表达式,当integral<60时,为“Y”(由条件语句if来判断实现)。平均分也在此模块求:总分sum为各科的综合成绩之和,除以课程数,就是平均分。 3. void modify();

此函数实现修改功能。在屏幕提示下,操作者可选择修改基本信息或课程信息,接着输入相关的信息。修改成功会提示,否则显示“无学生信息”。 4. void insert()

此函数实现插入功能。在屏幕提示下,操作者输入要增加的学生信息,此时,信息被放在数组元素stu[m]中(即最后一个,m为全局变量)。插完一个人之后,m自增,屏幕会显示“插入成功”,还会询问操作者“继续添加吗?”此处定义了一个字符型变量ch,当ch为Y或y时,继续输入,当ch为其他字符时,停止添加。

5. void search()

此函数实现查询功能。定义了一个字符串数组来存放输入的学生姓名。操作者在屏幕提示下输入要查询的名字或学号,本模块采用了字符串比较函数,当输入的字符串(名字或学号)与程序中的相同时,输出该生的所有信息(包括基本信息,选修信息),由for循环控制。此处采用了查询标志p:当查询正确时,p被赋值为1,显示信息;当没有查 …… 此处隐藏:3660字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言——课程设计实验报告网页未完版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1112835.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)