ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:469.97KB ,
资源ID:29658575      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29658575.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言通讯录设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言通讯录设计.docx

1、C语言通讯录设计C语言程序设计课程设计报告信息通讯录 一:设计目的1.掌握结构化程序设计的基本思想;2.熟练掌握结构及数组的设计和应用;3.了解综合系统设计的基本原理;4.提高C语言程序设计的综合应用能力。二:基本数据结构设计一:程序功能简介1.实现通讯录系统中,添加新记录、删除记录、显示记录信息、按名字查找信息和退出系统等功能。2.实现录入人员的编号、姓名、个人邮箱、地址、联系电话。因此采取结构体来实现这些功能。如下:/* 定义通讯录 */ typedef struct char numN; char name20; char tele15; char add20;char emal15;三

2、:系统结构设计本系统设计的函数是由一个主函数几个子函数组成的。系统结构设计说明了整个系统的功能模块结构以及调用关系,本设计采用自顶向下的结构化方法,将每个模块自顶向下展开。系统功能模块图如图1所示: 模块设计:1. 主控模块在该模块中,提供系统主菜单,用户通过主菜单实现添加新记录、删除记录、显示记录信息、按名字查找信息和退出系统等功能。 2.菜单模块提供用户可选择的项目,用户可以通过选择该项前的代码来实现想要实现的功能,其流程图如图3所示: 3.输入通讯录模块将结构体数组分成几个数组分别对每个数组赋值,用for循环对不同地址的数组分别赋值。其流程图如图4所示:4.显示通讯录模块显示通讯录通过循

3、环函数将全部的通讯录信息以此显示出来,其流程图如图5所示: 5.find函数模块find函数通过输入姓名与原通讯录中存储的姓名,两字符串的比较,找到与输入姓名相同的姓名的位置,其流程图如图6所示:6.删除通讯录模块删除通讯录通过数组中该位置之后的数据存放位置向前移一位来实现删除功能,其流程图如图7所示:7.查找通讯录模块查找通讯录通过find函数找到所查通讯录的位置,再将该位置的通讯录信息显示出来,其流程图如图8所示: 假真假真图8 查找函数流程图8.修改通讯录模块修改通讯录通过find函数找到所要修改通讯录位置,显示出信息,确认修改后,即可逐项修改,其流程图如图9所示: 9.添加通讯录模块在

4、存储未满的情况下,用find函数找到要添加的位置后即可逐项添加通讯录信息,其流程图如图10所示: 10.退出通讯录模块在使用完通讯录后,按6键便会退出系统,其流程图如图11所示: 四:测试结果进入系统后,系统会出现图12所示菜单 图12输入0可进行输入联系人,按1可显示全部通讯录内容,如图13所示 图13在主菜单中输入3后,输入要找的姓名。在系统没有要找信息时,系统会给出提示,确认用户是否继续查找,如图14所示: 图14在确认修改后,按系统提示依次修改便可修改在确认修改并输入修改后信息以后,系统便能按用户意愿修改的通讯录信息,如图15所示: 图15在主菜单中输入2后输入要删除的姓名,再按1键确

5、定,系统便自动删除要删除的通讯录信息,如图15所示:图15在主菜单中按6键,便可退出系统,如图16所示: 图16五:设计体会紧紧张张的一个学期即将过去,从刚开始的不只如何下手到最后看到自己的程序按自己的想法运行,心里时不时的有一种喜悦。通过这几天的实习,我认识到书上和老师教的内容是有限的,要想掌握更多的知识我们必须多动脑,多思考,不断地靠自己去学习,同时我们还应向他人请教,从而了解更多自己不知道的知识。回头看来,编写这个程序并不像原来想像的那么难,我们要相信自己,无论做什么事,只要我们仔细的思考了,认真的去做了,我们就一定能做好。通过这周的编程我发现了自己的一些不足,在编写时经常犯一些低级错误

6、,由于自己的马虎而浪费了不少时间。在不知如何进行的时候有一种不自信,总想别人正在做什么,这些不足既然被发现就得在以后的做事中注意,争取改掉。经过一周的努力我掌握了一些基本的C语言进行程序设计的技巧,更深的理解和运用结构化程序设计的思想和方法,掌握开发一个小型实用系统的基本方法,同时学会了一些调试一个较长程序的基本方法,提高了书写程序设计开发文档的能力(书写课程设计报告)。这一周的实践让我受益匪浅,在此我要感谢孜孜不倦指导我们的老师,感谢在我困惑时给我帮助的同学,感谢学校给我们一个这样动手动脑的机会,使我们在理论与实践相结合方面又得到了一次很好的锻炼,让我们得到很大的收获。六:附录#includ

