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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计通讯录管理系统.docx

1、C语言课程设计通讯录管理系统1.课程设计的目的C语言程序设计课程设计是计算机科学与技术(信息安全、电子商务)专业一门重要的专业技术基础课程,也是一门核心课程。本课程设计的目的是为了配合C语言程序设计课程的开设,使学生能够较熟练地掌握语言的基本内容及程序设计的基本方法与编程技巧,并能够培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机的专业知识打下基础。2设计方案论证21设计思路:【设计思路】根据要求,电话簿数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 【总体设计

2、】图1 系统功能模块图2.2程序设计根据所构想的功能及模块设计出与之相对算法并建立函数来实现系统运行11首先调用函数menu();,该函数主要是利用输出函数printf进行输出2然后用scanf函数获取输入数据。每次输入结束后,系统输出询问是否继续添加的信息,然后执行switch语句,如果返回值是“y”,则继续执行addnewcard()函数添加用户,否则返回主菜单。3进入保存功能后,系统会调用void WritetoText(Person per,int n) 函数 并且提示通讯录管理者关于保存的信息进行记录自动保存。从而便于我们直接查询。图2. 主函数流程图2.3.源程序#define N

3、 50#include#includestruct peoplechar name20; char company50; char num15; char mail20;peopN;void printf_face() printf(nt姓名t单位t电话号码t邮箱n); void printf_one(int i) printf(t%st%st%st%sn,peopi.name,pany,peopi.num,peopi.mail); void printf_n(int n) int j; for(j=0;jnn 1).姓名 2).单位 3).电话号码 4).邮箱 5).所有数据 6).取消并返

4、回); printf(请选择?: bb); scanf(%d,&c); if(c6|c6|c1); do switch(c) case 1: printf(name:); scanf(%s,peopi.name); break; case 2: printf(company:); scanf(%s,pany); break; case 3: printf(number:); scanf(%s,peopi.num); break; case 4: printf(e-mail:); scanf(%s,peopi.mail); break; case 5: input(i); break; case

5、 6: menu(); puts(nNow:n); printf_face(); printf_one(i); printf(n确定?nnt1).是 2).不,重新修改 3).返回不保存 bb); scanf(%d,&w1); while(w1=2); return(w1);void input(int i) printf_face(); printf(t); scanf(%st%st%st%s,peopi.name,pany,peopi.num,peopi.mail); void save(int n) FILE *fp; int i; if(fp=fopen(file,wb)=NULL)

6、printf(nCan not open filen); exit(0); for(i=0;in;i+) if(peopi.name0!=0) if(fwrite(&peopi,sizeof(struct people),1,fp)!=1) printf(file write errorn); fclose(fp);void printf_back() int w; void browse(); void menu(); printf(nnt_.Successful. _nn); printf(What do you want to do?nnt1).浏览所有t2).返回: bb); scan

7、f(%d,&w); if(w=1) browse(); else menu();void main() void menu(); menu();void menu() int n, w1; void enter(); void add(); void modify(); void browse(); void deleter(); void search(); do puts(t*菜单* ); puts(tt*1.新建联系人*); puts(tt*2.添加联系人*); puts(tt*3.修 改*); puts(tt*4.删 除*); puts(tt*5.浏 览*); puts(tt*6.查

8、找*); puts(tt*7.退 出*); puts(nnt*通讯录* ); printf(请选择服务种类(1-7) : bb); scanf(%d,&n); if(n7) w1=1;getchar(); else w1=0; while(w1=1); switch(n) case 1: enter(); break; case 2: add(); break; case 3: modify(); break; case 4: deleter(); break; case 5: browse(); break; case 6: search(); break; case 7: exit(0);

9、 void enter() int i,n; printf(How many people(0-%d)?:,N-1); scanf(%d,&n); printf(请输入数据:n); for(i=0;in;i+) printf(n输入第 %d个记录.n,i+1); input(i); if(i!=0) save(n); printf_back();void add() int i,n,k,t; n=load(); printf(How many people do you want to add(0-%d)?:,N-n-1); scanf(%d,&t); k=n+t; for(i=n;ik;i+

10、) printf(n输入第 %d个记录.n,i-n+1); input(i); save(k); printf_back();void modify() struct people s; int i,n,k,w0=1,w1,w2=0; n=load(); do k=-1; printf_face(); printf_n(n); do printf(nnEnter name that you want to modify!nName:); scanf(%s,s.name); for(i=0;in;i+) if(strcmp(s.name,peopi.name)=0) k=i; s=peopi;

