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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、通讯录管理系统c语言实训报告含代码 高级程序设计课程实训报告题 目:通讯录管理系统完 成 人: 专业班级:学 号:指导教师: 2012年 1 月 5 日1 题目与要求 问题提出本人计划编写一个通讯录管理系统。通讯录一般包括通讯者的姓名、电话及类别等信息,用来管理学生基本信息及成绩信息。要求实现通讯者的插入、查询、删除等操作。 本系统涉及的知识点结构、数组、循环、函数、分支、文件操作等。 功能要求1、建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ、类别(小学,初中,高中,大学);2、新增通讯录信息;3、根据姓名,电话号码,QQ等查找该通讯者的信息并输出;4、输入通讯者的姓名,进行查找并

2、修改信息,若不存在该通讯者,则提示说明;5、根据姓名删除指定信息;6、显示全部的通讯者信息;7、能够将输入信息导出文件,同时能把文件导入到内存中;8、退出整个系统操作。2 功能设计 算法设计1、利用switch语句设计如图1所示的主菜单:图1 学生信息管理系统主菜单2、菜单选项示例:选择1后,调用新增函数,进入函数后利用printf(),scnaf()语句实现一个如图2所示的输入。图2 排序子菜单选择2后,调用查找函数,进入函数后利用switch语句实现一个如图3所示的菜单,该菜单中每个选项调用一个函数,完成通讯录信息的查找。图3 查找子菜单3、根据所选菜单编写相应代码:1)主函数main()

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

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

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

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

7、名、电话、QQ等放入其中再调用查找函数。char ch:对查找方式进行选择。char ch1:对退出查找进行选择。(4). 修改模块1)函数原形:void alter()2)功 能:用if-else作处理。调用名字查找函数Find(),如果无该查找记录则提示且退出修改函数。反之利用switch()修改的选择1.覆盖修改(重新输入全部信息),2.部分修改,当选择2时提供姓名、电话号码、QQ、类别四个修改选项,且利用while()进行多项修改。3)变量及类型: char,s20:选择查找方式后将姓名、电话、QQ等放入其中再调用查找函数。char,ch:选择2 部分修改时,当选择提供姓名、电话号码、

8、QQ、类别四个修改选项char ch1:控制退出switch()。char ch2:控制退出while()。(5). 删除模块1)函数原形:void Delete()2)功 能:调用名字查找函数Find()判断数据的重复性,while()进行多次操作。3)变量及类型: char s20:对数据姓名、电话、QQ等放入其中再调用查找函数。char ch:控制退出while()char ch1:控制退出while()(6).显示模块1)函数原形:void list()2)功 能:for,printf显示去全部的通讯录信息。3)变量及类型:(7).导出模块1)函数原形:void output()2)功

9、 能:将内存中的数据导出到文件中。3)变量及类型: FILE *fp:进行文件指针操作。(8).导入模块1)函数原形void input()2)功 能:将文件中的数据导出到中内存。3)变量及类型: FILE *fp:进行文件指针操作。(8).查找返回模块1)函数原形int Find(char s),int Find_num(char s),int Find_qq(char s),int Find_type(char s)。2)功 能:用于名字,电话号码,QQ,类别查找。3)变量及类型: int i:用于for循环。int c:对名字判断后返回值。4 总结1通过本次实训巩固对高级语言程序设计这门

10、课程的教学内容,提高对C语言的基本应用能力2.同时通过本实训课程,训练程序设计的思维能力,提高了分析问题和解决问题的能力,为后续专业课程的学习打下良好的基础。3. 掌握了C 语言程序设计方法,熟悉使用软件开发C语言程序的过程。熟悉C 语言基本数据类型的定义和使用、用户自定义类型的定义和使用。4. 熟悉顺序结构、分支结构和循环结构的设计思想以及代码实现,体会了模块化程序设计的思想。要求各个功能用函数实现5. 问题分析与算法设计的能力进一步提高。参考文献 1 张磊,C语言程序设计(第2版),高等教育出版社,20092,张磊,C语言程序设计实验与实训指导及题解(第2版),高等教育出版社,2009附录

11、:程序清单#include#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 quit();int Find(char );int Find_num(char );int Find_qq(char );int Find_typ

