C语言(毕业论文)_第1页
C语言(毕业论文)_第2页
C语言(毕业论文)_第3页
C语言(毕业论文)_第4页
C语言(毕业论文)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言(论文) 濮阳职业技术学院 08应用电子技术濮阳职业技术学院毕业论文系别:物理与机电工程系班级:08应用电子学生:吴大卫学号:0805316078指导教师:王亚课程:C语言毕业论文课题:通讯录管理系统指导思想:通过毕业论文工作使大学生对C语言的基本知识、基础理论、基本技能得到提高,毕业论文工作是高职培养阶段教学质量的综合训练和检验。目 录毕业论文课题和指导思想1摘要3第一章 设计的目的和意义4第二章 系统分析51、系统总体结构分析52、数据类型的选择53、主要函数原型54、调用到的函数65、模块的设计与介绍6第三章 模块介绍和总体实现71、增加模块72、删除模块83、输入模块104、查找模块105、总体实现11第四章 调试与测试141.输入程序进行编译、运行142、增加联系人143、联系人输出154、删除联系人155、查找联系人166、退出16总结17参考资料18附录(源代码)19摘 要 当今时代,网络已经成为人们生活中不可缺少的一部分,世界上的第三媒体Internet ,它打破了地域时间限制,改变了人们的工作和生活方式,制作站点是企业和个人的宣传自己的重要手段,同时也学习信息的重要手段,今年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化.计算机在管理中应用的普及,利用计算机实现各种管理势在必行,对于机关单位来说,利用计算机支持高效率完成通讯录,是适应社会制度要求、推动机关单位信息利用计算机支持高效率完成通讯管理,是适应现在社会制度要求、推动机关单位信息管理走向科学化、规范化的必要条件。随着社会的发展及知识经济时代的到来,管理信息系统在各行各业发挥着越来越重要的作用。通信录管理系统是典型的信息管理系统。通信录管理系统的水平,是衡公司发展水平的一个重要指标。通信录管理系统工作烦琐,包含了大量的信息数据,因此就需要一个完善的职工信息管理系统来实现对这些数据的有效管理,满足公司管理者的需求。关键字:通讯录; 管理信息系统; MIS; Visual Basic;第一章 设计的目的和意义通讯录管理系统是典型的管理系统(MIS),其开发主要包括数据库的建立和维护前端应用程序的开发两个方面。对于前者要求建立起数据库一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的VISUAL,BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 将网络和通讯录管理结合起来。使得组会人员对参考人员的实际情况一目了然,经过详细的系统调查,开发出的操作简单而且方便使用的一个通讯系统。实现参会代表的动态管理,使得对信息的管理更加方便,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好。这样组会人员在工作起来效率高,可以不用再做大量的记录。从而大大减轻了机关单位职员的工作量。运用数据结构中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。 加深对数据结构的理解,提高算法设计的能力,锻炼编程的能力用C语言编写一个通讯录管理系统软件,要求能实现通讯录管理系统中增加新记录, 删除记录, 显示通讯录的所有信息, 按名字查询信息, 保存通讯录,退出系统。第二章 系统分析1、系统总体结构分析根据实际情况,我们使用原型法,即以少量代价快速地构造一个可执行的软件系统模型,使用户和开发人员可以较快的确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐加上去,直到所有的性质全部满足。以下为系统逻辑模型图:用户系统管理员系统逻辑图 2-12、数据类型的选择struct lianxirenchar name20;char address50;char age5;char tele20;char e_mail30;3、主要函数原型char caidan();/菜单void add();/增加联系人函数void print(struct lianxiren a,int);/输入所有联系人void dele(struct lianxiren a,int);/删除联系人void chazhao(struct lianxiren a,int);/查找联系人void chazhao_name(struct lianxiren a,int n);/用名字查找void chazhao_age(struct lianxiren a,int n);/用年龄查找4、调用到的函数通过switch(表达式)case 常量表达式1:语句1case 常量表达式2:语句2case 常量表达式n:语句n调用六个函数。void add();void print(struct lianxiren a,int);void dele(struct lianxiren a,int);void chazhao(struct lianxiren a,int);void chazhao_name(struct lianxiren a,int n);void chazhao_age(struct lianxiren a,int n);5、模块设计与介绍对本系统的功能进行分析后可作如下的模块化设计:输入模块实现功能:按顺序将有姓名(name )、地址(address)、年龄(age)、电话(tel)、电子邮箱(E-mail)依次输入,并建立链表将其连接。当输入数据完毕时Enter,输入结束。删除模块实现功能:在已经存储的文件中删除指定的通信录信息,并释放内存空间。删除所有相关通信录信息。查找模块实现功能:在已经存储的文件中查找指定的通信录信息。可以按照查找姓名或方法进行。输出模块实现功能:在输入特定的文件名之后,输出该文件中所包含的全部通信录信息。添加模块实现功能:添加相应信息保存操作,链表中的信息以文件形式被长期。保存。主序模块实现功能:完成系统的界面处理,包括开始界面和主菜单界面。第三章 模块介绍和总体实现1、 Add( )增加模块建立链表的具体操作就是逐一输入各结点数据,并建立其前后相链的关系。void add()int i;FILE *fp;if(fp=fopen(通讯录.txt,a)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);int num;printf(您想要增加几个联系人:n);scanf(%d,&num);struct lianxiren t50;printf(请输入联系人信息n);printf(名字地址年龄电话电子邮箱n);printf(-n);for(i=0;inum;i+)scanf(%s%s%s%s%s, ,ti.address ,ti.age ,ti.tele ,ti.e_mail );printf(_n);for(i=0;inext,后把next指向p-next。在释放p指针。要完成的是链表的删除操作,只需修改链表中要删除结点的前一个结点的链指针。使之指向被删除结点的后面一个结点即可。 void dele(struct lianxiren a,int n)struct lianxiren temp5;char mingzi20;int i,j=0,s=0;printf(输入你要删除人得名字:);scanf(%s,mingzi);printf(n);for(i=0;in;i+)if(strcmp(mingzi,)!=0)strcpy(,);strcpy(tempj.address,ai.address);strcpy(tempj.age,ai.age);strcpy(tempj.tele,ai.tele);strcpy(tempj.e_mail,ai.e_mail);j+;else s+;printf(你要删除得人得信息是:n);printf(-n);printf(名字地址 年龄 电话邮箱n);printf(-n);printf(%-8s%-10s%-8s%-15s%-20sn,,ai.address,ai.age,ai.tele,ai.e_mail);FILE *fp;if(fp=fopen(通讯录.txt,w)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);for(i=0;ij;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,,tempi.address,tempi.age,tempi.tele,tempi.e_mail);if(s!=0) printf(*删除成功!*n);else printf(您所要删除的联系人不存在,请核查拼写及大小写n);fclose(fp);3、print( )输入模块将最终想要保留的数据信息保存于文件中。void print(struct lianxiren t,int n)if(n=0)printf(*文件为空!*n);return;int i;printf(*通讯录*n);printf(名字地址 年龄 电话邮箱n);printf(_n);for(i=0;iname,p-address,p-age,p-tele,p-e_mail);p+;n+;switch(caidan()case 1:add();break;case 2:print(tongxunlu,n);break;case 3:dele(tongxunlu,n);break;case 4:chazhao(tongxunlu,n);break;case 5:exit(0);char caidan()char choose5;printf(n*n);printf( n); printf( 通 讯 录n);printf( _n);printf(1,增 加 联 系 人 信 息 n);printf(2,输 出 所 有 联 系 人 n);printf(3,删 除 联 系 人 n);printf(4,查 找 联 系 人 n);printf(5,退 出 通 讯 了 n); printf(n);printf(*nn);doprintf(请输入您的选择(1-5):);scanf(%s,choose);while(strcmp(choose,1)&strcmp(choose,2)&strcmp(choose,3)&strcmp(choose,4)&strcmp(choose,5);return choose0;第四章 调试与测试1.输入程序进行编译、运行2.增加联系人(例:1)3.联系人输出4.删除联系人5.查找联系人6.退出总 结课程设计是培养学生综合运用所学知识 、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。 回顾起此次课程设计,至今我们仍感慨颇多,的确,整个编程,从理论到实践,在筹备的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针,链表通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。 通过这次论文的写作,我不仅加深了对C语言理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西!此致敬礼 参考资料1 龚沛曾 编著 .Visual Basic 6.0 程序设计教程 02年第三版(高等教育出版社).2萨师煊 、王珊 编著 .数据库系统概论02年第二版(高等教育出版社). 3赵文静. 数据结构与算法M. 北京: 科学出版社4王敬华,林萍,.陈静. C语言程序设计M. 北京: 清华大学出版社参考网站:附录(源代码)#include#include#includestruct lianxiren/联系人信息;char name20;char address50;char age5;char tele20;char e_mail30;char caidan();/菜单void add();/增加联系人函数void print(struct lianxiren a,int);/输入所有联系人void dele(struct lianxiren a,int);void chazhao(struct lianxiren a,int);void chazhao_name(struct lianxiren a,int n);void chazhao_age(struct lianxiren a,int n);void main()FILE *fp;if(fp=fopen(通讯录.txt,a)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);fclose(fp);for(;)int n=0;char ch;struct lianxiren tongxunlu100;struct lianxiren *p;p=tongxunlu;FILE *fp;if(fp=fopen(通讯录.txt,r)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);elsewhile(ch=fgetc(fp)!=EOF)fscanf(fp,%s%s%s%s%s,p-name,p-address,p-age,p-tele,p-e_mail);p+;n+;switch(caidan()case 1:add();break;case 2:print(tongxunlu,n);break;case 3:dele(tongxunlu,n);break;case 4:chazhao(tongxunlu,n);break;case 5:exit(0);char caidan()char choose5;printf(n*n);printf( n); printf( 通 讯 录n);printf( _n);printf(1,增 加 联 系 人 信 息 n);printf(2,输 出 所 有 联 系 人 n);printf(3,删 除 联 系 人 n);printf(4,查 找 联 系 人 n);printf(5,退 出 通 讯 了 n); printf(n);printf(*nn);doprintf(请输入您的选择(1-5):);scanf(%s,choose);while(strcmp(choose,1)&strcmp(choose,2)&strcmp(choose,3)&strcmp(choose,4)&strcmp(choose,5);return choose0;void add()int i;FILE *fp;if(fp=fopen(通讯录.txt,a)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);int num;printf(您想要增加几个联系人:n);scanf(%d,&num);struct lianxiren t50;printf(请输入联系人信息n);printf(名字地址年龄电话电子邮箱n);printf(-n);for(i=0;inum;i+)scanf(%s%s%s%s%s, ,ti.address ,ti.age ,ti.tele ,ti.e_mail );printf(_n);for(i=0;inum;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s, ,ti.address ,ti.age ,ti.tele ,ti.e_mail);printf(*已成功添加%d个联系人*n,num);fclose(fp);void dele(struct lianxiren a,int n)struct lianxiren temp5;char mingzi20;int i,j=0,s=0;printf(输入你要删除人得名字:);scanf(%s,mingzi);printf(n);for(i=0;in;i+)if(strcmp(mingzi,)!=0)strcpy(,);strcpy(tempj.address,ai.address);strcpy(tempj.age,ai.age);strcpy(tempj.tele,ai.tele);strcpy(tempj.e_mail,ai.e_mail);j+;else s+;printf(你要删除得人得信息是:n);printf(-n);printf(名字地址 年龄 电话邮箱n);printf(-n);printf(%-8s%-10s%-8s%-15s%-20sn,,ai.address,ai.age,ai.tele,ai.e_mail);FILE *fp;if(fp=fopen(通讯录.txt,w)=NULL)printf(无法打开文件,按任意键退出!n);char a;scanf(%c,&a);exit(0);for(i=0;ij;i+)fprintf(fp,n);fprintf(fp,%s%s%s%s%s,,tempi.address,tempi.age,tempi.tele,tempi.e_mail);if(s!=0) printf(*删除成功!*n);else printf(您所要删除的联系人不存在,请核查拼写及大小写n);fclose(fp);void print(struct lianxiren t,int n)if(n=0)printf(*文件为空!*n);return;int i;printf(*通讯录*n);printf(名字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论