资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
新能源与动力工程学院新能源与动力工程学院课程设计报告程序设计课程设计(C/C+)专业电子信息工程班级电信 1501姓名 学号 指导教师 2016 年 12 月课程设计任务书课程设计任务书课程名称:课程名称: C C语言程序设计课程设计语言程序设计课程设计 指导教师(签名):指导教师(签名): 一、课程设计题目一、课程设计题目 教师工资管理系统二、课程设计使用的原始资料(数据)及设计技术要求:二、课程设计使用的原始资料(数据)及设计技术要求:1.原始资料:C 程序设计(第四版) ;借助网络和参考文献2.技术要求:Win10+VC+6.0 环境二、课程设计的目的二、课程设计的目的通过课程设计,主要达到以下目的:1使学生增进对 C 程序的感性认识,加深对程序设计理论方面的理解;2使学生掌握结构化程序设计思想;3使学生了解和掌握 C 程序设计过程、方法及实现,利用 C 语言进行基本的软件设计,掌握掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问题的能力; 三、课程设计的主要内容和要求三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求 等)教职工基本信息的输入,能够进行修改更新、查询操作,数据的保护、备份及系 统的基本设置,并具备系统密码保护的功能。 四、工作进度安排四、工作进度安排时间设计内容要求12 月 20 日熟悉题目、查阅资料,拟定设计方案按要求制定出切实可行的方案12 月 21 日设计程序构造及完成函数调用查询完成系统结构及部分程序设计12 月 22 日24 日充分调用各类函数完成剩余部分程序先进行程序组装及完成部分程序调试12 月 25 日26 日产品整理调试并完成设计报告实现设计要求,报告按要求装订成册12 月 27 日答辩展示产品,并简明扼要自述五分钟五、主要参考文献五、主要参考文献1C 语言程序设计(第四版) ,谭浩强,清华大学出版社,2010 年2C 语言程序设计与实验指导(第四版) ,谭浩强,清华大学出版社,2010 年审核批准意见审核批准意见系主任(签字):系主任(签字): 年年 月月 日日目录目录一、设计目的 .3 二、需求分析 .3 三、详细设计 .4 四、程序调试与错误分析 .6 五、运行结果 .6 六、结论与心得 .7 七、参考文献 .8 附录一 .9 - 2 -引言C+语言是具有面向对象特性的 C 语言的继承者,即是由 C语言演变而来,全面兼容 C 语言。C 语言的优点,如语言简洁灵活,运算符和数据结构丰富,具有结构化控制语句,程序执行效率高,同时具有高级语言与汇编语言的优点,这些在 C+语言中同样能够体现出来。但是 C+语言最有意义的方面是支持面向对象的程序设计,在数据类型、算法的控制结构、函数等方面都有很好的体现。面向对象编程中,对象是程序设计的基本单位,但对象的静态属性往往需要用某种类型的数据来表示,对象的动态属性要由成员函数来实现,面向函数的实现归根到底还是算法的设计。C+课程设计通过综合运用在C+程序设计和数据结构中所学的程序结构、流程控制语句、数组、函数、指针、结构体、数据结构等知识,以简易“管理信息系统”程序设计为载体,以 C+语言为工具,使我们更深地涉足计算机专业设计领域,并使所学知识和技能得到进一步巩固、深化和扩展,以达到能用 C+编写初等程度软件的目的,为继续学习后续课程及今后走上相关工作岗位打下良好的基础。- 3 -一、设计目的一、设计目的1.为了能够方便对教师的工资进行管理,对信息进行排序、插入、查找、删除、统计等功能的实现。2.基本掌握面向过程程序设计的基本思路和方法,达到熟练掌握 C 语言的基本知识和技能,能够利用所学到的知识和技能,解决简单的程序设计问题。3.培养上机动手能力,使学生巩固C 语言程序设计课程的学习内容掌握如何使用面向过程的计算机语言进行程序设计的基本方法,强化上机动手能力,闯过编程关为后续各门计算机课程的学习打下坚实基础。4.掌握各类 C 语言函数的使用方法及技巧,充分运用各级 C 语言函数完成简单程序的设计与运行。二、需求分析二、需求分析1、教师信息处理。该模块包括教师信息的输入、修改、删除以及浏览和统计等功能,每个模块在程序系统中用一个函数来实现,模块总体框图如图(1)所示图一图一输出界面选择操作读取文件执行 freeai选择选择权选择输入数据浏览数据退出系统结束- 4 -2、教师信息处理(1)输入教师信息(2)插入修改教师信息(3)浏览教师信息(4)删除教师信息图二3、教师数据处理(1)按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。(2)教师实发工资,应发工资,合计扣款计算。(3)教师数据管理、数据查询(5)教师综合信息输出三、详细设计三、详细设计1、数据结构设计本程序中,运用了多种数据结构。首先对于教师个人信息中各项详细信息的记录用了结构数组的形式,然后又运用链表动态地分配内存单元,在 Input 函数中,把保存在数组中的值再赋值给其中的一个结点,通过指针的后移,把多个数据连成一个链,形成一个链表。在这过程当中,还运用了数据文件的方式,每一次从终端输入的数据都以数据文件的形式保存到了磁盘。结构数组:typedef struct paylong num,tel;char name20,sex10,dw20,add20;float should_pay,jbgz,jt,shbt; float koukuan,rent,gi,sd,tel_fee,sds;float actual_pay;struct pay * next;信息输入教师信息处理信息删除浏览信息信息修改- 5 -2、流程图 (1)主函数流程图图三 (2)教师信息输入函数流程图:是否判断链表是否为空逐一输入教室个人信息通过 n 来累加输入的教师人数结束通过主函数调用判断链表是否为空输入要查询的教师号通过主函数调用- 6 -否是图四图四四、程序调试与错误分析四、程序调试与错误分析1、刚开始运行插入函数时,总不能插入正确信息。2、开始编译排序函数时出现无法正确插入函数以及无法输出正确结果的情况。3、编译查询函数时,总是无法输出正确信息。4、各级函数调用出现很大问题,对函数使用不当以及函数调用的错误都造成了很多错误。5、对删除函数的调用错误,导致输出结果错误。6、对于很多 C 语句的使用不够熟练,出错较多。针对以上错误,我虚心求教,向老师和同学求教,并顺利解决了程序编译过程中出现的问题和错误,成功的完成了本程序的编译判断是否存在所输入 的教师个人信息?显示出所要查询的教师个人信息结束- 7 -五、运行结果五、运行结果- 8 -六、结论与心得六、结论与心得持续两周的课程设计给了我太多的感触,题目很大,设计量也很大,也很繁琐,让我认识到这个课题非一人可以解决。但从另一方面,为了出色地完成这次课程设计,我不断地细读课本,获得新知识的同时,提升了自己的能力。整个设计分模块实现功能,每个模块分别有不同的函数。每个同学都有自己的分工。链表的建立实现输入信息功能,相比较于数组更加方便,更加节省程序的运行时间和存储空间。通过使用文件 fread 和 write 函数方便的将数据信息写入文件并载入显示段。通过这十几天的训练和设计,我学会了很多,也对 C 语言程序设计有了一个新的认识与理解,从中也得到了很多乐趣,在这两周时间里看到同学们自己的劳动成果还是挺开心。而 C 语言的设计为自己以独立编程打下了基础。- 9 -七、参考文献七、参考文献1【美】Stephen PrataPrimer Plus著 由云巅工作室 译。北京:人民邮电出版社 2014 年 12 月。2 谭浩强.程序设计(第四版) 北京:清华大学出版社 2010 年 6 月。- 10 -附录一附录一源程序:源程序: #include #include #include #define LEN sizeof(struct teacher) struct teacher *creat(); struct teacher char num11; char name10; char sex8; char unit10; char address10; long telnum; float salary_1; float allowance; float life_allow; float salary_2; float tel_fee; float tax; float health_fee; float water_fee; float rent; float grant; float total_fee; float actual_salary; struct teacher *next; ; int n;struct teacher *head; FILE *fp; struct teacher *creat(void) struct teacher *p1,*p2; n=0; p1=p2=(struct teacher *)malloc(LEN);printf(“教师号:“); scanf(“%d“,fflush(stdin);printf(“教师姓名:“);gets(p1-name); printf(“教师性别:“);gets(p1-sex); printf(“单位名称:“);gets(p1-unit); printf(“家庭地址:“);gets(p1-address); printf(“电话号码:“);scanf(“%ld“,fflush(stdin);- 11 -printf(“基本工资:“);scanf(“%f“,fflush(stdin); printf(“津贴:“);scanf(“%f“,fflush(stdin); printf(“生活补贴:“);scanf(“%f“,fflush(stdin); printf(“电话费:“);scanf(“%f“,fflush(stdin); printf(“个人所得税:“);scanf(“%f“,fflush(stdin); printf(“房租:“);scanf(“%f“,fflush(stdin); printf(“公积金:“);scanf(“%f“,fflush(stdin); printf(“水电费:“);scanf(“%f“,fflush(stdin); printf(“卫生费:“);scanf(“%f“,fflush(stdin); p1-salary_2=p1-salary_1+p1-allowance+p1-life_allow; p1-total_fee=p1-tel_fee+p1-water_fee+p1-rent+p1-
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号