数据结构课程设计通讯录管理系统文档格式.docx
- 文档编号:1506703
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:21
- 大小:112.43KB
数据结构课程设计通讯录管理系统文档格式.docx
《数据结构课程设计通讯录管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计通讯录管理系统文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
创建学生结点
学生结点加入链表
(3)Student:
Del()
z
4)Student:
Mod()
(5)Student:
Que_name()
(6)Student:
Sav()
(7)Student:
Load()
(开始J
V丿
(内容包括:
调试过程中遇到的问题并且是如
何解决的以及对设计实现的回顾讨论和分析;
算法的时空分析和改进设想;
经验和体会等)
=口
生息杆学信J临••人录统^/\录息息讯息自宀息系的-?
-信信息您a
•…/葷通通養诵通讯迎济—左4U44JDzmJkE亘上於
KWJIL旺信in录
请
息自心
讯讯
••下如息
谷一
«
5统、降XT賈制理信—息讯It:
信通ftir的Hi讯注M通学通生入
通通
注注
关询
1
找要
查您I
名入顿犁:
1|姓聾找岀号
息2侥临••录统沪6学录息息m息息息n邓的-?
45•院^5信甬一信信信息您rl・岳学正录录生录录彖信迎号聲我生生墾生生通欧劭信M讯如阿吨通息•・的信名"
生讯姓-学通该生00
关关查关关蓋亍
為名该入络改除加岀ifiwi
1234567
五、测试结果
请输入您要修改的项目学号2-姓名
3-联系电话4-通讯地址5-
邮编)
彩该生的学号改为:
101确认您所修改的信息请按b从新修改请技弘
六、小结
通过本次设计,加强了对于编写管理系统程序的运用,能够更好的运用循环。
对于以后的编程运用起了很大的帮助。
七、附录
(附上带详细注释的源程序)
#include<
iostream>
#include<
string.h>
windows.h>
usingnamespacestd;
structstudent
charnum[20];
charname[20];
charaddress[50];
charpostcode[20];
chartelphone[20];
}
〃定义学生类结构体
student[2000];
void
〃声明菜单函数
〃声明录入函数
〃声明保存函数
int
〃声明信息导入函数
〃声明按姓名查找函数
〃声明删除函数
〃声明修改函数
〃声明浏览函信息数
〃声明添加函数
Menu();
Input();
Sav(int);
Load();
Que_name();
Del();
Mod();
Scan();
Add();
Menu()
〃菜单函数
COlltVVUt*********欢迎来到平顶山学院学
入学生的通讯录信息
**"
vvendl;
coutvv'
'
\t****'
\t****‘‘vv£
ndl;
\t**录信息
COlltVV"
\t****‘‘vvendl;
coutvv"
\t****"
\t**
生通讯录信息管理系统!
*********"
1•录入相关学生通讯录信息
2.保存相关学生通讯录信息
3.按姓名查找相关学生通讯
**'
4.修改相关学生通讯录信息
5.删除相关学生通讯录信息
6.添加相关学生通讯录信息
7.退出该学生通讯录信息系
\t*****************欢迎欢迎您的****************************vVendl;
main()
〃主函数的实现
intn;
loop:
〃调用菜单函数cout«
-请输入您所要进行的操作过程的序号(1-7):
n;
cin»
system(nclsn);
switch(n)
casel:
cout«
H请输入相关学生通讯信息:
H«
endl;
gotoloop;
case2:
"
请保存相关学生通讯信M:
n«
Sav(n);
case3:
H按姓名查找相关学生通讯信M:
Que_name();
case4:
n修改相关学生通讯信息:
case5:
n删除相关学生通讯信息:
Del();
case6:
n添加相关学生通讯信息:
1*«
Add();
〃用goto语句调至指定行
default:
break;
coutvv”\t\t\t*********欢迎您的使用!
**********“vvendl;
〃学生通讯信息录入函数
Input()
inti,m;
-请输入您所要输入的学生通讯信息
的个数(1・2000)汁;
m;
COUt«
»
请输入学生的学号:
for(i=0;
i<
i++)
student[i]>
num;
coutvv”请输入通讯录中学生的姓名:
”
student[i].name;
coutvv”请输入通讯录中学生的电话号码:
student[i].teiphone;
请输入通讯录学生的地址(格式如
***省**市**县**乡):
“vvendl;
student[i].address;
”请输入通讯录中学生的邮编:
student[i].postcode;
coutvv”该学生的通讯信息已经输入完毕,
请继续输入下一个学生通讯信息!
-«
〃如何写入信
voidSav(intm)
息?
保存通讯录文件函数
inti;
FILE*fp;
if((fp=fopen(,'
E:
\Xstudent.dat'
‘畀wbn))==NULL)
〃创建文件并判断是否能打开
H该文件打开失败。
”vvendl;
exit(O);
〃将内存中学生通讯信息输入到磁盘里去
student)J,fp)!
=1)
〃申请空间,写入学生信息,
if(fwrite(&
student[i],sizeof(struct
为何有个1
n信息写入失败!
"
fclose(fp);
Que_name()
〃按姓名查找函数
{
charnamel[10];
m=Load();
C0llt<
<
“请输入您要查询学生通讯信息的名字
namel;
for(i=0;
if(strcmp(namel9student[i].name)==O)
查找到该学生的通讯信息如下:
else
coutvv”抱歉,查无此人!
return;
voidScan()
〃不明白这个,把函数赋给m吗?
学号:
vvstudent[i].numvv”n«
n
student[i].name«
n联系电
姓名:
M«
student[i].teiphone
nn«
n通讯地址:
«
student[i].address«
'
‘由编:
student[i].postcode«
HH«
intLoad()
〃导入函数
FILE*fp;
inti=0;
if((fp=fopen(nE:
\\student.datn;
rbn))==NULL){
H文件打开失败!
vmdl;
exit(O);
do
fread(&
student[i]9sizeof(struct
student)4?
fp);
i++;
while(feof(fp)==0);
return(i);
fclose(fp);
Del()
〃删除函数
intm;
inti
n查看学生的通讯信息如下:
〃调用浏览函数
请输入您想删除的通讯信息的名
字:
for(f=14=0;
f&
&
ivm;
if(strcmp(student[i].name,namel)==O)
”査找到该学生的通讯信息如下:
coutvv”如果要删除该生信息,请
按1,否则按0H«
〃如果删除,
则其他的信息都向前移一行
if(n==l)
for(j=i;
j<
m-l;
j++)
student[j]=student[j+1];
f=0;
if(!
f)m=m-l;
//
elsecout«
n抱歉!
未找到该生信息。
-输出其他学生通讯信息如下:
Sav(m);
〃调用保存函数
coutvv”如果您想继续删除通讯信息,请按1,
否则按0。
”vvendl;
t;
switch(t)
case1:
case0:
break;
};
voidMod()
〃修改函数
charnum[20]9tel[20]9post[20];
charname[20];
intb,
intm=Load();
〃导入文件内的信息cout«
该学生先前的通讯信息为:
coutvv”请输入您想要修改通讯信息的名
name;
for(f=13=0;
if(strcmp(student[i].name,name)==O)
coutvv,喳找到该学生的通讯信息如下:
coutvv”确实要修改该生通讯信息请按
1,否则按On«
coutvv”请输入您要修改的项目(1•学
号2■姓名3•联系电话4•通讯地址5•邮
编):
c;
if(f==l)cout«
n抱歉,未找到此人!
n«
switch(c)〃因为当找到第i个学生
时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人
cout«
n将该生的学号改为:
”;
cin»
strcpy(student[i].num?
num);
n将该生的姓名改为:
name;
strcpy(student[i].name,name);
coutvv”将该生的联系电话改为:
tel;
strcpy(student[i].telphone,tel);
n将该生的通讯地址改为:
address;
strcpy(student[i].address,address);
n将该生的邮编改为:
post;
strcpy(student[i].postcode,post);
新修改请按0:
coutvv”确认您所修改的信息请按1,从cin»
b;
}while(b==0);
H修改后所有信息如下;
Mod();
default:
Add()
〃添加函数
intn=Load();
coutvv”请输入您要添加的学生通讯信息的
个数:
for(i=n;
ivm+n;
dn»
student[i].num;
f请输入该生的姓名
student[i].name;
*请输入该生的联系电话
student[i].teiphone;
请输入该生的通讯地址:
”;
student[i].address;
nW输入该生的邮编:
匕cin»
student[i].postcode;
n该生的通讯信息添加完毕,
请输入您要添加的下一位学生的通讯信息!
Sav(m+n);
n学生通讯信息添加完毕,査看信息如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 通讯录 管理 系统