学生C语言实验完成情况C程序设计.pdf
《学生C语言实验完成情况C程序设计.pdf》由会员分享,可在线阅读,更多相关《学生C语言实验完成情况C程序设计.pdf(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课设题目:学 生c语言实验完成情况C程 序 设 计 专 业:电气工程及其自动化 班 级:姓 名:成 绩:完成日期:指导教师:1目录L课程设计题目.3 2.课程设计目的.4 3.需求分析.43.1 要求.43.2 任务描述.43.3 运行环境.53.4 开发工具.5 4.总体设计.54.1 系统流设计.54.2 系统模块设计.7 5.详细设计.75.1 数据结构设计.75.2 模块接口设计.95.3 以下是几个主要模块的流程图:.11 6.运行结果.176.1 欢迎界面.176.2 主菜单界面.186.3 管理模式菜单主界面.186.4查询模式菜单主界面.196.5查看本次课设题目:.196.6
2、 退出界面.206.7 导入数据界面.206.8 查 询 模 式1输入界面.216.9 查 询 模 式2输入界面.216.10 查 询 模 式3输入界面.226.11 查 询 模 式4输入界面.226.12 管 理 子 模 式1操作界面.236.13 管 理 子 模 式2操作界面.246.14 管 理 子 模 式3操作界面.24 7.程序调试与测试(257.1 程序调试257.2 程序测试.27 8.问题与不足.35 9.建议.35 10.编程体会.35 11.程序源代码.36 12.参考文献.6521.课程设计题目7(宿舍管理程序题目描述现学校要管理宿舍入住的学生,请设计一宿舍管理程序,以方
3、便学校宿舍管理员对学 生 进 行 管 理,该程序应该具有以下功能:(1)能从键盘录入床位信息。(2)指 定 学 号,显示该学生的住宿的信息。(3)指 定 宿 舍 号,显示住宿信息。(4)给定宿舍号、床 位 号,修改住宿信息。(5)给定宿舍号、床 位 号,删除住宿信息。题目要求:(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。(2)住宿信息包括:床位信息(宿舍号、床位号、是否有人入住)、学号、姓名、班级、入住时间。(3)为各项操作功能设计一个菜单,应 用 程 序 运 行 后,先 显 示 这 个 菜 单,然后用户通过菜单项选择希望进行的操作项目。输入要求:(1)应用程序运行后在屏
4、幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进 入 每 个 操 作 后,根据应用程序的提示信息,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。(2)能对输入的数据进行简单的校验,例如:入住时间必须是一个合法的日期格式;一个学号对应一个床位号,一个床位号对应一个学生。输出要求:(1)应 用程 序 运 行 后,要在屏幕上显示一个菜单(2)要求用户输入数据时,给出清晰 明 确 的 提示信息,包括输入的数据内容、格式以及结束方式等。(3)在 程序 完成处理后,要清楚地给出程序的处理结果。例 如,在给定宿舍号、床位号删除住宿信息时,如果该床位不存在,要 提 示
5、没 能 删 除,如果删除成功要提示删除成功。实现要求:(1)在程序中使用链表存储住宿信息。(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。提示:(1)使用结构体表示学生住宿信息,一个结点保存一条住宿信息。扩展功能:(1)提供一些统计功能。例如统计空床数、统计每个班级入住宿舍号。(2)住宿信息从文件读入。(3)将住宿信息保存到文件中。32.课程设计目的 C 语言程序设计课程设计是 C 语言程序设计课程学习后的实践应用 训 练,在电类工程专业的教学中占有重要位置。通过本课程设计的训练,使 学 生 在 C 语言程序设计课程学习的基础上,熟 悉 C 程序开发的基本过程,包括需求分析、数据
6、结构设计、程序模块的划分与设计、函数编程、调试等;熟悉结构化程序设计的编程思路。训练内容主要通过分析实际应用实例,构造链表等较为复杂的数据结构,熟练地设计函数,学会能灵活地用C 语言编写一个较为完整的实用程序;初步具备解决实际问题的能力。提高学生分析问题和解决问题的能力,为后续课程的学习打下良好的基础。3.需求分析3.1 要求题目要求:(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。(2)学生作业信息应该包含学生信息(学号、姓名、班级)、1 0次作业的成绩。(3)为各项操作功能设计一个菜单,应 用 程 序 运 行 后,先 显 示这个菜单,然后用户通过菜单项选择希望进行的操作项
7、目。输入要求:应用程序运行后在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。(1)进 入 每 个 操 作 后,根据应用程序的提示信息,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。(2)能对输入的数据进行简单的校验,例 如,成绩只能在 0,100之 间,学号是唯一的(一个学号对应一个学生的作业信息)。输出要求:(1)应 用 程 序 运 行 后,要在屏幕上显示一个菜单。(2)要求用户输入数据时,给出清晰 明 确 的 提示信息,包括输入的数据内容、格式以及结束方式等。(3)在程序完成处理后,要清楚地给出程序的处理结果。例 如,在给定学号删除学生信 息 时,
8、如 果 该 学生不存在,要 提 示 没 能 删 除,如果删除成功要提示删除成功。实现要求:(1)在程序中使用链表存储学生作业信息。(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。3.2任 务 描述此系统以学生住宿为背景,提供对学生住宿信息的管理和查询;对学生住宿信息的录入、修改和删除;查询住宿情况(对个人信息的查询、对班级信息的查询、对宿舍信息的查询);具体功能实现如下:4一:管理模式功能1)自动导入功能:从文件导入所有学生住宿信息。2)时间显示功能:每次进入主菜单下自动显示系统时间,可用于查看时间。3)管理功能:可以对学生住宿信息进行添加、删除、修改的功能;4)保存功能:修改后
9、退出菜单后自动进行保存。二:查询模式功能5)指 定 学 号,显示该学生的住宿的信息。6)指 定 宿 舍 号,显示住宿信息。7)给 定 班 级 号,显示住宿信息。8)给定宿舍号和床位号,显示该学生的住宿信息。9)显示所有学生信息。3.3 运行环境Windows XP/7 系统3.4 开发工具VC+6.0编译环境4.总体设计4.1 系统流设计程序欢迎界面本系统的功能模块如图1所 示,主要有以下模块:显课设题目5程序欢迎界面查询模式界面 退 出 系 统 显 示 课 设 题 目 管 理 模 式 界 面 主菜单界面 修教显 改 师 示 登 删帐告查查陆除号别查询询密信修添登界询模模码 改息管加 陆 面
10、模式 式 信 理 信2 1学 式 学 息3教 息 实 生 管 生 师 学 验 帐 理 密 帐 生 情 号 学 码 查 号 管 成况 显 登 退 生 修 绩 查 陆 询 理 帐 改 示 出 录 询 号 模 模 入 课 界 式 式 设 面 界 界 题 面 面目查查查查查管管管询询询询询理理理子子子子子子子子模模模模模模模模式式式式 式 式 式 式2 3 1 5 4 1 2 3导入数据界面查 查 查 管 查 管 管 询 询 询 理 询 理 理 数 数 数 数 数 数 数 据 据 据 据 据 据 据 输 输 输 输 输6输 输 入 入 入 入 入 入 入注:管理模式界面,查 询 模 式 界 面 都 设
11、 有“返回上级菜单”功能。4.2系 统 模 块设 计1)系统欢迎界面:构造函数void welcome_menu(),实现课程设计名称、作者、指导老师、班级、联系方式的显示。2)菜单界面:构造函数int menu。,实现系统主菜单的显示。3)查询界面:构造函数void find.modeOo4)查 询 子 模 式1:构 造 函 数void find_mode_l(),5)查 询 子 模 式2:构造函数void find_mode_2()。6)查询子模式 3:构造函数 void find_mode_3()。7)查询 子 模 式4:构 造 函 数void find_mode_4()o 8)查 询
12、子 模 式5:应用函数load_stustay()o9)管理界面:构建函数void govern_mode()o1 0)管 理 子 模 式1:构 造 函 数void govern_mode_l()0 11)管 理 子 模 式2:构造函数void govern_mode_2()o 12)管 理 子 模 式3:构 造 函 数voidgovern_mode_3()13)显示课设题目:构造函数void void list_menu();1 4)退出告别界面:构造函数void goodbye_menu(),实现在用户退出系统时,显不祝福语并声明版权。5.详细设计5.1 数据结构设计根 据 系 统 要 求
13、,系统中需要保存的数据信息,其结构如下:注:n为110之间一确定的数。数 据 项 名 称 数 据 项 系 统 表 示 数 据 类 型 数 据 长 度 备 注 学 生 姓 名pl-student_na字 符 串2 0个字节me学 生 学 号pl-student_nu字 符 串2 0个字节mber7班 级p l-cla sse s字 符 串20个 字 节 入 住 时 间p l-tim e字 符 串2 0个 字 节 床位 号p l-bed_number整 形4个 字 节 宿 舍 号p l-hostel_num整 形4个字ber学 生 住 宿 信w rite-stustay整 形4个字节 息更改保存标
14、志全局变量根 据 系 统 要 求,系统中需要保存的类别信息,其结构如下:教师信教师信息教师信息教师信息2 3 4为了能实现不受限制的增加学生信息,采用链表的结构保存住宿信息,在增加学生的基通 讯 录 信 本 信 息 时,创建一个学生信息的节点,将 其 插 入到链表中,示意图如下(用链表实现)。息1 2 2 1学 生 信 息1学生信息学生信息学生信息2 3 4为 此,先声明一个类型为struct stustay的 结 构 体,其成员为学生的住宿信息。然后通讯录信息1通过对指针、链表、文件等数据结构的操作,实现对学生住宿信息的登入,修改,单次和多221次查询。其 中,结构体定义分别如下:学生住宿信
15、息结构体8struct stustay(char name20;学生姓名char student_number20;学号char classes20;班级char time20;入住时间int bed_number;床位号int hostel_number;宿舍号struct stustay*next;);5.2 模块接口设计1)所有函数模块声明如下:void welcome_menu();/*欢迎界面菜单*/void goodbye_menu();/*告别页面菜单*/int menu。;/*主菜单*/void find_mode();/*查询模式*/int find_menu();/*查询模
16、式菜单*/void find_mode_l();/*查询子模式 1(指定 学 号,显示住宿信息。)*/void find_mode_2();/*查 询 子 模 式2(指定宿舍号,显示住宿信息。)*/void find_mode_3();/*查 询 子 模 式3(指 定 班 级,显示住宿信息。)*/voidfind_mode_4();/*查 询 子 模 式4(给定宿舍号和床位号,显示该学生的住宿信息。)*/void find_mode_5();/*查 询 子 模 式5(显示所有学生信息)/intgovern_menu();/*管理模式*/void govern_mode();/*管理模式菜单*/
17、9void govern_mode_l();/*管 理 子 模 式1(能从键盘录入床位信息。)*/voidgovern_mode_2();/*管 理 子 模 式2(给定宿舍号、床 位 号,修改住宿信息。)*/void govern_mode_3();/*管 理 子 模 式3(给定宿舍号、床 位 号,删除住宿信息。)*/void load_stustay();/*导入学生住宿信息*/void list_menu();/*显示课设题目菜单函数*/void list_stustay(int n);/*显示学生住宿信息函数*/int lookup_student();/*查找学生住宿信息函数*/int
18、Iookup_student2();/*查找学生住宿信息函数 2*/int lookup_hostel();/*W找宿舍信息函数*/int lookup_classes();/*查找班级信息函数*/intshow_time(void);/*显示进入系统时间的函数*/void rank。;/*排序函数*/void save_stustay();/*保存修改住宿信息函数*/void exitO();/*退出程序并保存函数*/2)并 定 义 五 个 全 局 变 量 以 及 结 构 体 指 针:1)/*链表操作所用结构体指针*/struct stustay*headl=NULL,*pl,*p2,*p3
19、;/*定义结构体指针 headl 为头指针p l为输入数据缓存空间指针,p 2为尾指针(用于操作学生住宿信息)*/2)/*学生住宿信息更改保存标志全局变量*/int write_stustay=0;1)主要模块的实现10系 统 以 主 函 数int main。为 入 口,首 先 调 用welcome_menu()函 数,显示系统欢迎界面。然 后 调 用show_time()函 数,显示进入系统的时间。然 后 调 用menu。函数,显 示 主 菜 单 界 面,并使系统接收用户输入的选择,进入不同的操作模式,进入到下一级菜单进行相关工作。5.3以下是几个主要模块的流程图:1)主菜单函数打印主菜单接
20、收用户选项否 是 否 合 法是是 否 为 0否 是退出系统调用对应选项函数进入下一级菜单2)管理模式主函数:操作模式,查询模式同此。11打印管理模式主菜单接收用户选项否 是 否 合 法是是 否 为 0否 是返回上级菜单调用对应选项函数进入下一级菜单3)添加学生住宿信息:12显示学生数据输 入 添 加 信 息 条 数 否判断是否合法是输入学生住宿信息否判断日期是否合法否是判断是否已有人居住是保存数据返回上一级1 3 输入添加信息条数4)修改学生住宿信息:显示学生数据输入要修改的宿舍号否判断是否存在是输入要修改的床位号否判断是否存在是输入修改后的学生数据保存数据显示教师账号信息返回上一级输入要修改
21、的账号返 回 管 理 5)删 除 教 师 账 号:获 取 管 理 权 限 后(删 除 学 生 账 号 同 此)是否存在模式菜单14输入修改后的姓名显示学生数据输 入 要 删 除 的 宿 舍 号否 是判断是否存在输入要删除的床位号否判断是否存在是删除学生信息保存数据返回上一级显示教师账号信息输入要删除的账号6)保 存 学 生 信 息 函 数:若 为“000000”,则退出1 5 是否存在删除账号否 判 断 数 据库中是否有学生信息是否 判 断 全 局 变 量 w rite _ s tu s ta y 的值是否判断文件路径是否正确是将学生信息写入文件信息保存完毕关闭文件按任意键返回主菜单167)显
22、示学生住宿信息:否判断数据库中是否有学生住宿信息是显示学生信息按任意键返回主菜单6.运行结果6.1 欢迎界面:176.2 主菜单界面:6.3 管理模式菜单主界面:186.4 查询模式菜单主界面:6.5 显示课设题目:196.6 退出界面:6.7 导入数据界面:1 W -r .27项冬-1住宿后息试人完或,金髀生任有值息亚T】1学号f O入住时w够 号E0弓j运29139231MhT133-1R2R13-9-in1526百2*13m 3121nT1323-92W 3-1R1S2R二危21H3n2311*111323-11ZHI 3-9-1111S27他揖21 皿 MI2IC11323-92H13
23、-t2S2RZtfl3ffiTMiaKe11123-11Z IH 3+1I92S2?整甚2tfl3B2Jli211323 上H2 b 1 3 T T 62:26举*注:查询子模式5界面与此相同206.8 查询子模式1输入界面:6.9 查询子模式2输入界面:iSlHA要五直1件d =i:52G、年商舍的仔药信息如下:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 学生姓名学号班级入住时闾床句号:张一21M 3n231nm11323-lfl2fM 3.9.tR1第旗20130231RHZT1323-1B2013.9.102张第2H13
24、I323IMC11323-1U2*13.,-13上的2m3U231MM11323TH4二蛙 1323 H2M 2.9.10fi的2 0 1 3 0 2 3 1/11323 102 U.986成本201)823100711323 182013.9.10?天语2m30231MT1323 102M 3.9.10B2RUR231NWT1323TH2al3.9.1 89_ _ _ _ _ _ _ 请而2R13n231nl(VT13W-1R2R13.9.1Rin216.1 0 查询子模式3输入界面:(XMSDewd即 B*D ebj.卡 -Srt.eKe*产广三.”川1:11323 101,_TU2 J啪
25、腕曲而有学小仔宿信息如下:|,学生性EA ftEftfJ 言言号床 住 号 1、卜一2fn3fC31MH2M 3-f-in15262 E H Z 3 g 22B13-J-tn2S2&213iK3llltH2IH3-9TU3S262皿 皿311M42U13-9-1U4S2,2B13-9-1U5S262132310062013 9 10G52G除291302316072B13 9 107526一29130231MS2013 9 10e526妣2 附;MC31IW92R13-?-in9526*1*-I6.1 1 查询子模式4输入界面:226.1 2 管理子模式1操作界面:236.13管理子模式2操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 语言 实验 完成 情况 程序设计
限制150内