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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《通讯录管理系统c语言》实训报告含代码文档格式.docx

1、3、根据所选菜单编写相应代码:1)主函数main():根据选单的选项调用各函数,并完成相应的功能。2)菜单函数menu():显示提示选单。3) 新增函数add():在通讯录结构体总追加入新的通讯录信息,并返回选单。4) 查找函数find():查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。5) 修改函数alter():修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。6) 删除函数Delete():删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。7) 显示函数list():显示通讯

2、录中的所有记录。8) 导入函数input():能从指定的文件中读入通讯录的信息.9) 导出函数output的:能将通讯录的信息写入指定的文件中10)退出函数 quit():退出选单。11)名字查找函数Find():作为查找,输入修改,删除时调用的名字查找函数,判断是否存在要查找的记录,若存在则返回0,不存在则返回其他值。12)电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查找函数Find_type()与名字查找函数功能一致。图4通讯录管理系统模块图部分模块流程图1)新增模块 Y N N Y Y2)删除模块 N 3 程序代码设计 (1).菜单模块1)函数原形:void

3、 menu()2)功 能:使用printf()语句输出主菜单提示。4)说明:每次执行完其他函数都调用菜单函数,使其返回主菜单,重新选择功能。(2).新增模块void add()使用printf()、scnaf()、getchar()、while()、if()语句输出选项提示,并逐一输入通讯录全部信息(姓名、电话号码、QQ、类别)到结构体中。利用while()进行重复输入,getchar()进行退出。同时利用名字查找函数Find()对输入信息进行是否重复的判断。3)变量及类型: struct student stud:定义一个结构体变量,从第一次以后输入的数据放入其中,进行数据判断后才放入结构体

4、数组中。 4)说明:执行完输入函数后,会在键盘缓冲区中保存回车键,后面再对字符型变量赋值时,会将缓冲区中的回车键当成数据存入变量中,所以要在某些输入语句后面加getchar()函数。3). 查找模块void find()利用while()重复查找功能,getchar()进行退出循环。switch(),getchar()进行按姓名、电话号码、QQ等查找方式的选择。按照相应的选择方式调用名字查找函数Find(),电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查找函数Find_type()。 char s20:选择查找方式后将姓名、电话、QQ等放入其中再调用查找函数。ch

5、ar ch:对查找方式进行选择。char ch1:对退出查找进行选择。(4). 修改模块void alter()用if-else作处理。调用名字查找函数Find(),如果无该查找记录则提示且退出修改函数。反之利用switch()修改的选择1.覆盖修改(重新输入全部信息),2.部分修改,当选择2时提供姓名、电话号码、QQ、类别四个修改选项,且利用while()进行多项修改。 char,s20:char,ch:选择2 部分修改时,当选择提供姓名、电话号码、QQ、类别四个修改选项char ch1:控制退出switch()。char ch2:控制退出while()。(5). 删除模块void Dele

6、te()调用名字查找函数Find()判断数据的重复性,while()进行多次操作。对数据姓名、电话、QQ等放入其中再调用查找函数。控制退出while()(6).显示模块void list()for,printf显示去全部的通讯录信息。(7).导出模块void output()将内存中的数据导出到文件中。 FILE *fp:进行文件指针操作。(8).导入模块1)函数原形void input()将文件中的数据导出到中内存。(8).查找返回模块1)函数原形int Find(char s),int Find_num(char s),int Find_qq(char s),int Find_type(c

7、har s)。用于名字,电话号码,QQ,类别查找。 int i:用于for循环。int c:对名字判断后返回值。4 总结1通过本次实训巩固对高级语言程序设计这门课程的教学内容,提高对C语言的基本应用能力2.同时通过本实训课程,训练程序设计的思维能力,提高了分析问题和解决问题的能力,为后续专业课程的学习打下良好的基础。3. 掌握了C 语言程序设计方法,熟悉使用软件开发C语言程序的过程。熟悉C 语言基本数据类型的定义和使用、用户自定义类型的定义和使用。4. 熟悉顺序结构、分支结构和循环结构的设计思想以及代码实现,体会了模块化程序设计的思想。要求各个功能用函数实现5. 问题分析与算法设计的能力进一步