7、e#include#define N 80/* 定义通讯录 */typedef struct char numN;char name20; char tele15; char add20;char emal15; STUDENT;STUDENT stuN ;int menu();int shuru(STUDENT stuN);void xianshi(STUDENT stu,int n);int shanchu(STUDENT stu,int n);void chazhao(STUDENT stu,int n);void xiugai(STUDENT stu,int n);int tianji

8、a(STUDENT stu,int n);int tuichu();/* 主函数 */int main()int length,m=0; while(m=0)switch (menu()case 0:length=shuru(stu);break;case 1: xianshi(stu,length);break;case 2:length=shanchu(stu,length);break;case 3:chazhao(stu,length);break;case 4:xiugai(stu,length);break;case 5:length=tianjia(stu,length);bre

9、ak;case 6:m=tuichu();break;default:printf(输入错误,请重新输入n); /* 主菜单 */int menu()int m; printf( 欢迎使用通讯录管理系统 n);printf( 主菜单 n);printf(ttt 0.输入通讯录n);printf(ttt 1.显示通讯录n);printf(ttt 2.删除通讯录n);printf(ttt 3.查找通讯录n);printf(ttt 4.修改通讯录n);printf(ttt 5.添加通讯录n);printf(ttt 6.退出通讯录n);do printf(ttt 请输入选项0-6n);scanf(%d

10、,&m);while(m6);return m;/* 输入通讯录 */ int shuru(STUDENT stuN) int i,n; printf(n请输入要加入通讯录的数目 n); scanf(%d,&n); printf(请输入信息 n); for(i=0;in;i+) printf(请输入编号:n); scanf(%s,stui.num); printf(n请输入姓名:n); scanf(%s,stui.name); printf(n请输入电话:n); scanf(%s,stui.tele); printf( n请输入地址:n); scanf(%s,stui.add); printf

11、( n请输入emal:n); scanf(%s,stui.emal); printf(编号:%sn姓名:%sn电话:%sn地址:%snemal:%sn,stui.num,stui.name,stui.tele,stui.add,stui.emal); return n; /* 显示通讯录 */void xianshi(STUDENT stu,int n)int i;for(i=0;i=n-1;i+)printf(编号:%sn姓名:%sn电话:%sn地址:%snemal:%sn,stui.num,stui.name,stui.tele,stui.add,stui.emal); /* 查找函数 *

12、/ int find(STUDENT stu,int n) int i;char s20; printf(请输入的姓名n); scanf(%s,s); for(i=0;in-1) printf(没有找到要删除的记录,是否重新输入1/0n); scanf(%d,&ch);if(ch=1)n=shanchu(stu,n); else printf(编号:%sn姓名:%sn电话:%sn地址:%snemal:%sn,stui.num,stui.name,stui.tele,stui.add,stui.emal); printf(是否确定要删除:%d是%2d否n,1,0); scanf(%d,&ch);

13、 if(ch=1) for(j=i+1;jn-1) printf(没有找到要查找的记录,是否重新输入1/0n); scanf(%d,&ch);if(ch=1)chazhao(stu,n); else printf(编号:%sn姓名:%sn电话:%sn地址:%snemal:%sn,stui.num,stui.name,stui.tele,stui.add,stui.emal);/* 修改通讯录 */void xiugai(STUDENT stu,int n) int i,ch; i=find(stu,n); if(in-1) printf(没有找到要修改的记录,是否重新输入1/0n); scan

14、f(%d,&ch);if(ch=1)xiugai(stu,n); else printf(编号:%sn姓名:%sn电话:%sn地址:%snemal:%sn,stui.num,stui.name,stui.tele,stui.add,stui.emal); printf(是否确定要修改:%d是%2d否n,1,0); scanf(%d,&ch); if(ch=1) printf(编号:n); scanf(%s,stui.num); printf(n姓名n:); scanf(%s,stui.name); printf( n电话:n); scanf(%s,stui.tele); printf( n地址

15、:n); scanf(%s,stui.add); printf( nnemal:n); scanf(%s,stui.emal); printf( 修改成功!n);/* 添加通讯录 */ int tianjia(STUDENT stu,int n) int i,j; if(N=i;j-) strcpy(stuj+1.name,stuj.name); strcpy(stuj+1.tele,stuj.tele); strcpy(stuj+1.add,stuj.add); strcpy(stuj+1.emal,stuj.emal); printf(请输入要插入的信息:n); printf(编号:n); scanf(%s,stui.num); printf(n请输入姓名:n); scanf(%s,stui.name); printf( n请输入电话:n); scanf(%s,stui.tele); printf( n请输入地址:n); scanf(%s,stui.add); printf( n请输入emal:n); scanf(%s,stui.emal); printf(添加成功!n); n+; return n; /* 退出通讯录 */ int tuichu()int n;n=-1;printf( 谢谢使用 );return n;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1