您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > c语言课程设计 实验设备管理系统
课程设计报告课程名称:通讯录管理系统专业:计算机科学与技术班级:11级计算机科学与技术3班学生姓名:李孝东学号:2011404010337指导教师:任正云提交日期:2012.06.15JINGCHUUNIVERSITYOFTECHNOLOGY1摘要:纸质的通讯录已经不能满足我们的要求,更新麻烦,查询困难等缺点是纸质通讯录所不能克服的。在此情况下,迫切需要一个电子版的通讯录来满足我们的需求。这次课程设计的通讯录采用了二叉搜索树这一数据结构,并完成了添加、查找、删除、保存等功能。在TC2.0平台下实现了人机交互界面上的图形化设计,其中菜单的显示为逐桢动画,在等待用户按键输入时设计了友好的系统。关键字:数组,结构体,指针,函数,文件summary:paper'saddressbookcan'tmeetourrequirements,updatethetrouble,inquiresthedifficultyisthedisadvantagessuchaspaperaddressbookcan'tovercome.Inthiscase,theurgentneedtoaversionoftheaddressbooktomeetourneeds.Thecoursedesignoftheaddressbookadoptedbinarysearchtreesthedatastructure,andcompletedadd,delete,savesearch,etc.Function.InTC2.0theworkbenchrealizedontheman-machineinterfacegraphicaldesign,includingthemenuthatbystandardforanimation,waitingfortheuserinputbuttonswhenthefriendlysystemdesign.Keywords:arrays,structures,pointer,function,file2目录一、设计题目及要求...............................3二、概要设计.....................................3三、详细设计.....................................43.1通讯录:..................................43.2工作流程图:..............................5四、源程序代码...................................9五、用户手册....................................16六、课程设计总结和心得体会......................17七、参考文献....................................173一、设计题目及要求:建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;能够提供添加、删除和修改通讯录信息的功能;能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;将通讯录保存在文件中;能够按表格方式输出通讯录信息。系统功能需求分析:主要包含一下多种功能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件本文档,极大的方便了用户的使用。二、概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录。删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。查询:可以选择用姓名、电话、地址三种方式查询。修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、4电子邮箱即可完成修改。保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件。运行所需环境:win7及以下各版本windows,visualC++6.0。三、详细设计3.1通讯录:typedefstruct{charscore;/*编号*/charname[10];/*姓名*/charnum[15];/*号码*/charemail[20];/*邮箱*/charage[8];/*年龄*/charadds[20];/*住址*/}Person;voidmain()/*主函数*/{intn=0;for(;;){switch(menu_select()){case1:printf(\n\t添加记录到通讯录\n);/*添加记录*/n=Input(pe,n);break;case2:printf(\n\t\t\t通讯录记录表\n);/*显示记录*/Display(pe,n);break;case3:printf(\n\t从通讯录中删除记录\n);n=Delete_a_record(pe,n);/*删除记录*/printf(\t);system(pause);5break;case4:printf(\n\t在通讯录中查找记录\n);Query_a_record(pe,n);/*查找记录*/printf(\t);system(pause);break;case5:printf(\n\t修改通讯录中的记录\n);Change(pe,n);/*修改数据*/printf(\t);system(pause);break;case6:printf(\n\t保存功能\n);WritetoText(pe,n);/*保存数据*/printf(\t);system(pause);break;case0:printf(\n\t\t谢谢使用,再见!\n);/*结束程序*/printf(\n\t\t);system(pause);exit(0);}}}3.2工作流程图:①添加:添加通讯录记录6②显示:显示通讯录记录7③删除:删除通讯录记录④查询:查询通讯录记录先选择查询方式,以姓名查询方式为例89⑤修改:修改通讯录记录四、源程序代码#includestdio.h#includestdlib.h#includestring.htypedefstruct{charscore;/*编号*/charname[10];/*姓名*/charnum[15];/*号码*/10charemail[20];/*邮箱*/charage[8];/*年龄*/charadds[20];/*住址*/}Person;Personpe[80];intmenu_select(){charc;do{system(cls);printf(\t\t*****通讯录*****\n);printf(\t\t┌───────┐\n);printf(\t\t│1.添加记录│\n);printf(\t\t│2.显示记录│\n);printf(\t\t│3.删除记录│\n);printf(\t\t│4.查询记录│\n);printf(\t\t│5.修改记录│\n);printf(\t\t│6.保存记录│\n);printf(\t\t│0.退出程序│\n);printf(\t\t└───────┘\n);printf(\t\t请您选择(0-6):);c=getchar();}while(c'0'||c'6');return(c-'0');}intInput(Personper[],intn){inti=0;charsign,x[10];while(sign!='n'&&sign!='N'){printf(\t编号:);scanf(\t%d,&per[n+i].score);printf(\t姓名:);scanf(\t%s,per[n+i].name);printf(\t年龄:);scanf(\t%s,per[n+i].age);printf(\t电话号码:);scanf(\t%s,per[n+i].num);printf(\t通讯住址:);scanf(\t%s,per[n+i].adds);printf(\t电子邮箱:);11scanf(\t%s,per[n+i].email);gets(x);printf(\n\t是否继续添加?(Y/N));scanf(\t%c,&sign);i++;}return(n+i);}voidDisplay(Personper[],intn){inti;printf(----------------------------------------------------------------------\n);/*格式*/printf(编号姓名年龄电话号码通讯地址电子邮箱\n);printf(----------------------------------------------------------------------\n);for(i=1;in+1;i++){printf(%-5d%-8s%-6s%-13s%-15s%-15s\n,per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);if(i1&&i%10==0){printf(\t-----------------------------------\n);printf(\t);system(pause);printf(\t-----------------------------------\n);}}printf(----------------------------------------------------------------------\n);system(pause);}intDelete_a_record(Personper[],intn){chars[20];inti=0,j;printf(\t请输入想删除记录中的名字:);scanf(%s,s);while(strcmp(per[i].name,s)!=0&&in)i++;if(i==n)12{printf(\t通讯录中没有此人!\n);return(n);}for(j=i;jn-1;j++){strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;}printf(\t\t\t已经成功删除!\n);return(n-1);}voidQuery_a_record(Personper[],intn){intm;printf(\t\n请选择查询方式:\n);printf(\t┌──────┐\n);printf(\t│1------姓名│\n);printf(\t│2------电话│\n);printf(\t│3------地址│\n);printf(\t│4------返回│\n);printf(\t└──────┘\n);printf(请选择:);scanf(%d,&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf(输入错误,请重新选择:);scanf(%d,&m);}if(m==1){chars[20];inti=0;printf(\t请输入想查询的姓名:);scanf(\t%s,s);while(strcmp(per[i].name,s)!=0&&in)i++;if(i==n)13{printf(\t通讯录中没有此人!\n);return;}printf(\t此人编号:%d\n,per[i
本文标题:c语言课程设计 实验设备管理系统
链接地址:https://www.777doc.com/doc-3422191 .html