11、if(k=-1) printf(nn没有记录请重新输入!); while(k=-1); printf_face(); printf_one(k); w1=modify_data(k,n); if(w1=1) printf(nt_.Successful _.nn是否继续?nnt1).是 2).保存返回t bb); scanf(%d,&w0); w2=1; else w0=0; if(w2=0) peopk=s; if(w0!=1)&(w2=1) save(n); while(w0=1); menu();void browse() int n; n=load(); printf_face(); p

12、rintf_n(n); printf(t共有 %d 记录.n,n); printf(nPress any key to back.); getchar(); menu();void search() int w0,k,i,n,w1,w2; struct people s; n=load(); do printf(请选择查找类别: 1).姓名 2).电话号码 bb); scanf(%d,&w1); if(w12) printf(输入错误!请重新输入!n); w2=1; while(w2=1); if(w1=1) do k=-1; do printf(nnEnter name that tou w

13、ant to search!nName:); scanf(%s,s.name); for(i=0;in;i+) if(strcmp(s.name,peopi.name)=0) k=i; s=peopi; if(k=-1) printf(nn没有记录请重新输入!); while(k=-1); printf_face(); printf_one(k); printf(nWhat do you want to do?nt1).继续 2).返回菜单 bb); scanf(%d,&w0); while(w0=1); menu(); else do k=-1; do printf(nnEnter numb

14、er that tou want to search!nNum:); scanf(%s,s.num); for(i=0;in;i+) if(strcmp(s.num,peopi.num)=0) k=i; s=peopi; if(k=-1) printf(nn没有记录请重新输入!); while(k=-1); printf_face(); printf_one(k); printf(nWhat do you want to do?nt1).继续 2).返回菜单 bb); scanf(%d,&w0); while(w0=1); menu(); void deleter()struct people

15、 s; int i,n,k,w0,w1; n=load(); do k=-1; printf_face(); printf_n(n); do printf(nnEnter name that you want to delete!nName:); scanf(%s,s.name); for(i=0;in;i+) if(strcmp(s.name,peopi.name)=0) k=i; s=peopi; if(k=-1) printf(nn没有记录请重新输入!); while(k=-1); printf_face(); printf_one(k); printf(n确定?nt1).是 2).返回

16、 bb); scanf(%d,&w0); if(w0=1) peopk.name0=0; save(n); else break; printf(nt_.Successful_.n); printf(What do you want to do?nt1).继续 2).返回 bb); scanf(%d,&w1); while(w1=1); menu()3设计结果与分析在VC+ 6.0环境中输入源程序,在没有提示错误的情况下编译,可以正常运行系统,实现网吧管理.如图3所示界面 执行文件时,会看到如图3所示界面图3 程序主界面输入1显示添加通讯录界面。图4.添加通讯录界面图这一函数实现了对字符串赋值

17、的功能1。系统提示通讯录使用者输入相应信息,。输入2显示显示通讯录界面。图5.显示通讯录界面图这一函数实现了对字符串赋值的功能2。系统提示通讯录使用者输入相应信息,然后用scanf函数获取输入数据。,然后执行switch语句,如果返回值是“y”,则继续执行函数显示,否则返回主菜单。.在主菜单输入3显示删除通讯录界面。图6.选择删除通讯录记录显示图 在主菜单界面输入数字“3”,执行deletecard()函数删除用户。当通讯录执行者输入要删除学生的姓名,系统会搜索数据库并将搜索结果输出。然后征求确认。每次删除成功后系统会询问是否继续删除,然后执行相应操作。在主菜单输入4显示查询通讯录界面。图7.

18、查询通讯录记录界面图这一函数提示通讯录管理人员可以有姓名、电话、地址三种输入方式,调用scanf函数获取输入信息,然后执行if语句,则会显示查询用户信息信息;此外在此操作过程中选择1、2、3、分别可以按照姓名、电话号码、家庭住址进行快速查询。在主菜单输入6显示保存通讯录界面。图9.保存通讯录记录界面图进入保存功能后,系统会调用void WritetoText(Person per,int n) 函数并且提示通讯录管理者关于保存的信息进行记录自动保存。从而便于我们直接查询。 4设计体会通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息

19、与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。5参考文献1、C语言课程设计案例精编 郭翠英 著 中国水利水电出版社2、C语言程序设计教程习题解答与实验指导 王敬华 林萍 张维 著 清华大学出版社3、程序设计题解与上机指导 潭浩强 著 清华大学出版社

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

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