您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 程序设计实践 实验报告
程序设计基础课程设计院系:计算机学院班级:信息工程1班姓名:方穗城学号:201013064003合作者:丁丹妮、李晓艳指导教师:刘艳军2011年5月3日通通讯讯录录管管理理系系统统方穗城2010信息工程1班通讯录管理系统1目录摘要...........................................11.研究背景及意义...........................................................................................................1第一章系统设计说明以及功能分析.................21.1系统简述............................................................................................................................21.2通讯录的功能分析............................................................................................................2第二章概要设计.................................32.1总体程序框图...................................................................................................................3第三章系统功能模块的具体设计...................43.1各个模块的程序流程图....................................................................................................41)①主函数程序(N-S)流程图及运行界面...............................................................42)查找我的好友(源程序代码)与运行界面.........................................................53)修改我的好友(源程序代码)与程序运行界面.....................................................7第四章设计总结................................9附录一..........................................10方穗城2010信息工程1班通讯录管理系统1摘要1.研究背景及意义通讯录管理系统是每一个用户管理通讯录的不可或缺的管理信息系统,他的内容用户的管理者来说是至关重要的。所以通讯录管理系统能够为每一个用户管理者提高充足的信息和快捷的查询手段,大大的方便用户合理管理通讯录。随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,七其强大的功能已经为人们所深刻认识,它以进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、储存量大、保密性好、寿命长、成本低等。这些优点能够极大的通讯录管理的效率,也是用户理财的科学化正规化管理,与先进科学技术接轨的重要条件。因此,开发这样一套软件是非常有必要的,对于我们计算机专业的学生来说,也是一次将计算机应用于现实管理的一次有意义实践。方穗城2010信息工程1班通讯录管理系统2第一章系统设计说明以及功能分析1.1系统简述此通讯录管理系统是基于对话框的应用程序,在生活中应用频繁的管理工具,它以数据库的方式保存各种信息。利用本系统可以了解朋友的各种基本信息,包括姓名,电话号码,QQ号、生日等。还能按名称进行纪录的查询、增加、修改、删除等操作。1.2通讯录的功能分析系统要求实现最基本的功能包括:记录的显示、添加、显示、查找、修改、删除、基本功能:显示:以列表的方式显示通讯录的基本信息:添加:添加一项新的记录。如:通讯录基本信息录入删除:删除一项已有记录。修改:对已有信息进行修改。即:允许对已经录入的数据重新进行编辑、修改。例如修改通讯录中张三的电话信息。查找:根据姓名查找相关朋友的信息。例如输入张三姓名,查询张三的信息。保存:以数据库的形式保存数据。方穗城2010信息工程1班通讯录管理系统3第二章概要设计2.1总体程序框图图2.1-A总体程序Main(通讯录管理系统)创建通讯录显示通讯录查找通讯录修改通讯录删除通讯录退出通讯录方穗城2010信息工程1班通讯录管理系统4第三章系统功能模块的具体设计3.1各个模块的程序流程图1)①主函数程序(N-S)流程图及运行界面主函数程序(N-S)流程图(见图3.1-A)主函数main()定义变量charchoose='\0',yes_no='\0';while(TRUE)choose=getche();switch(choose)case'1':mycreat(record,M);break;创建通讯录case'2':mydisplay(record,M);break;显示我的好友case'3':mysearch(record,M);break;查找我的好友case'4':mymodify(record,M);break;修改我的好友case'5':myadd(record,M);break;添加我的好友case'6':mydelete(record,M);break;删除我的好友case'0':exit(0);退出图3.1-A主函数程序简单说明:该功能主要显示的是给用户一个进入界面,它主要的是显示该程序主要能够执行的有哪些功能。下面是显示给用户的界面。(见图3.1)②主函数程序运行界面:方穗城2010信息工程1班通讯录管理系统52)查找我的好友(源程序代码)与运行界面程序代码voidmysearch(structstudent*p,intn){structstudent*q=p;intflag=0;charc='\0',nm[10]=,nam[10]=;printf(\n按照学号查询(h)或姓名查询(m):\n);c=getche();if(c=='h'||c=='H'){printf(请输入要查询记录的学号:);gets(nm);for(p=q;p-qn;p++)if(strcmp(nm,p-num)==0){printf(学号姓名电话\n);printf(%23s%15s%15s\n,p-num,p-name,p-tel);方穗城2010信息工程1班通讯录管理系统6flag=1;}if(flag==0)printf(wrong...\n);}elseif(c=='m'||c=='M'){printf(请输入要查询记录的姓名:);gets(nam);for(p=q;p-qn;p++)if(strcmp(nam,p-name)==0){printf(学号姓名电话\n);printf(%23s%15s%15s\n,p-num,p-name,p-tel);flag=1;}if(flag==0)printf(wrong...\n);}elseprintf(wrong...\n);}}程序运行界面方穗城2010信息工程1班通讯录管理系统7添加我的好友程序运行界面(图3.2)3)修改我的好友(源程序代码)与程序运行界面程序代码voidmymodify(structstudent*p,intn){structstudent*q=p;FILE*fp=NULL;charnam[10]=;mydisplay(p,n);printf(请输入您想要修改记录的姓名:\n);gets(nam);for(p=q;p-qn;p++)if(strcmp(nam,p-name)==0)break;if(p-q==n)printf(wrong...);else{printf(请输入正确的学号:);方穗城2010信息工程1班通讯录管理系统8dogets(p-num);while(strcmp(p-num,)==0);printf(请输入正确的姓名:);gets(p-name);printf(请输入正确的电话:);gets(p-tel);}fp=fopen(d:\\jilu.dat,w);if(fp==NULL){printf(error);exit(0);}for(p=q;p-qn;p++)fprintf(fp,%23s%15s%15s\n,p-num,p-name,p-tel);fclose(fp);}程序运行界面方穗城2010信息工程1班通讯录管理系统9第四章设计总结通过此次的课程设计,将上学期由课本上所学习的有关内容应用到实践当中,使我们在应用过程中更加清楚的了解并掌握C语言的各部分的内容,提高个人程序设计思想及时发现一些错误,并在调试过程中更加深刻的认识到C语言程序的严谨性。任何一个程序员都有无法保证所编写的程序没有错误,语法错误在编译时就会被发现,连接错误在连接时就会被发现。但程序内部的逻辑错误只能由我们自己去发现并定位修改,在遇到问题时,首先通过对此部分函数的整体流程进行分析,找出问题的所在,经过思考,再由小组成员商定最优解决方法,这样有助于提高我们个人团体协作能力。我们的程序还有很多的不足,其实通讯录还应该排序,但是由于我们能力有限,而无法完成。排序的程序有“姓名”排序,也可以实现按其它的信息排序的功能,则程序的功能增加了,要求和难度也变大了。设计思路:首先提示用户按什么信息排序,然后编写按每个选项功能的模块或函数。查找信息和修改信息时都是按姓名查找和修改的,都可以改进,以实现更多的功能。总之,通过此次课程设计,我们学到了许多我们在书本上学不到的知识,受益非浅。通过实践,我们能更好地掌握C语言,并运用它编写应用程序。我们对它的功能和实用性、严密性,和对程序的编写都有了比较深刻的体会。毫无疑问,编程过程中我们遇到了许多问题,但通过我们不懈的努力,团结奋斗的精神,我们终究将问题一一解除,最终实现了程序的各项功能。虽然我们的程序还不够完善,加以改进以实现更多的功能。但通过这次的课程设计我们不仅学到了许多知识,学会如何设计一个应用程序,包括程序设计方法,调试程序,还学会如何解决问题,学会将所学知识运用到实际情况中。方穗城2010信息工程1班通讯录管理系统10附录一现在在这里附上程序的完整代码:#includestdio.h#includeconio.h#includestring.h#includestdlib.h#defineN100intM=5;structstudent{charnum[10];charname[10];chartel[10];};voidmyprint(){system(cls);printf(|-------------------------------------------------|\n);printf(|:-)请输入选项编号(0-6):|\n);printf(|-------------------------------------------------|\n);printf(|--------------1--创建通讯录----------------------|\n);printf(|--------------2--显示我的好友--------------------|\n);printf(|--------------3--查询我的好友--------------------|\n
本文标题:程序设计实践 实验报告
链接地址:https://www.777doc.com/doc-3156467 .html