




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 报 告课程名称 c语言课程设计 课题名称 通讯录管理系统 专 业 材料成型及控制工程 班 级 材料0904班 学 号 姓 名 指导教师 2010年12月24 日湖南工程学院课 程 设 计 任 务 书课程名称 c语言课程设计 课 题 通讯录管理系统 专业班级 学生姓名 学 号 指导老师 任务书下达日期 年 月 日任务完成日期 年 月 日c语言课程设计任务书设计课题3:通讯录管理系统问题描述:通讯录管理系统主要管理用户通讯录的基本信息。在系统中,每个用户是一条记录,包括姓名、电话号码、通讯地址。系统要对一个有n个用户的通讯录统一进行管理。包括了用户信息的录入、显示、修改、查询等操作
2、。1、 功能设计要求:1)本系统采用结构体数组进行数据存储。用户结构体应该包括用户的基本信息(姓名、电话号码、通讯地址)。2)设计主菜单界面,确定函数个数。设计菜单应包含以下功能: 录入信息(用户基本信息录入) 显示(显示用户基本情况) 修改信息(用户基本信息修改) 查询(查询用户的基本信息) 退出系统3)要求:建立两个结构体数组(或链表、文件),包括至少5个用户的必要信息,能对数据进行补充、修改。执行一个具体的功能之后,程序将重新显示菜单。3、要求:1)用c语言实现系统;2)函数功能要划分好(结构化程序设计);3)界面友好(良好的人机交互),加必要的注释;4)提供程序测试方案。目录一、系统介
3、绍1二、总体设计12.1程序模块12.2.函数分析12.3.总体结构2三主要模块的实现3四程序调试7五总结与体会19六源程序清单20一、 系统介绍1、本系统采用结构体数组进行数据存储,信息包含编号、姓名、电话及通讯地址;2、能够提供添加、浏览和修改通讯录信息的功能;3、能够提供安不同方式查询的功能,可按姓名或电话查询;4、能够按表格方式输出通讯录信息。二、总体设计2.1程序模块本程序主要设计了四个模块,分别是:添加函数:input( )查找函数:search( )修改函数:change( )浏览函数:scan( )2.2.函数分析input( )为输入函数,负责添加通讯录信息;search(
4、)查找函数,对通讯录中的信息进行查找;change( )函数为修改函数,用于修改成员信息;scan( )函数为浏览函数,用于浏览整个通讯录。2.3.总体结构 添加:可以添加通讯录记录,依次输入姓名、电话号码、通讯地址后,会提示是否继续添加。浏览:可以以表格形式输出所有通讯录里的记录查询:可以选择用姓名、电话两种方式查询修改:输入欲修改的那个人的编号后,再依次输入姓名、电话号码、通讯地址即可完成修改。三主要模块的实现1、主函数主函数设计要求简洁,只提供部分提示语和函数的调用2、添加函数为输入函数,负责添加通讯录信息3、浏览函数以表格形式输出所有成员信息4、修改函数用于修改成员信息5、查询函数对通
5、讯录中的信息进6、菜单函数对主要模块进行选择四程序调试1、显示主菜单,用户通过各自要求对系统进行操作,如图2、出现主菜单时输入1,根据提示添加信息,如图3、判断是否继续添加信息,如图4、输入y,根据提示继续添加信息,如图5、判断是否继续添加信息,输入n,返回主菜单,如图6、如果还想添加信息,可以继续输入1,在按要求输入,如图7、判断是否继续添加信息,输入n,返回主菜单,如图8、出现主菜单时输入2,根据要求选择查询方式,如图9、出现查询菜单时输入1,按姓名查找,如图10、输入要查找的姓名,输出查询结果,如图11、按任意键返回主菜单,如图12、出现主菜单时输入2,根据要求选择查询方式,如图13、出
6、现查询菜单时输入2,按电话号码查找,如图14、输入要查找的号码,输出查询结果,如图15、按任意键返回主菜单,如图16、出现主菜单时输入3,以表格形式输入整个通讯录,如图17、按任意键返回主菜单,如图18、出现主菜单时输入4,根据提示修改修改信息,如图19、按任意键返回主菜单,如图20、输入3,再一次浏览通讯录,如图21、按任意键返回主菜单,如图22、出现主菜单时输入0,退出程序,如图五总结与体会这次的程序实设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验。自己动手,自己发现和解决问题。发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上
7、机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对c的操作有了进一步的掌握,还了解到了程序设计的书写风格及其注释的格式。同时学会了运用c语言中的算法思想作数据结构,结合c语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉c语言的基本知识,并掌握数据结构的一些基本算法思想,掌握c语言的文件操作,进一步熟悉指针的用法,数组的建立运用和函数的调用等。 通过这次编程实践活动我还充分认识到学习应该从实践开始 。我把老师给的源程序行了大量修改 ,添加了很多的进阶内容 ,加入了修改和多次添加的模块 。虽然入门尚早 ,但至少看
8、到了门坎 。总体来说是受益匪浅。六源程序清单 #include stdio.h#include string.h#include stdlib.h#includestruct person char name20; char tel20; char add20;p20;char str20;char num20;int m=-1;char x,t;char menu()/*目录*/dosystem(cls);printf(nnnnnnntt=n);printf(tt * 1、添加记录 * 2、查找纪录 *n);printf(tt * 3、浏览纪录 * 4、修改纪录 *n);printf(tt
9、* 0、退 出 *n);printf(tt=n);printf(tt请输入0-4:nttt); x=getchar();while(x!=1&x!=2&x!=3&x!=4&x!=0);return x;void input()/*添加纪录*/int i;char j; system(cls);printf(请输入用户的姓名、电话和地址n); for(i=m+1;i20;i+) scanf(%s %s %s,&,&pi.tel,&pi.add);printf(姓名:%sn电话:%sn地址:%sn,&,&pi.tel,&pi.add);m=i;printf (是否继续(
10、y/n);scanf(%s,&j);if(j=y) printf(请输入用户的姓名、电话和地址n);continue;else break; char search()/*查找纪录*/int flog=0,i;system(cls);printf(nnnnnnnttt=n);printf(ttt t0-返回主菜单tn );printf(ttt t1-按姓名查询tn );printf(ttt t2-按电话查询tn ); printf(ttt=n);printf(ttt请输入0-2:nttt); t=getch(); switch (t) case 0:break; case 1: system(
11、cls); printf(ttt请输入要找的人的姓名:nttt); scanf(%s,str); for(i=0;i=m;i+) if(strcmp(str,)=0) printf(nttt=n); printf(ttt编号 姓名 电话号码 地址 n); printf(ttt-n); printf(ttt%-8d%-11s%-14s%4sn,i+1,,pi.tel,pi.add); printf(ttt-nttt); flog=1; if(flog=0) printf(查无此人!n); getch();break; case 2: system(cls); prin
12、tf(ttt请输入要找的人的电话号码:nttt); scanf(%s,num); for(i=0;i=m;i+) if(strcmp(num,pi.tel)=0) printf(nttt=n); printf(ttt编号 姓名 电话号码 地址 n); printf(ttt-n); printf(ttt%-8d%-11s%-14s%4sn,i+1,,pi.tel,pi.add); printf(ttt-nttt); flog=1; if(flog=0) printf(ttt查无此号!nttt); getch();break; void scan()/*浏览纪录*/ int i; s
13、ystem(cls); printf(nnnnnnttt=n); printf(ttt编号t姓名t电话号码t地址n); printf(ttt-n); for(i=0;i=m;i+) printf(ttt%-8d%-11s%-14s%4sn,i+1,,pi.tel,pi.add); printf(ttt-n); getch();void change()/*修改纪录*/int a;system(cls); printf(请输入需要修改的编号n); scanf(%d,&a); printf(%st%st%sn,,pa-1.tel,pa-1.add);printf(输入修改后%d号的纪录n,a); scanf(%s %s %s,&,&pa-1.tel,&pa-1.add);printf(修改完毕n);printf(%dt%st%st%sn,a,,pa-1.tel,pa-1.add);getch(); void main()/*主函数*/while(1)switch(menu()case 1 :input();break;case 2: search();break;c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安踏面试题及答案财务岗
- 成长路上如何面对挫折议论文8篇
- 会展行业面试题及答案
- 2024-2025学年浙江省强基联盟高二3月月考语文试题(解析版)
- 2024-2025学年辽宁省本溪市满族自治县县级重点高中协作体高三二模考试语文试题(解析版)
- 2024-2025学年黑龙江省龙东地区高二上学期期末考试语文试题(解析版)
- 2024-2025学年河北省保定市部分高中高二3月月考语文试题(解析版)
- 市场营销数据分析试题集
- 初中议论文写作方法7篇
- 2025年辽宁公务员考试笔试真题(含答案)
- 工模外发管理流程模板
- 部编版高一上册语文第三课《百合花》课文原文教案及知识点
- 北京理工附中小升初分班考试真题
- 膀胱镜检查记录
- 英语社团活动课件
- 学前儿童发展心理学-情感
- 二年级下册数学教案 《生活中的大数》练习课 北师大版
- GB∕T 16762-2020 一般用途钢丝绳吊索特性和技术条件
- 电网施工作业票模板
- T∕CAEPI 31-2021 旋转式沸石吸附浓缩装置技术要求
- 国家级高技能人才培训基地建设项目实施管理办法
评论
0/150
提交评论