C语言实训报告 学分管理系统解析

上传人:公**** 文档编号:564611666 上传时间:2023-10-16 格式:DOCX 页数:25 大小:200.33KB
返回 下载 相关 举报
C语言实训报告 学分管理系统解析_第1页
第1页 / 共25页
C语言实训报告 学分管理系统解析_第2页
第2页 / 共25页
C语言实训报告 学分管理系统解析_第3页
第3页 / 共25页
C语言实训报告 学分管理系统解析_第4页
第4页 / 共25页
C语言实训报告 学分管理系统解析_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《C语言实训报告 学分管理系统解析》由会员分享,可在线阅读,更多相关《C语言实训报告 学分管理系统解析(25页珍藏版)》请在金锄头文库上搜索。

1、HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY阿d加站恳C语言程序设计实训报告实训题目:专业 班 级: 姓名 成绩 完成日期: 指导教师:学分管理程序计算机科学与技术K1273-52014年7月8日张吴波涂瑞目录1. 实训题目与要求32. 系统设计43. 程序测试与运行结果74. 实训总结105. 程序源代码121.实训题目与要求学分管理程序问题描述:请设计一个学生的学分管理程序,以方便教务部门对学生已完成学分的管理。假设每位学生必须完成基础课50学分、专业课50学分、选修课24学分、人文类课程 8个学分、实验性课程20学分才能毕业。因此在管理学分时,要考虑

2、每个学分所属于的课 程类别。其中各类别的课程所完成的学分最多不会超过100分。该程序应该具有以下功能:(1) 能从键盘输入某位学生的信息(不包含学分)。(2) 给定学号,显示该学生的所完成的学分。(3) 给定学号,能修改该学生所完成的学分。(4) 给定学号,将学生从程序中删除。(5) 能显示已完成学分可以毕业的学生。题目要求:(1) 按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。(2) 学分信息应该包括学生信息(学号、姓名、班级、入学时间)、基础课学分、专业课 学分、选修课学分、人文类课程学分、实验性课程学分。(3) 为程序设计windows窗口,在该窗口上以按钮的形式为用户提供

3、“菜单”通过点击各个功能项对应的按钮完成操作。输入要求:(1) 用户可以根据需求,选定相应的操作项目。进入每个操作后,通过窗口的文本框,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。(2) 能对输入的数据进行简单的校验,例如,学生的学分是0,100范围内的数,入学 时间必须是合法的日期,学号是唯一的(一个学号对应一个学生的学分信息)。 输出要求:(1) 应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。(2) 要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及 结束方式等。(3) 在程序完成处理后,要清楚地给出程序的处理结果。例如,在给

4、定学号修改学生学分 时,如果该学生不存在,要提示不能修改,如果修改成功要提示修改成功。实现要求:(1) 在程序中使用链表存储学生的学分信息。(2) 采用模块化程序设计的方法,将程序中的各项功能用函数实现。提示:(1)使用结构体表示学生的学分信息,一个结点保存一条学分信息。扩展功能:(1) 提供一些统计功能。例如统计每个班学生已完成学分可以毕业人数。统计每类别课程 的平均学分等。(2) 学生的学分信息从文件读入。(3) 将学生的学分信息保存到文件中。2系统设计 Windows操作系统是一种基于图形界面的多任务(即:同时执行多个程 序)操作系统。 一个Windows应用程序是被Windows调用或

5、在Windows下运行的一个 程序。Windows 编程与 Dos 的区别:执行模式DOS程序主要采用顺序的、过程驱动的程序设计方法。在DOS程序中是通过流程控制语句直接控制程序的执行顺序Windows应用程序采用的是一种:审件驱动”方式执行程 序.它是根据发生的事件来控制程序的执行。因此它是 一种“被动刃式程序设计方法,程序开始运行时,处尸等 待用户输入事件的状态,然后根据事件作出相应的反 应,处理完毕又返回并处等待爭件II勺状态“学分管理系统函数家族【函数介绍】1. void create(HWND hwnd,LPARAM lParam); 注册窗口函数2. ShowWindow(hWnd

6、,nShowCmd);显示窗口3. void command();命令消息4. UpdateWindow(hWnd);更新窗口5. void initstudent();初始化链表6. void baocun();保存7. void showall(); 显示所有学生信息8. void cleartext(); 清空文本框9. void clearcache(); 清空缓存10. void showbiye(); 显示可以毕业的学生11. void deletestudent();删除学生12. void seexuefen();查询学分13. void xiugaixuefen();修改学分

