




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/ 一一 4涮幵1叹/久孑高级语言课程设计任务书及说明书设计题目电话簿管理系统学 院计算机与通信学院 专业、年级通信工程1班学 生杨智刚学 号1416530101指导教师 时 间2015年春季学期1摘要32前言43正文53.1系统分析3.2系统总体设计3.3详细设计3.4系统测试4参考文献165总结17附录:程序源代码1摘要本次课程设计采用c语言,开发了一个基本的电话簿管理系统,该系统具备 了按联系人姓名查找并输出联系人信息,按联系人姓名查找并删除数据,输出全 部联系人信息数据,对联系人的管理也可以更加方便快捷。关键词:c语言;课程设计;电话簿管理系统2前言随着交际能力的广泛性的提高,朋友的数
2、量逐渐增多,但是在联系人管理方 而总是出现联系人姓名、年龄等岀现错误的诸多问题。本文针对上述问题,采用 软件工程的开发原理,根据软件流程过程规范,按照需求分析、概要设计、详细 设计、程序编码、测试、软件应用、软件维护等过程开发了一个电话簿管理系统。 采用c语言作为开发工具,设计了这个电话簿管理系统,解决了联系人信息管理 中存在的数据安全性、数据一致性等问题。3、正文3.1系统分析3.3.1.设计要求该设计耍求以方便查找和管理联系人为背景,设计、开发一套“电话簿管理 系统”软件。通过该题目的设计过程,可以培养学生结构化程序设让的思想,加深对高级 语言基木语言要素和控制结构的理解,针对c语言屮的重
3、点和难点内容进行训 练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到 软件工程的综合训练,捉高解决实际问题的能力。3.3.2设计任务1、以电话簿管理业务为背景,通过调研、分析现有的管理模式和己有的管 理软件,建立系统模型;2、完成软件结构设计和算法设计;3、完成系统的软件开发和测试工作联系人信息包括:姓名,年龄,性别,电话等。设计“电话簿管理系统”, 使之能提供以下功能:1. 系统以菜单方式工作;2. 联系人信息录入功能;3. 联系人信息浏览功能;4. 查询功能:按姓名查询;5. 联系人信息的删除与修改。3.2系统总体设计一.流程图二总体数据结构本系统采用结构体为主要数据
4、结构,将联系人信息,包括:姓名,年龄,性/*姓名*/*年龄*/*性别*/*联系电话*/别,电话以结构体的形式存储在计算机屮,并建立结构体数组 /*手机通讯录结构定义*/struct friends_listchar name10;int age;char sex 5;char tel ephone13;3.3详细设计(1)函数及参数说明 函数名new friend 函数原型insert () 函数功能函数原型添加一组新数据并返回欢迎界面杳看选项 参数说明:无参数要求 函数名 search friend 函数原型 searchname ()函数功能按姓名舌找并返回欢迎界面查看选项 参数说明:无参
5、数要求 函数名 update_friend函数原型 update number ()函数功能修改联萦人信息并返冋欢迎界面查看选项 参数说明:无参数要求函数名 dclctc_fricnd函数原型delete ()函数功能按姓名查找并删除数据并返冋欢迎界面查看选项 参数说明:无参数要求函数名 show friend 函数功能显糸所有联系人并返回欢迎界面杳看选项 参数说明:无参数要求(2 )模块说明模块一void new_friend (struct friends list friends) " " struct fricnds_listf ;if (count = 50)pr
6、intf (z,通讯录已满!n);return;printf ("请输入新联系人的姓名:“); scanf (“s,f. name);printfc请输入新联系人的年龄:); scanf&f. age);printfc请输入新联系人的性别:); scanf ("%s", f. sex);printf c请输入新联系人的联系电话:); seanf (s,f. telephone);printf (rt); friendscount = f;count+;模块二void scarch_fricnd(struct fricnds_list fricnds , c
7、har *namc) int i, flag = 0;if (count = 0) printfc通讯录是空的!nz,);rcturn;for(i = 0; i < count; i+)if (strcmp(name, friendsi. name)二二 0)/* 找到联系人*/flag=l;break;if (flag)printf (,z姓名:st", friendsi. name);printf (,z年龄:%dt, friendsi. age); printf c性别:%st, friendsi. sex); printf (电话:%sn,friendsi. telep
8、hone);else printf (,z无此联系人! rt);printf (rt);模块三void updatc_fricnd(struct fricnds_list fricnds , char *namc) int i, flag = 0;if (count = 0)printf (,z没有查询到!n);rcturn;for(i = 0; i < count; i+)/*找到联系人*/if(strcmp(name, )二二 0)flag=l; break; if (flag) printfc请输入年龄:); scanf&friendsti age
9、);printfc请输入新联系人的性别:);scemf (s,friendsi. sex);printfc请输入电话号码:);scanf("%s", friendsi telephone);elseprintfc无此联系人!n);printf(z,n,z);模块四void deletefriend(struct friendslist friends , char *name) int i, j, flag 二 0;if (count = 0)printf (没有查询到! rt);return;for(i = 0; i < count; i+)if (strcmp(n
10、ame, friendsi. name) = 0)/* 找到联系人*/flag=l;break;if (flag)for (j=i;j<count-l;j+)fri endsj=fri endsj+1; flag=0;count-;el seprintf (,z无此联系人! n);printf("n");模块五void show friend(struct friends list friends , char *name) "int i;printfc姓名年龄 性别 电话号码);for (i=0;i<count;i+)printf (n); prin
11、tf (%23s,friendsi. name);printf(%6d, friendsi. age); printf ("%lls", fricndsi sex);printf (z,%22snz,, friendsi telephone);模块六int m3in(void) int choice; char name10;struct friends list friends50 ;/* 包含 50 个人的通讯录 */doprintfc printf cprintf(,z欢迎使用手机通讯录); 、 jprintfr1新建(insert)4删除(delete) nn,z)
12、;printf (“2查询(search)5显示(show) nn,/);printf (,z3修改(update)0退出(exit) nn,z);printf(* 请选择功能seanf(%d, &choice); printf(n);switch(choice)case 1:new_friend(friends) ;break;case 2: printfc请输入要杳找的联系人名:); scanf ("%s", name);searchfriend(friends, name); break;case 3:printfc请输入要修改的联系人名:); scanf (
13、"%s", name);update_friend (friends, name);break;case 4: printf (请输入要删除的联系人名:); scanf (s,name);deletefriend(friends, name); break;通讯录联系好case 5: printf(“友:n); printf(n);show friend(friends, name); break;case 0: break;while(choice != 0);printf (z,谢谢使用通讯录功能! n); return 0;3.4系统测试1.欢迎界面欢迎使用手机通讯录
14、1新建4册 | 除(delete2查询search5屁tpxshoi”3修改 <update>0退岀 <exit>*)青 诜扌伞 功| 百 p2.录入联系人信息运行结果姓年性联 的的 人人人人 系系系系 联联联联 drnep ep hun 入入入入 厶 刖 主冃青青青 、tk % ik、tk、ik杨智刚20迎使用手机通讯录1 新建 < i nsert >2 查询search3 修改update4 删除6 let 85 显 tpxsho 讨0退岀 <exit>3杰 8 皙男命1 hjhs-"! ps别糸 姓年性联
15、 的 人人人人 系系系系 秩秩联秩 新新新新 入入入入 厶 刖欢迎使用手机通讯录vz2 yvz 2 y222vz1 新建insert4删除 <deld2 查询seafch5显不(show3 修改(update >0退岀 <exit >姓年性联 人人人人 系系系系新 入入入入 青青青青 i f i f i p i f滇卓昊:18迎使用手机通讯录1 新建 < insert >4删除de lete >2 查询 <se“ch5显tpxshow3 修改 < u pdat e >0退岀 < ex it3联系人信息修
16、改运行结果通讯录联系好友:5ttscsjww)0退岀 <exit>3修改 <update欢迎使用手机通讯录xxxxxxxxxxxxxxxxxxxxxxxxxxxxxinser t4册| 除 <de1e te主冃青青青4 ik f ik 4曹仝養修貝的联系人名=杨智刚 黑繼簾欲的性别:男 输入电话号码名年龄性别电话号码杨智刚19凌杰19卓昊18男137337013274联系人信息查询运行结果:就鐸聲的联系人名:张杰欢迎使用手机通讯录xxxxxxxxxxxxxxxxxxxxxxxxxxxxxins
17、ert >4删除 cdelete>2 查询 <seaich3 修改"pdate5显 7jsho 讨0退岀(exitxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)(请选扌睪功目exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2询鑽入翠耋巒的联參名:张凌杰醴:张凌杰 年龄:19性别:男电话wxjocxxxy xjcxxxxxjcxxicxxicxxxy1 新建i nsei*t4册!j 除de lete2 查询(search>5显 7j<show>3 修改 <update&g
18、t;0退岀 <exit>5. 删除运行结果:嶷蘇辔的联系人各张杰欢迎使用手机通讯录inser t4册| 除de lete3修改 <u pda te0退岀 <exit>kxxxxxxxxxxxxicmxxxxxxxxxxmxxxxxxxi青选扌睪功肓 £ x x x x x x 其 x x 其 x x xx x 其 x 其 x x x xx x 其其其 x x x xx x x x x4b青输入要删除的联系人名:张凌杰欢迎使用手机通讯录xxmxxxxxxxxxxxxxxxxxxxxxxxxxxinsert >4册| 除de lete3修改 <u
19、pdate>1(*><*)<)()()<)()(只><*)()()()<)()<*><讥)()<)()<)<*><)()<1青1先 扌睪功 育£ 5通讯录联系好友:姓名年龄性别电话号码杨智刚19卓昊18男137337013276. 联系人显示运行结果:通讯录联系好友=姓名年龄性别电话号码杨智刚19凌杰19卓昊18 locxxxiocxxxxxxxxxxxxxxxxxxxxxiocx
20、xxxxic欢迎使用手机通讯录1 新建 < i nsert >4删除 <de lete >2 查询 csearch>5显不show3 修改 cupdate >0退岀(exit >4参考文献(1)c语言程序设计,谭浩强,清华大学出版社,2010(2)c程序设计题解与上机指导,谭浩强,清华大学出版社,2010(3)c语言程序设计(第二版),何钦铭,颜晖,高等教育出版社,20125程序设计总结结束语:通过这几天来对这个c课程的设计,使我们充分体会到了编程给我们带来的 乐趣,其中我们也会遇到编译错误,有时也会令程序无法运行,但我们没有放乔, 而是几个人一起讨论
21、,仔细查找造成问题的原因。既锻炼了我们的思维能力,冇 培养了我们的意志和毅力,使我们对c语言编程方面的能力得到了提高,而这 些是我们在课本上所学不到的!当然,在这次课程设计中也暴霜出我们的一些不 足,比如编程时想当然,一些我们表面上看似成立的程序,实际上却可能根本无 法运行,只有实际用c语言编译环境中运行一下才知道程序中存在的问题。这 都是我们没有养成良好的编程习惯所造成的,毕竟我们才刚刚开始学习编程,以 后的路还很长致谢感谢老师的悉心指导附录程序源代码 #includc<stdio.h> #include<string.h>/*手机通讯录结构定义*/ struct f
22、riends_listchar name10;int age;char sex5;char telephone13; ;/*姓名*/*年龄*/*性别*/*联系电话*/int count = 0;/*全局变量记录当前联系人总数*/void new_friend(struct friends_list friends);void search_friend(struct friends_list friends,char *name);void update_friend(struct friends_list friends,char name);void dclctc_fricnd(struc
23、t fricnds_list friends lchar namc);void show_friend(struet friends_list friends , char *rmme);int main(void)int choice; char name10;struct friends_list friends50 ;/* 包含 50 个人的通讯录 */doprintf (“printf (“ printf(,z欢迎使用手机通讯录n);printf (“(delete) nn,z);1新建(insert)4-删除5显示0退出 择功能通讯录联系好printf (,z2查询(search)(
24、show) nnz,);printf (,z3修改(update)(exit) nn,z);printf(* 请 iscanf (,%d,/, &choice);printf (n);switch (choice)case 1:new_friend(fri ends);break;case 2:printf (请输入要查找的联系人名:); scanf ("%s", name);scarch_fricnd(fricnds, name);break;case 3:printf c请输入要修改的联系人名:); scanf ("%s", name);up
25、datc_fricnd(fricnds, namc); break;case 4:printf c请输入要删除的联系人名:); scanf ("%s", name);delctc_fricnd(fricnds, namc); break;case 5:printfc友:n); printf(n);show_fricnd(fricnds, namc); break;case 0: break;whilc(choicc != 0);printfc谢谢使用通讯录功能!n);return 0;i/*新建联系人*/void ncw_fricnd(struct fricnds_list
26、 fricnds)struct friendslistf ;if (count = 50)printf (,z通讯录已满! n);return;iprintf (请输入新联系人的姓名:);scanf (“s", f. name);printfc请输入新联系人的年龄:); scanf (,%d,/, &f. age);printfc请输入新联系人的性别:);scanf (s,f. sex);printfc请输入新联系人的联系电话:); scanf ("%s", f telephone);printf (n);friendscount二 f;count+;/*
27、杳询联系人*/void search friend(struct friends list friends , char *name) int i, flag = 0;if (count = 0)printfc通讯录是空的!nz,);return;ifor(i = 0; i < count; i+)if (strcmp(name, friendsi. name) = 0)/* 找到联系人*/flag=l;break;if (flag)printf (姓名:%st, friends i. name);printf c年龄:%dt, friendsi. age);printf c性别:%st,friendsi. sex);printf ("电话:sn,fricndsi tclcphonc);)elseprintf (,z无此联系人! rt);printf (rt);丿1/*修改联系人*/void updatefriend(struct friendslist friends , char *name) int i, flag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 修缮宗祠工程合同范例
- 体育俱乐部务工合同范例
- 交易房租合同范例
- 仪器租用合同范例
- 冰箱陈列协议合同范例
- 不保证转让合同范例
- 冰柜移机合同范例
- 低空厂房装修合同范例
- 农村拆除设备合同范例
- 体育器材合同范例
- 心衰患者的容量管理
- 综合性学习(复习指导)【部编版七下语文期中 期末专题复习】一等奖创新教案
- 2023年安徽省公务员录用考试《行测》真题及答案解析
- 简历制作完整版
- 纵向受拉钢筋搭接长度一览表
- 波峰焊接作业指导书
- 中国养老房地产的政府优惠政策
- GB/T 4336-2016碳素钢和中低合金钢多元素含量的测定火花放电原子发射光谱法(常规法)
- GB/T 15972.47-2008光纤试验方法规范第47部分:传输特性和光学特性的测量方法和试验程序-宏弯损耗
- 变频空调电控,常见零部件工作原理
- 电工电子学半导体二极管课件
评论
0/150
提交评论