数据结构课程设计通讯录管理系统Word格式.docx

上传人:b****6 文档编号:16990439 上传时间:2022-11-27 格式:DOCX 页数:16 大小:149.92KB
下载 相关 举报
数据结构课程设计通讯录管理系统Word格式.docx_第1页
第1页 / 共16页
数据结构课程设计通讯录管理系统Word格式.docx_第2页
第2页 / 共16页
数据结构课程设计通讯录管理系统Word格式.docx_第3页
第3页 / 共16页
数据结构课程设计通讯录管理系统Word格式.docx_第4页
第4页 / 共16页
数据结构课程设计通讯录管理系统Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据结构课程设计通讯录管理系统Word格式.docx

《数据结构课程设计通讯录管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计通讯录管理系统Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

数据结构课程设计通讯录管理系统Word格式.docx

Del()

4)Student:

Mod()

(5)Student:

Que_name()

(6)Student:

Sav()

(7)Student:

Load()

四、调试分析

(内容包括:

调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析;

算法的时空分析和改进设想;

经验和体会等)

五、测试结果

六、小结

通过本次设计,加强了对于编写管理系统程序的运用,能够更好的运用循环。

对于以后的编程运用起了很大的帮助。

七、附录

(附上带详细注释的源程序)

#include<

iostream>

string.h>

windows.h>

usingnamespacestd;

structstudent

{

charnum[20];

charname[20];

charaddress[50];

charpostcode[20];

chartelphone[20];

}student[2000];

//定义学生类结构体

voidMenu();

//声明菜单函数

voidInput();

//声明录入函数

voidSav(int);

//声明保存函数

intLoad();

//声明信息导入函数

voidQue_name();

//声明按姓名查找函数

voidDel();

//声明删除函数

voidMod();

//声明修改函数

voidScan();

//声明浏览函信息数

voidAdd();

//声明添加函数

voidMenu()//菜单函数

cout<

<

"

\t*********欢迎来到平顶山学院学生通讯录信息管理系统!

*********"

endl;

\t**请按要求正确录入学生的通讯录信息**"

\t**1.录入相关学生通讯录信息**"

\t**2.保存相关学生通讯录信息**"

\t**3.按姓名查找相关学生通讯录信息**"

\t**4.修改相关学生通讯录信息**"

\t**5.删除相关学生通讯录信息**"

\t**6.添加相关学生通讯录信息**"

\t**7.退出该学生通讯录信息系统**"

\t*****************欢迎欢迎您的光临**************************"

}

voidmain()//主函数的实现