7、3程序测试与运行结果运行界面:解;AtMR:二I 军匚 JhE 二IBWt*5:9示HHS却狀腔盘呻孚生g荷+辛生ft息|保存界面:显示所有学生信息界面:三next=newstudent,其实这个比较简 单,难点在于对学生信息的限制条件,比如对入学时间的限制,对学 分范围的限制等等,这些都要编在程序中,这就需要在合理的位置使 用if语句进行判断,由于限制条件比较多,就要使用多个if语句来 判断,甚至是if里面再if,多个if语句嵌套判断,最后终于成功了。 再程序的整体设计中,我还定义了一个全局变量assistp,为了其他功 能便于实现,我让 assistp 始终指着头结点的下一个结点,但在判断

8、 学号是否重复的过程中,我使用了 assistp 来查找学号,所以当保存 功能结束时,assistp已经不再指着headp的下一个结点,所以在保存 功能结束前, 一定要让 assistp 归位, 所以应再加一句 assistp=headp-next,这样assistp在其他功能中使用时也不会出错, 保持了程序的健壮性和稳定性。很多时候,程序一编译,就会出现很多错误,心里非常凌乱,但 是当自己把一个个错误改过来以后,会常常的舒一口气,然而,到连 接时,十有八九会出问题,一般是逻辑上的问题,由于是需要前后改 动程序的,所以会出现语句的出现先后问题,这时,就需要冷静,静 下心年来,慢慢思考。有时候一

9、个小小的错误会消耗我几个小时时间,甚至是好几天, 百思不得其解,然而,有时也会过一会儿就会理解。有时候,当自己 看着一个程序,不知道错在哪里的时候,别人一眼就看出来问题的所 在。这就是当局者迷,旁观者清吧。这一次编写实训题目的程序又让我感受到学程序可以锻炼缜密 的思维。因为以前编写的程序代码都比较少,出现一些错误都是很容 易被检查出来的,但是这次实训却是几百行的语句,而且是 Windows 编程,更是难以检查,似乎也没有经验告诉你该怎么去检查,那一刹 那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因 为好像蛮简单,总相信自己能够检查出来,结果花了大量的时间。这次实训也让我明白了:不

10、在乎你的基础怎么样,只要多练习, 必能做到勤能补拙,编出一个自己满意的界面,一个满意的程序出来 的。有时候程序会检测出一大堆错误。有时程序本身不存在语法错误, 也能够顺利运行,但是运行结果显然是错误的,不是我所期望的。开 发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的 上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作, 对于初学者来说,尽快掌握程序调试方法是非常重要的。5程序源代码#include LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);/ 函数声明void inits

11、tudent(); /初始化void baocun();/保存void showall();/显示所有学生信息void cleartext();/清空文本框void clearcache();/清空缓存void showbiye();/显示可以毕业的学生void deletestudent(); /删除学生void seexuefen();/查询学分void xiugaixuefen(); /修改学分RECT rect1;RECT rect2;RECT rect3;RECT rect4;RECT rect5;RECT rect6;RECT rect7;RECT rect8;RECT rect9

12、;RECT rect10;RECT rect11;RECT rect12;HDC hDC;HWND hWnd;PAINTSTRUCT paint;static char str120,str220,str3100,str420,str520,str620,str720,str820,str920,str10100,str1120, str1320,str1210000,str1410000;struct studentlong xuehao;char name20;char banji20;int year;int month;int date;int jichu;int zhuanye;int xuanxiu;int renwen;int shiyan;student *next;s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号