12、e(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: printf(nt2.*查找通讯录*n); find(); break; case 3: printf(nt3.*修改通讯录*n); alter(); break; case 4: printf(nt4.*删除通讯录*n); Delete(); break; case 5: pr

13、intf(nt5.*显示通讯录*n); list(); break; case 6: printf(nt6.*从内存导出文件中n); output(); break; case 7: printf(nt7.*从文件导入内存中n); input(); break; break; case 8: printf(nt8.*退出n); op=quit(); break; default: printf(t*Not have the function!*n); break; if(op=8) printf(nt感谢您的使用,已退出程序!nt); break; else continue; void me

14、nu() printf(n); printf(t=通讯录管理菜单=n); printf(t*t1.增加新的记录 *n); printf(t*t2.查找通讯录 *n); printf(t*t3.修改通讯录 *n); printf(t*t4.删除通讯录 *n); printf(t*t5.显示全部通讯录 *n); printf(t*t6.把通讯录导出到文件 *n); printf(t*t7.从文件导入通讯录 *n); printf(t*t8.退出 *n); printf(t=n);ame); printf(t请输入电话号码:); scanf(%s,stuN.num); printf(t请输入QQ号:

15、); scanf(%s,stuN.qq); printf(t请输入类别(小学、初中、高中、大学):); scanf(%s,stuN.type); N+; printf(nt是否输入下一条(Y)按任意键返回主菜单:); if(getchar()=Y|getchar()=y) continue; break; printf(nt请输入姓名:); scanf(%s,&; printf(t请输入电话号码:); scanf(%s,&; printf(t请输入QQ号:); scanf(%s,&; printf(t请输入类别(小学、初中、高中、大学):); scanf(%s,&; if(!Find) pri

16、ntf(nnt发现通讯录中存在该记录,确认新增吗(Y)其它任意键将覆盖:); if(getchar()=Y|getchar()=y) stuN=stud; N+; else stuI=stud; printf(nt$操作成功!$n); else stuN=stud; N+; printf(nt是否输入下一条(Y)按任意键返回主菜单:); if(getchar()=Y|getchar()=y) continue; break; menu();姓名查找 *); printf(nt*t2.按电话号码查找 *); printf(nt*t3.按QQ查找 *); printf(nt*t4.按类别查找 *)

17、; printf(nt=n); printf(nt请输入查找方式(1-4):); ch=getchar(); getchar(); switch(ch) case 1: printf(nt请输入姓名:); gets(s); if(Find(s) printf(nt$查找失败,请确认是否输入有误或不存在该记录!$n); break; case 2: printf(nt请输入电话号码:); gets(s); if(Find_num(s) printf(nt$查找失败,请确认是否输入有误或不存在该记录!$n); break; case 3: printf(nt请输入QQ号码:); gets(s);

18、if(Find_qq(s) printf(nt$查找失败,请确认是否输入有误或不存在该记录!$n); break; case 4: printf(nt请输入类别:); gets(s); if(Find_type(s) printf(nt$查找失败,请确认是否输入有误或不存在该记录!$n); break; default: printf(t*Have not the function!*); printf(tn); break; printf(nnt继续查找吗(Y),按任意键返回主菜单:); ch1=getchar(); getchar(); if(ch1=Y|ch1=y) continue;

19、break; menu();盖修改(重新输入全部信息) *); printf(nt*t2.部分修改 *); printf(nt=n); printf(nt请选择修改的方式(1-2):); ch=getchar(); getchar(); switch(ch) case 1: printf(nt请输入姓名:); scanf(%s,stuI.name); printf(t请输入电话号码:); scanf(%s,stuI.num); printf(t请输入QQ:); scanf(%s,stuI.qq); printf(t请输入类别(小学、初中、高中、大学):); scanf(%s,stuI.type

20、); printf(nt修改成功! 修改后记录为:n); printf(nt); printf(nt姓名t电话号码tQQtt类别); printf(nt%-8s%-16s%-16s%-8s,stuI.name,stuI.num,stuI.qq,stuI.type); break; case 2: while(1) printf(nt*请选择要修改的项目:*); printf(nt1.姓名); printf(nt2.电话号码:); printf(n:); printf(nt4.类别:); printf(ntn); printf(nt请输入要修改的项目(1-4):); ch1=getchar();

21、 getchar(); switch(ch1) case 1: printf(nt请输入修改后的姓名:); scanf(%s,s); break; case 2: printf(nt请输入修改后的电话号码:); scanf(%s,stuI.num); break; case 3: printf(nt请输入修改后的QQ:); scanf(%s,stuI.qq); break; case 4: printf(nt请输入修改后的类别(小学、初中、高中、大学):); scanf(%s,stuI.type); break; getchar(); printf(nt$修改成功!$nn修改后记录为:); p

22、rintf(nt); printf(nt姓名t电话号码tQQtt类别); printf(nt%-8s%-16s%-16s%-8s,stuI.name,stuI.num,stuI.qq,stuI.type); printf(nnt继续修改(Y)按任意键返回主菜单:); ch2=getchar(); getchar(); if(ch2=Y|ch2=y) continue; break; break; default: printf(t*Not have the function!*n); break; menu();ame,stui.num,stui.qq,stui.type); c+; prin

23、tf(nnt-当前记录共有%d条!n,i); menu();ame,s)=0) I=i,c=0; if(c1=0) printf(nt查找成功:); printf(nt姓名t电话号码tQQtt类别); printf(nt); printf(nt%-8s%-16s%-16s%-8s,stui.name,stui.num,stui.qq,stui.type); c1+; break; else break; if(c=0) return(c); else return(1);int Find_num(char s) int i,c,c1=0; for(i=0;iN;i+) while(1) if(

24、strcmp(stui.num,s)=0) I=i,c=0; if(c1=0) printf(nt查找成功:); printf(nt姓名t电话号码tQQtt类别); printf(nt); printf(nt%-8s%-16s%-16s%-8s,stui.name,stui.num,stui.qq,stui.type); c1+; break; break; if(c=0) return(c); else return(1);int Find_qq(char s) int i,c,c1=0; for(i=0;iN;i+) while(1) if(strcmp(stui.qq,s)=0) I=i,c=0; if(c1=0) printf(nt查找成功:); printf(nt姓名t电话号码tQQtt类别); printf(nt

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

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