8、提高。参考文献 1 张磊,C语言程序设计(第2版),高等教育出版社,20092,张磊,C语言程序设计实验与实训指导及题解(第2版),高等教育出版社,2009附录:程序清单#include#define M 100static int N=0,I=0;struct student char name20; char num20; char qq20; char type10;stuM;void menu();void add();void find();void alter();void Delete();void list();void input();void output();int qu

9、it();int Find(char );int Find_num(char );int Find_qq(char );int Find_type(char );void main() int op; menu(); while(1) printf(tntt 请选择功能(1-8):); scanf(%d,&op); getchar(); switch(op) case 1: printf(nt1.*新增记录*n add(); break; case 2:nt2.*查找通讯录*n find(); case 3:nt3.*修改通讯录*n alter(); case 4:nt4.*删除通讯录*n D

10、elete(); case 5:nt5.*显示通讯录*n list(); case 6:nt6.*从内存导出文件中n output(); case 7:nt7.*从文件导入内存中n input(); case 8:nt8.*退出n op=quit(); default:t*Not have the function!*n if(op=8) printf(nt感谢您的使用,已退出程序!nt break; else continue; printf(nt=通讯录管理菜单=nt*t1.增加新的记录 *nt*t2.查找通讯录 *nt*t3.修改通讯录 *nt*t4.删除通讯录 *nt*t5.显示全部通

11、讯录 *nt*t6.把通讯录导出到文件 *nt*t7.从文件导入通讯录 *nt*t8.退出 *nt=name);t请输入电话号码: scanf(%s,stuN.num);t请输入QQ号:,stuN.qq);t请输入类别(小学、初中、高中、大学):,stuN.type); N+;nt是否输入下一条(Y)按任意键返回主菜单: if(getchar()=Y|getchar()=y) continue;nt请输入姓名:; if(!Find)nnt发现通讯录中存在该记录,确认新增吗(Y)其它任意键将覆盖: if(getchar()= stuN=stud; N+; else stuI=stud;nt$操作

12、成功!$n stuN=stud; N+; if(getchar()= break;姓名查找 *nt*t2.按电话号码查找 *nt*t3.按QQ查找 *nt*t4.按类别查找 *nt=nnt请输入查找方式(1-4): ch=getchar(); getchar(); switch(ch) case 1: gets(s); if(Find(s) printf(nt$查找失败,请确认是否输入有误或不存在该记录!$n2nt请输入电话号码: if(Find_num(s) 3nt请输入QQ号码: if(Find_qq(s)4nt请输入类别: if(Find_type(s)t*Have not the fu

13、nction!*tnnnt继续查找吗(Y),按任意键返回主菜单: ch1=getchar(); if(ch1=|ch1=盖修改(重新输入全部信息) *nt*t2.部分修改 *nt=nnt请选择修改的方式(1-2): ch=getchar(); switch(ch),stuI.name);,stuI.num);t请输入QQ:,stuI.qq);,stuI.type);nt修改成功! 修改后记录为:ntnt姓名t电话号码tQQtt类别nt%-8s%-16s%-16s%-8s,stuI.name,stuI.num,stuI.qq,stuI.type); case while(1) nt*请选择要修改

14、的项目:nt1.姓名nt2.电话号码:n:nt4.类别:ntnnt请输入要修改的项目(1-4): ch1=getchar(); getchar(); switch(ch1) case printf(nt请输入修改后的姓名: scanf(,s); break; case nt请输入修改后的电话号码:nt请输入修改后的QQ:nt请输入修改后的类别(小学、初中、高中、大学): scanf( nt$修改成功!$nn修改后记录为: printf(nnt继续修改(Y)按任意键返回主菜单: ch2=getchar(); if(ch2=|ch2= continue; break; ame,stui.num,stui.qq,stui.type); c+;nnt-当前记录共有%d条!,i);ame,s)=0) I=i,c=0; if(c1=0)nt查找成功:,stui.name,stui.num,stui.qq,stui.type); c1+; if(c=0) return(c); return(1);int Find_num(char s) int i,c,c1=0; for(i=0;iN;i+) while(1) if(strcmp(stui.num,s)=0) if(c=0)int Find_qq(char s) if(strcmp(stui.qq,s)=0)nt

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

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