您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据结构通讯录管理系统课程设计报告
课程设计(大作业)报告课程名称:数据结构设计题目:通讯录信息管理系统院系:信息技术学院班级:12级计算机2班设计者:*******学号:201211010214指导教师:SSSSSS设计时间:2013.12.28—2013.12.31昆明学院课程设计(大作业)任务书姓名:*******院(系):信息技术学院专业:计算机科学与技术学号:201211010214任务起止日期:2013/12/28课程设计题目:通讯录信息管理系统课程设计要求:(1)通讯录的建立(2)通讯者的插入(3)通讯者的删除(4)通讯者的查询(5)通讯录表的输出工作计划及安排:4小时复习相关的课程设计所需的内容,提出要求、提供选题并检索资料、确定设计项目8小时数据类型定义、确定存储结构、算法设计10小时算法实现4小时编写课程设计报告指导教师签字年月日课程设计(大作业)成绩学号:201211010214姓名:******指导教师:SSSSS课程设计题目:通讯录信息管理系统总结:这个课题是设计一个通讯录系统,该通讯系统能够较好的管理好我们的通讯录记录,也拥有比较完善的功能,但是该系统依旧有漏洞,此程序必须按照系统提示的操作来执行,不然的话就会使程序进入死循环,比如,如果我输入字符串的长度过长的话,程序就会终止运行了,并且还没有提示;后面的删除模块所用的方法是用空格替代,虽然可以删除,但达不到理想的效果。在编写过程中,我逐步的了解了程序模块化设计的思想含义。在整个程序设计的过程中语法的错误还是比较容易检查的,但是对于那些逻辑思维的问题方面的缺陷不易查出,因此常常出现系统提示没有错误但是仍然不能够正常运行的境况,尽管有很多不足之处,但我在整个系统程序设计的过程中,我可以感受到自己对C语言有了一定的掌握,对整体的把握度也提高了很多。此外编程是一项高精度的工作,所以我们要有规范化,标准化的代码编写习惯,良好的编写习惯,不但有助于代码的纠错,也有助于不同人员之间的协作。我们还要有模块化思维能力,模块化思维就是编程任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大的避免重复性的工作。另外我们要重视程序的算法,在程序中,算法是灵魂,我们要努力学习各种先进的算法,提高自己的编程能力。指导教师评语:成绩:填表时间:指导教师签名:课程设计(大作业)报告一、数据结构及算法描述1.数据类型定义2.说明主要变量含义3.说明数据输入的要求和格式----即输入数据的类型、值的范围及输入的形式4.输出数据的类型、值的范围及输出的形式5.确定存储结构6.编写算法并实现二、程序测试并运行通过1.测试与分析、记录调试过程及结果⑴添加通讯录记录⑵显示通讯录记录⑵按姓名方式查找⑷按电话方式查找⑸插入通讯录记录⑹按姓名方式排序⑺删除通讯录记录⑻按记录保存文件2.出现的问题、解决的方法、最终运行结果三、源程序\#includestdio.h#includestdlib.h#includestring.h#includeconio.h#includestdlib.h#definenull0structrecord{charname[20];charphone[20];charadress[40];charpostcode[10];chare_mail[30];}student[500];structLinkList{structrecordUS;structLinkList*next;}a;structLinkList*head=null;intnum=0;FILE*fp;intmenu_select();intadduser();intlist();intsearch();intdisplay();intadd();intlistbyname();intdele();intsave();intexit();voidmain(){system(cls);for(;;){switch(menu_select()){case0:adduser();break;case1:list();break;case2:search();break;case3:display();break;case4:add();break;case5:listbyname();break;case6:dele();break;case7:save();break;case8:exit(0);}}}menu_select(){chars[80];inta;system(color2f);printf(*_*pressanykeyentermenu!*_*\n);getch();system(cls);printf(\t********************MENU***********************\n);printf(\t*||0.添加通讯录记录||*\n);printf(\t*||1.显示通讯录记录||*\n);printf(\t*||2.按姓名方式查找||*\n);printf(\t*||3.按电话方式查找||*\n);printf(\t*||4.插入通讯录记录||*\n);printf(\t*||5.按姓名方式排序||*\n);printf(\t*||6.删除通讯录记录||*\n);printf(\t*||7.按记录保存文件||*\n);printf(\t*||8.Quit||*\n);printf(\t***********************************************\n);do{printf(\nEnteryouchoice(0~8):);scanf(%s,s);a=atoi(s);}while(a0||a8);returna;}adduser(){printf(\n\t\t****************请输入用户信息****************\n);printf(\n\t\t输入姓名:);scanf(%s,&student[num].name);printf(\n\t\t输入电话号码:);scanf(%s,&student[num].phone);printf(\n\t\t输入地址:);scanf(%s,&student[num].adress);printf(\n\t\t输入邮编:);scanf(%s,&student[num].postcode);printf(\n\t\t输入e-mail:);scanf(%s,&student[num].e_mail);num++;printf(\n\t\t是否继续添加?(Y/N):);if(getch()=='y')adduser();return(0);}list(){inti;system(cls);if(num!=0){printf(\n\t\t***************以下为通讯录所有信息************);for(i=0;inum;i++){printf(\n\t\t姓名:%s,student[i].name);printf(\n\t\t电话:%s,student[i].phone);printf(\n\t\t地址:%s,student[i].adress);printf(\n\t\t邮编:%s,student[i].postcode);printf(\n\t\te-mail:%s,student[i].e_mail);printf(\t\t);if(i+1num){printf(\n\t\t__________________________);system(pause);}}printf(\n\t\t************************************************);}elseprintf(\n\t\t通讯录中无任何纪录);printf(\n\t\t按任意键返回主菜单:);getch();return(0);}search(){intmark=0;inti;inta=0;printf(\n\t\t*****************按姓名查找*******************);charname[20];printf(\n\t\t请输入姓名:);scanf(%s,name);for(i=a;inum;i++){if(strcmp(student[i].name,name)==0){printf(\n\t\t*************以下是您查找的用户信息***********);printf(\n\t\t姓名:%s,student[i].name);printf(\n\t\t电话:%s,student[i].phone);printf(\n\t\t地址:%s,student[i].adress);printf(\n\t\te-mail:%s,student[i].e_mail);printf(\n\t\t************************************************);mark++;if((i+1)num){printf(\n\t\t是否继续查找相同名字的用户信息:(y/n));if(getch()=='y'){a=i;continue;}elsereturn(0);}else{printf(\n\t\t按任意键返回主菜单);getch();return(0);}}}if(mark!=0){printf(\n\t\t没有相同姓名的用户纪录);printf(\n\t\t按任意键返回主菜单);getch();return(0);}else{printf(\n\t\t没有相同姓名的用户纪录);printf(\n\t\t按任意键返回主菜单);getch();return(0);}}display(){intmark=0;inti;inta=0;printf(\n\t\t******************按电话查找******************);charphone[10];printf(\n\t\t请输入电话号码:);scanf(%s,phone);for(i=0;inum;i++){if(strcmp(student[i].phone,phone)==0){printf(\n\t\t**************以下是您查找的用户信息**********);printf(\n\t\t姓名:%s,student[i].name);printf(\n\t\t电话:%s,student[i].phone);printf(\n\t\t地址:%s,student[i].adress);printf(\n\t\te-mail:%s,student[i].e_mail);printf(\n\t\t************************************************);printf(\n\t\t按任意键返回主菜单:);mark++;getch();return(0);}}if(mark==0){printf(\n\t\t没有改用户的信息);printf(\n\t\t按任意键返回主菜单);getch();return(0);}return(0);}add(){inti;if((fp=fopen(student.bin,wb))==NULL){printf(\n\t\t文件打开失败);}for(i=0;inum;i++){if(fwrite(&student[i],sizeof(structrecord),1,fp)!=1){printf(\n\t\t写入文件错误!\n);}printf(\n\t\t****************请输入用户信息****************\n);printf(\n\t\t输入姓名:);scanf(%s,&student[num]
本文标题:数据结构通讯录管理系统课程设计报告
链接地址:https://www.777doc.com/doc-5238199 .html