通讯录程序设计方案C语言课程设计方案Word文件下载.docx
- 文档编号:18186547
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:17
- 大小:111.68KB
通讯录程序设计方案C语言课程设计方案Word文件下载.docx
《通讯录程序设计方案C语言课程设计方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《通讯录程序设计方案C语言课程设计方案Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
1.题目用黑体三号,段后距18磅(或1行),居中对齐;
2.标题用黑体四号,段前、段后距6磅(或0.3行);
3.正文用小四号宋体,行距为1.25倍行距;
4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。
上机时间安排
第14-17周,周二3-4节,周四5-6节
指导地点
实验室(A502)
分工协作说明(以列表形式具体说明每个人所做的工作)
课题名称
学号
所做的工作
通讯录程
序设计
项目框架总体设计、整体项目指导、综合设计文档编写、代码编写
需求分析、校检、打印
需求分析、校检、整理资料
部分代码编写、分模块测试
后台代码测试、部分代码编写
蚌埠学院计算机科学与技术系本科课程设计成绩评定表
项目
权重
分值
具体要求
得分
文献阅读与
调查论证
0.20
100
能独立查阅文献和从事其它调研;
有收集、加工各种
信息的能力
设计质量
0.30
设计合理、功能齐备,程序运行正常,实验数据准确可靠;
有较强的实际动手能力
论文撰写质
量
设计说明书完全符合规范化要求,用A4复印纸打印
成文
学习态度
学习态度认真,科学作风严谨,严格按要求开展各项工作,按期完成任务
学术水平与
创新
0.10
设计有创意,有一定的学术水平或实用价值
总分
评语:
等级:
指导教师:
年月日
1概述1...
2系统分析2...
㈠功能需求2...
㈡性能需求4...
3总体设计4...
㈠功能模块设计4...
㈡系统设计方案8...
4运行、调试与测试8...
㈠运行8...
㈡调试1..2.
㈢测试1..2.
5结论1..2.
参考文献1..3.
附录-源程序1..3.
通讯录系统
一概述
整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:
信息录入功能函数,信息浏览功能函数,信息查询功能函数,信息修改功能函数,以及信息退出函数。
1、信息录入功能函数主要功能是从键盘输入通讯录信息并将其写入文件中,作为通讯录的信息库,以便对下面的函数进行运行,此函数是基础.
2、信息浏览功能函数主要是进行信息浏览的功能
3、信息查询功能函数主要实现对通讯录信息查询的功能
3、信息修改功能函数实现的功能是实现对通讯录信息的修改;
5、信息退出函数函数进行完信息的浏览、查询、修改,是实现信息退出功能
二系统分析
㈠功能需求
设计一个通过链表实现对通讯录信息进行管理的程序,要求完成以下功能:
1、新建联系人姓名、籍贯、手机号码1、手机号码2和电子邮箱
2、删除联系人可以根据输入联系人的姓名删除查询到的联系人
3、查询联系人根据输入联系人的姓名找到该联系人
4、浏览联系人对通讯录所有联系人进行浏览
5、修改联系人可以根据输入的联系人姓名找到该联系人对其信息进行修改
6、退出系统
通讯录
录
删
查
入
除
询
联
系
人
输入查询姓名
图1系统功能图
浏览联系人
修
保
改
存
退
出
统
输入修改姓名
保存文件
修改姓名
修改籍贯
修改手机号
1
2
修改邮箱
㈡性能需求
需要向系统输入姓名、号码、电子邮箱等信息。
在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳
定性好,安全,可靠。
三总体设计
㈠功能模块设计
根据分析整个系统主要划分为6个功能模块,分别执行要求中的功能。
该系统需要有添加,删除,查询,修改,,循环显示主菜单,保存信息功能。
要求有循环显示菜单工能。
1、通讯录首页选择模块
输入选项
3
4
5
6
浏
览
图2系统首页图
2、录入联系人模块
图3录入联系人模块
3、删除联系人模块
图4删除联系人模块
4、查询联系人模块
图5查询联系人模块
5、浏览联系人模块
图6浏览联系人模块
6、修改联系人模块
图7修改联系人模块
㈡系统设计方案
设计一个总菜单,1录入信息,2删除管理,3查询信息,4信息浏览,5修改信息,6退出系统。
基本功能的实现都将体现在这几个菜单选项中。
函数原型和数据结构如下:
structaddress_{
charname[20];
charplace[20];
longnum1;
longnum2;
charmail[40];
}stud[200];
book//
结构体//
voidadd()
//
联系人添加//
voiddel()
联系人删除//
voidarrange()
联系人浏览//
voidchange()
联系人修改//
voidfind()
联系人查询//
printf("
\t\t\t\t************\n"
);
\t\t\t\t***
主菜单***\n"
\t\t\t\t************\n\n\n\n\n\n"
\t\t1、录入联系人信息2、删除联系人信息\n\n"
printf("
\t\t3、查询联系人信息4、联系人信息游览\n\n"
\t\t5、修改联系人信息6、保存退出系统\n\n"
\n\n\n\n\n\n\n\n\n请选择[1/2/3/4/5/6]:
"
四运行、调试与测试
㈠运行
1、点击运行,首先出现的是菜单界面,选择菜单选项进行操作,可进行如图8所示的系统主界面(选择数字进入,退出系统)。
E]'
C;
\Wi(i3bug\l234554律劭土
亘®
亘
***主萦单***
1・录入脫系人蓿息2*删除联系人店息彳、查询联系人信息4联系人信息游览5、修胡S系人信恿氣保葺退岀氢统
惰选i?
:
Cl/2Z3Z^Z5/6]:
■f
图8菜单界面
2、选择1进入联系人添加系统。
可以输入想要添加的联系人姓名、籍贯、手机号码1、手机号码2、电子邮箱等信息。
输入完毕后可以选择是否退出或者进行下一次输入。
如图9所示。
图9录入功能
3、选择3,然后出现修改功能菜单。
可以输入想要修改的联系人的姓名然
后找到该联系人进行修改。
可以对该联系人全部联系信息进行修改,修改完成后
会出现提示修改成功。
如图10所示
图10修改界面
4、选择4,进入联系人浏览功能,可以浏览文件保存的所有联系人姓名,籍
贯、手机号码1,手机号码2,电子邮箱。
如图11所示。
图11信息浏览界面
5、选择输入3,进入查询联系人信息界面。
然后输入想要查询的联系人姓名即可查询该联系人的所有个人信息,然后系统会提示是否退出,不退出即可查询下一个联系人。
如图12所示。
图12联系人查询页面
6输入6,退出系统,如图13所示。
■'
I"
CAW!
rdo^^sy^em?
2\Dbbug\C..23455^154.ewe"
L=J[_EJLS3]
毎it角耳**M:
耳M耳甘
1rVi
丄、录入联系人信息2、删雅联系人信羸花查询联畝信怠仏联系人愴息稠览
5、修改联系人信息氣保蒂退出系统
诣选桂[丄ZZ/3/4/5/6]:
(Pi'
essanyksytoc;
ont;
jLnuc
*
图13退出系统
㈡调试
调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。
调试的任务是及时改正测试过程中发现的软件错误。
具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。
然后仔细研究推断代码以确定问题的原因,并设法改正。
调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。
本系统调试过程中遇到问题、原因和解决方法如下面介绍。
设计过程中的想法与程序中的不足
总的来说这个程序大致实现了题目的要求,但是这套程序仍然存在着很多的问题与不足。
比如,程序中主函数写的有点繁琐,有太多的嵌套,不是那么井然有序,条理清晰,程序注释也不是很完善,对信息处理功能还有些不足之处,提示信息不明确。
还有就是没能做到模糊查询。
系统主要是参照课本手机通讯录模版编写的,同时也得到了老师和同学的一些帮助。
我在做系统的过程中也遇到了很多问题,有的是知识不足,有的是考虑不够周全。
事实证明,只靠自己的知识面还是很窄,独立处理问题能力不是很强,以后还要加强对c语言的学习。
对于C语言编写的程序来说,使用方法大致都是一样的,如果要改进的话,就是要改进一些算法,尽量把界面编写清楚,提示信息全面,方便易用。
㈢测试
软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。
或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。
过度测试则会浪费许多宝贵的资源。
到测试后期,即使找到了错误,然而付出了过高的代价。
五结论
C语言程序设计课程顺利完成,任务书中所提出的要求全部实现。
在这次课程设计中,通过编写这个图书管理系统,体会到了C语言学习的实用性。
将理论和实践结合在一起,用先进的计算机工具方便人们的生活。
C语言程序的编写首先要从大局考虑,把自己编写整个程序的思想都写在草稿上,这样有助于自己编写程序,在编写时要完善注释,方便其他人理解程序。
编写的程序从理论上来说并没有错,但一上机就问题不断。
甚至有些课本上的知识照搬不变,也不能得到正确的结果。
有时一个程序改了一遍又一遍,但就是不能成功,编程显得枯燥乏味,看似简单的程序题,在调试时却屡屡出错。
经反复的修改后,结果正确了,这时所有的乏味都显得那么无力,一切都是值得的。
开发一套系统,最重要的是细心,并且思考要全面,结合实际,充分考虑到客户的需求和现实意义。
不管什么系统,只用运用到实际应用中,才具有现实意义。
所以C语言程序的实用性很强,我们以后还要更加努力认真地学习编程语言。
参考文献
[1]谭浩强.程序设计[M],北京:
北京大学出版社,1999.236-249.
[2]徐孝凯,魏荣.数据结构[M],机械工程出版社,1996:
121-132.
[3]耿国华.数据结构-C语言描述[M],北京:
高等教育出版社,2008:
248-253.
[4]杨路明.C语言程序设计教程[M],北京:
北京邮电大学出版社.2005:
170-186.
附录-源程序
#include<
stdio.h>
string.h>
#include<
stdlib.h>
intn=0,i;
structaddress_book{
charplace[20];
longnum1;
longnum2;
charmail[40];
}stud[200];
{charj;
front1:
\n请输入要添加的姓名:
"
scanf("
%s"
stud[n].name);
\n请输入要添加的籍贯:
stud[n].place);
\n请输入要添加的电话号码一:
&
stud[n].num1);
\n请输入要添加的电话号码二:
stud[n].num2);
\n请输入要添加的电子邮箱:
stud[n].mail);
getchar();
n++;
是否继续(Y/N)?
j=getchar();
if(j=='
y'
||j=='
Y'
)gotofront1;
//再次输入记录//}
{
intk=0,i;
charm[20];
charj;
front2:
\n请输入要删除的联系人:
gets(m);
for(i=0;
i<
n;
i++)//查找记录//if(strcmp(m,stud[i].name)==0)
k=1;
break;
}
if(k==1)//删除记录//
for(k=i;
k<
n-1;
k++)stud[k]=stud[k+1];
n--;
已删除\n\n"
else
找不到要删除的记录:
\n"
按回车键返回:
是否继续(Y/N)?
j=getchar();
)gotofront2;
intk,i;
structaddress_bookt;
姓名籍贯电话号码一电话号码二电子邮箱\n"
for(k=0;
k++)
for(i=0;
n-k-1;
i++)if(strcmp(stud[i].name,stud[i+1].name)<
0)
t=stud[i];
stud[i]=stud[i+1];
stud[i+1]=t;
=n-1;
i++)
%-10s%-8s%-15ld%-15ld%-20s"
stud[i].name,stud[i].place,stud[i].num1,stud[i].num2,stud[i].mail);
按回车键返回!
intk=0;
charj,m[20];
front5:
\n请输入要修改记录的姓名:
scanf("
m);
i++)//查找//
if(strcmp(m,stud[i].name)==0)
}if(k==1)
{printf("
\n"
\n请输入修改后的姓名:
stud[i].name);
\n请输入修改后的籍贯:
stud[i].place);
\n请输入修改后的电话号码一:
%d"
stud[i].num1);
\n请输入修改后的电话号码二:
stud[i].num2);
\n请输入修改后的电子邮箱:
stud[i].mail);
修改成功\n"
getchar();
}if(k==0)
找不到要修改的记录!
}getchar();
)gotofront5;
front3:
i++)//查找//if(strcmp(m,stud[i].name)==0)
{k=1;
if(k==1)
找不到该联系人!
请重新输入!
按回车返回!
gotofront3;
)gotofront3;
voidmain()
loop:
\t\t\t\t***主菜单***\n"
\t\t1、录入联系人信息2、删除联系人信息\n\n"
\t\t3、查询联系人信息4、联系人信息游览\n\n"
\t\t5、修改联系人信息6、保存退出系统\n\n"
\n'
)gotoloop;
//返回主菜单//switch(j)
case'
1'
:
add();
gotoloop;
//返回主菜单//case'
2'
del();
3'
find();
4'
arrange();
5'
change();
6'
FILE*fp;
fp=fopen("
student.dat"
"
w"
fwrite(&
stud[i],sizeof(structaddress_book),1,fp);
fclose(fp);
exit(0);
default:
gotoloop;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 程序设计 方案 语言 课程设计