C语言课程设计报告(学生通讯录管理系统设计)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!课程设计报告(本科)课程:高级语言程序设计学号:姓名:秦钱军班级:2013级计算机科学与技术教师:冯凤时间:2014年1月计算机科学与技术系绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!0设计名称:学生通讯录管理系统设计设计内容、目的与要求:设计内容:设计一个学生通讯录,学生通讯录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通讯录数据类型定义为结构类型。目的与要求:设计学生通讯录1.主要功能:(1)能建立、修改和增减学生通讯录(2)能够多种方式进行查询2.要求:界面友好,易于操作,采用文件存储数据。计划与进度安排:12月20日至12月22日:研究题目的要求及所给条件,综合分析实验应该达到的目标,探讨实验需要使用的方法和解决此问题的实际情况,图书馆查阅相关资料,综合比较;12月23日至12月25日:设计解题的方法和具体步骤,并进行分步思考,利用主菜单函数menu()将程序模块化,在进行各个模块的设计和制作方案,绘制实验的流程图,再将各个模块综合,将各个函数运用于主函数中,绘制主函数的流程图,综合运用所有的函数;12月26日至12月31日:查阅书籍,仔细研究书本上的例题,再结合网络资料,结合各方面所得的资料,编写程序,仔细修改程序;1月1日至1月2日:调试程序,运行程序,再次将程序修改;1月3日至1月5日:完善程序,仔细填写课程设计报告,再次认真阅读程序并熟悉程序,为验收做最后的准备。设计过程、步骤(可加页):整个程序主要使用了结构体类型,结构体类型充当了整个程序的骨架,将各个程序段有机巧妙的结合在一起。例如:structstudent//声明一个结构体类型structstudent{longnum;//学号charname[20];//姓名intbanji;//班级chartel[11];//号码charEmail[20];//邮箱intsushe;//宿舍structstudent*next;//next是指针变量,指向结构体变量};整个系统必须有一个主函数,为了尽量提高程序的易修改性,且不至于相互干扰,将每一个功能分成不同的模块,用不同的函数来实现,例如在我写的这个程序中,一共用了9个函数,分别是:1主菜单函数voidmenu(void);输入函数structstudent*shuru(void);输出单个学生信息函数voidshuchu(structstudent*s);输出所有学生信息函数voidfindall();按姓名查找函数voidfindname();按学号查找函数voidfindnum();删除函数structstudent*stushanchu(structstudent*stu);排序函数voidpaixu();主函数voidmain(),这样在整个程序的设计过程中也就一目了然,写起来也相对轻松了不少。下面是摘自源程序的主函数:voidmain()/*主函数*/{chara;menu();puts(\n您为首次使用本系统,建议您按1开始录入学生信息,);a=getche();while(a){puts();switch(a){case'0':gotoend;break;case'1':puts(\n好了,您可以开始向本系统录入学生通讯录信息了:);stu=shuru();system(cls);menu();puts(\n学生信息录入完毕,请输入你的选择(0~6):\n);break;case'2':findall();puts(\n请输入你的选择(0~6):);break;case'3':findname();puts(\n请输入你的选择(0~6):);break;case'4':findnum();puts(\n请输入你的选择(0~6):);break;case'5':stu=shanchu(stu);puts(\n请输入你的选择(0~6):);break;case'6':paixu();puts(\n请输入你的选择(0~6):);break;default:puts(输错了!按数字1键录入学生信息吧!);break;}a=getche();}end:;puts(谢谢您使用本系统,欢迎再次使用!);}绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!2结果与分析(可以加页):主界面:按1录入学生通讯录信息:3按2查看所有学生信息:绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!4按3按姓名查找学生信息:按4按学号查找学生信息:5按5删除学生信息:删除后:绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!6按6将通讯录信息排序:按0退出:7程序已实现对学生信息的录入、按姓名查询、按学号查询和删减,唯一的不足之处是没能实现对学生信息的修改。设计体会与建议:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。具体的各个函数是参照课本上《链表》那一章的内容的,比如结构体的建立、绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!8查找和排序等功能,这些书上都有类似的,例如在第六章中有一个用冒泡法排序的例题,我就是仿照这个模式来对结构体进行排序的。回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温顾。在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,在一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。不得不说这是精神的胜利,是永不言败的精神让我的程序重见天日。我们的课程设计结束了,但是它留给我的印象是不可磨灭的。无论我以后会不会涉及到C语言程序编译的研究,我想,我至少掌握了一种系统的研究方法,我们学习的目的就在于运用,我们运用这种研究方法的时候会很多,我最后要感谢课程设计,它的确教会我很多。9附录:#includestdio.h#includestring.h#includemalloc.h#includestdlib.h#includeconio.h#defineNULL0structstudent{longnum;charname[20];intbanji;chartel[11];charEmail[20];intsushe;structstudent*next;};structstudent*stu;intn;voidmenu(void){/*主菜单函数*/system(cls);puts(****************************************************************************);puts(**^_^学生通讯录管理系统^_^**);puts(****************************************************************************);puts(************);puts(*****1=录入学生通讯录信息*****);puts(****2=列出所有学生通讯录****);puts(***3=按姓名查询信息***);puts(**4=按学号查询信息**);puts(*5=删除学生信息*);puts(**6=按学号将通讯录排序**);puts(*****0=退出绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!10***);puts(**********);puts(************);puts(**************);puts(****************************************************************************);}structstudent*shuru(void)/*输入函数*/{system(cls);structstudent*s1,*s2;n=1;intnum;puts(请输入学生个数(提示:个数不能输入0!):);scanf(%d,&num);s1=s2=(structstudent*)malloc(sizeof(structstudent));puts(*************************************************);puts(请输入学号:);scanf(%ld,&s1-num);puts(请输入学生姓名:);scanf(%s,s1-name);puts(请输入班级:);scanf(%d,&s1-banji);puts(请输入电话号码:);scanf(%s,s1-tel);puts(请输入电子邮件:);scanf(%s,s1-Email);puts(请输入学生宿舍号:);scanf(%d,&s1-sushe);stu=s1;while(nnum){s2-next=s1;s2=s1;s1=(structstudent*)malloc(sizeof(structstudent));puts(*************************************************);puts(请输入学号:);scanf(%ld,&s1-nu

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功