{

intn;

loop:

Menu();

//调用菜单函数

请输入您所要进行的操作过程的序号(1-7):

;

cin>

>

n;

system("

cls"

);

switch(n)

{

case1:

cout<

请输入相关学生通讯信息:

Input();

system("

gotoloop;

case2:

请保存相关学生通讯信息:

Sav(n);

case3:

按姓名查找相关学生通讯信息:

Que_name();

case4:

修改相关学生通讯信息:

Mod();

case5:

删除相关学生通讯信息:

Del();

case6:

添加相关学生通讯信息:

Add();

//用goto语句调至指定行

default:

break;

}

\t\t\t*********欢迎您的使用!

**********"

voidInput()//学生通讯信息录入函数

inti,m;

请输入您所要输入的学生通讯信息的个数(1-2000):

m;

for(i=0;

i<

i++)

cout<

请输入学生的学号:

<

student[i].num;

请输入通讯录中学生的姓名:

cin>

student[i].name;

请输入通讯录中学生的电话号码:

student[i].telphone;

请输入通讯录学生的地址(格式如***省**市**县**乡):

student[i].address;

请输入通讯录中学生的邮编:

student[i].postcode;

该学生的通讯信息已经输入完毕,请继续输入下一个学生通讯信息!

voidSav(intm)//如何写入信息?

保存通讯录文件函数

inti;

FILE*fp;

if((fp=fopen("

E:

\\student.dat"

"

wb"

))==NULL)//创建文件并判断是否能打开

该文件打开失败。

exit(0);

i++)//将内存中学生通讯信息输入到磁盘里去

if(fwrite(&

student[i],sizeof(structstudent),1,fp)!

=1)//申请空间,写入学生信息,为何有个1?

?

信息写入失败!

fclose(fp);

voidQue_name()//按姓名查找函数

charname1[10];

m=Load();

请输入您要查询学生通讯信息的名字"

name1;

for(i=0;

if(strcmp(name1,student[i].name)==0)

查找到该学生的通讯信息如下:

Scan();

break;

else

抱歉,查无此人!

return;

voidScan()

//不明白这个,把函数赋给m吗?

输出学生通讯信息如下:

学号:

student[i].num<

"

姓名:

student[i].name<

联系电话:

student[i].telphone

通讯地址:

student[i].address<

邮编:

student[i].postcode<

intLoad()//导入函数

FILE*fp;

inti=0;

if((fp=fopen("

rb"

))==NULL)

cout<

文件打开失败!

exit(0);

do

{

fread(&

student[i],sizeof(structstudent),1,fp);

i++;

}

while(feof(fp)==0);

return(i);

voidDel()//删除函数

intm;

inti,j,n,t,f;

查看学生的通讯信息如下:

Scan();

//调用浏览函数

请输入您想删除的通讯信息的名字:

for(f=1,i=0;

f&

&

if(strcmp(student[i].name,name1)==0)

cout<

Scan();

如果要删除该生信息,请按1,否则按0"

cin>

if(n==1)//如果删除,则其他的信息都向前移一行

{

for(j=i;

j<

m-1;

j++)

{

student[j]=student[j+1];

}

f=0;

}

}

if(!

f)m=m-1;

//?

elsecout<

抱歉!

未找到该生信息。

输出其他学生通讯信息如下:

Sav(m);

//调用保存函数

如果您想继续删除通讯信息,请按1,否则按0。

t;

switch(t)

case1:

Del();

case0:

break;

default:

};

voidMod()//修改函数

charnum[20],tel[20],post[20];

intb,c,i,n,t,f;

intm=Load();

//导入文件内的信息

该学生先前的通讯信息为:

请输入您想要修改通讯信息的名字:

name;

if(strcmp(student[i].name,name)==0)

{

Scan();

确实要修改该生通讯信息请按1,否则按0"

cin>

if(n==1)

cout<

请输入您要修改的项目(1-学号2-姓名3-联系电话4-通讯地址5-邮编):

cin>

c;

if(c>

6||c<

1)

抱歉,您的输入有误,请从新输入。

f=0;

}

if(f==1)cout<

抱歉,未找到此人!

do

switch(c)//因为当找到第i个学生时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人

{

将该生的学号改为:

num;

strcpy(student[i].num,num);

break;

case2:

将该生的姓名改为:

name;

strcpy(student[i].name,name);

case3:

将该生的联系电话改为:

tel;

strcpy(student[i].telphone,tel);

case4:

将该生的通讯地址改为:

address;

strcpy(student[i].address,address);

case5:

将该生的邮编改为:

post;

strcpy(student[i].postcode,post);

}

确认您所修改的信息请按1,从新修改请按0:

b;

}while(b==0);

修改后所有信息如下;

如果您想继续修改请按1,否则按0:

Mod();

case0:

default:

voidAdd()//添加函数

intn=Load();

请输入您要添加的学生通讯信息的个数:

for(i=n;

m+n;

请输入该生的学号:

student[i].num;

请输入该生的姓名:

请输入该生的联系电话:

请输入该生的通讯地址:

请输入该生的邮编:

system("

该生的通讯信息添加完毕,请输入您要添加的下一位学生的通讯信息!

Sav(m+n);

学生通讯信息添加完毕,查看信息如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1