数据结构课程设计 通讯录的设计Word下载.docx
《数据结构课程设计 通讯录的设计Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计 通讯录的设计Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
(1)
输入信息——enter();
(2)
显示信息———display();
(3)
查找以姓名作为关键字———search();
(4)
删除信息———delete();
存盘———save();
装入———load();
2设计要求
(1)符合课题要求,实现相应功能;
(2)要求界面友好美观,操作方便易行;
(3)注意程序的实用性、安全性。
3程序分析
使用switch语句将程序整合。
switch(表达式)
{
case常量表达式1:
语句1;
break;
case常量表达式2:
语句2;
}
Switch
语句的执行流程是:
首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,
就执行此case后面的语句,执行后遇break语句就退出switch语句。
4.程序源代码
#include<
stdio.h>
string.h>
stdlib.h>
conio.h>
structcontacks
{charname[10];
charstreet[20];
charcity[10];
inteip;
charstate[10];
}con[50];
intk=0;
voidenter();
voiddisplay();
voidlookandchange();
voiddel();
voidsave();
intmain()
inta;
do
{
printf("
\n\n******************************************************************\n"
);
printf("
*"
\t\t欢迎使用通讯录系统"
\t*"
\n******************************************************************\n"
\t1.录入信息"
\t\t\t\t\t*\n"
\t2.显示通讯录"
\t\t\t\t*\n"
\t3.查找并改写通讯录"
\t4.删除信息"
\t5.保存信息"
\t6.结束"
******************************************************************\n"
输入你的选择:
"
scanf("
%d"
&
a);
switch(a)
case1:
\n"
enter();
case2:
display();
case3:
lookandchange();
case4:
del();
case5:
save();
case6:
exit(0);
default:
\n请选择1-6.\n"
}
}while(a!
=0);
voidenter()
{
charch[20];
\n输入学生信息:
do
{printf("
\n姓名:
%s"
con[k].name);
\n街道:
con[k].street);
\n城市:
con[k].city);
\n邮编:
con[k].eip);
\n国籍:
con[k].state);
k++;
\n要继续录入学生信息吗?
(y/n):
ch);
while(strcmp(ch,"
y"
)==0||strcmp(ch,"
Y"
)==0);
display();
voiddisplay()
{inti;
通讯录信息为下:
for(i=0;
i<
k;
i++)
{printf("
%10s%20s%10s%6d%10s"
con[i].name,con[i].street,con[i].city,con[i].eip,con[i].state);
voidlookandchange()
inti;
chara[20],ch[10];
\n请输入你想找信息的名字:
"
a);
i++)
if(strcmp(con[i].name,a)==0)printf("
\n请输入你想改写信息的名字:
if(strcmp(con[i].name,a)==0)
\n你确定要改变名字吗?
if(strcmp(ch,"
)==0){printf("
\nname:
con[i].name);
\n你确定要改变街道吗?
\nstreet"
con[i].street);
\n你确定要改变城市吗?
\ncity"
con[i].city);
\n你确定要改变邮编吗?
\neip"
con[i].eip);
\n你确定要改变国籍吗?
\nstate"
con[i].state);
voiddel()
inti,j;
charc[20];
\n输入你想删除信息的名字:
name:
c);
if(strcmp(c,con[i].name)==0)break;
for(j=i;
j<
=2;
j++)
con[j]=con[j+1];
\t\t\t已删除%s\n"
c);
k--;
voidsave()
{FILE*fp;
inti;
if((fp=fopen("
xinxi.txt"
"
w"
))==NULL)
无法保存信息\n"
exit(0);
strlen(con[i].name)!
=0;
fprintf(fp,"
%s%s%s%d%s\n"
fclose(fp);
5运行过程截图
主界面
录入信息
显示通讯录
查找并改写通讯录
删除信息
保存信息
结束
6程序的优点和不足
优点:
1可按任意顺序运行程序。
运行程序方便快捷。
2在case后,允许有多个语句,可以不用{}括起来。
不足:
1不能一次运行全部程序。
2在case后的各常量表达式的值不能相同,否则会出现错误。
7心得体会
1了解并掌握了数据结构与算法的设计方法,具备初步的独立分析和设计能力;
2初步掌握了软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
3提高了综合运用所学的理论知识和方法独立分析和解决问题的能力;
4数据结构是一门实用的编程科目,希望学校多多创造实训机会,增加我们与老师交流学习的机会。