c++课程设计总结报告 通讯录管理系统.docx

上传人:b****8 文档编号:10357353 上传时间:2023-02-10 格式:DOCX 页数:19 大小:18.91KB
下载 相关 举报
c++课程设计总结报告 通讯录管理系统.docx_第1页
第1页 / 共19页
c++课程设计总结报告 通讯录管理系统.docx_第2页
第2页 / 共19页
c++课程设计总结报告 通讯录管理系统.docx_第3页
第3页 / 共19页
c++课程设计总结报告 通讯录管理系统.docx_第4页
第4页 / 共19页
c++课程设计总结报告 通讯录管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

c++课程设计总结报告 通讯录管理系统.docx

《c++课程设计总结报告 通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《c++课程设计总结报告 通讯录管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

c++课程设计总结报告 通讯录管理系统.docx

c++课程设计总结报告通讯录管理系统

C++(或C)语言课程设计总结报告

学号:

姓名:

专业:

计算机科学与技术

班级:

所属学期

一、项目介绍与设计目的

1.项目介绍:

名称:

通讯录管理系统

总体要求:

有一存在的通讯录文件,数据内容为各联系人的信息。

每个联系人信息的组成:

姓名、电话号码、QQ、邮编和地址等个人基本信息。

用户界面:

(1)输入:

程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。

(2)输出:

1)应用程序正常运行后,在屏幕上显示一个文字菜单

2)用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

功能:

(1)添加联系人:

输入新的联系人信息,并保存其内容。

(2)删除联系人:

从文件中删除相应联系人的信息。

(3)显示联系人:

从文件中输出所有联系人的信息。

(4)修改联系人:

可以修改该联系人的任何一个信息,并保存修改后联系人的信息。

(5)查询联系人:

输入联系人的姓名或电话号码,输出相应联系人的全部信息。

(6)关闭通讯录:

操作结束后,退出操作。

2.设计目的:

(1)通过这次课程设计,巩固c++的知识,尤其对类和文件保存等重要内容进行深入的理解,做到温故而知新。

(2)运用新学的数据结构中链表的知识,加深对新内容的了解,努力做到学以致用。

(3)通过这次编程,增强动手能力,养成良好的编程习惯,做到理论和实践相结合。

二、项目设计思路

首先,定义一个类book,类中包括成员函数,以及私有数据。

成员函数有:

默认的构造函数,用户界面函数,添加、删除、显示、修改、查询,以及关闭通讯录等函数。

私有数据有:

通讯录中联系人的姓名、电话号码、QQ、邮编,以及地址等基本信息。

其次,定义一个结构体record,结构体中的变量,一个指向前驱,一个指向后继。

然后,定义一个主函数main(),调用其他相应功能的函数,来完成通讯录的各个操作。

最后,分别定义添加、删除、显示、修改和查询等函数,完成相应的功能模块。

三、项目环境要求

在VC的环境下即可运行。

四、项目功能模块

本程序主要有以下七个函数:

(1)charbook:

:

inter_face()//用户界面函数

程序正常运行后,在屏幕上显示菜单,用户根据需要,按相应的功能键,进行操作。

(2)voidbook:

:

add_person()//添加联系人的函数

用户按数字键“1”,添加新的联系人,把新添加的内容保存到相应的文件中。

(3)voidbook:

:

del_person()//删除联系人的函数

用户按数字键“2”,输入你要删除的联系人的姓名或电话号码,如果该联系人存在,则输出该联系人的信息,并删除此人。

如果通讯录中没有此人,就输出

“对不起,联系人中没你要找的人”。

(4)voidbook:

:

show_all()//输出所有联系人的函数

用户按数字键“3”,输出文件“pbook.txt”中全部联系人的信息,否则的话,输出“通讯录中没有联系人”。

(5)voidbook:

:

alter()//修改联系人的函数

用户按数字键“4”,打开文件,输入你要修改的联系人的姓名或电话号码,找到该联系人后,从新输入要修改联系人新的信息,并保存到“pbook.txt”文件中;否则的话,输出“通讯录中无此人”。

(6)voidbook:

:

select()//查找联系人的函数

用户按数字键“5”,打开文件,输入要查找的联系人的姓名或者电话号码,找到此人,输出该联系人的全部信息,否则的话输出“对不起,通讯录中没有此人”。

(7)voidbook:

:

save_new()//关闭通讯录的函数

用户操作完成后,按数字键“6”,关闭通讯录的内容。

(8)intmain()//主函数

运用switch()语句,选择相应的功能键,调用相应的函数,进行该功能的操作。

五、程序关键源代码(注:

关键或者比较有特色的代码段,无需完整的源代码)

1、structrecord

{

bookobject;

record*prior;

record*next;

};

2、voidbook:

:

save_new(){

ofstreamoutData("pbook.txt",ios:

:

app);

if(!

outData)

{

cout<<"对不起!

!

!

打开文件失败!

!

!

!

"<

system("pause");

return;

}

outData<

:

left)<

<

outData.close();

}

六、程序用户名及密码

本程序无用户名和密码。

 

七、参考文献

刘加海等,C++程序设计,清华大学出版社

王红梅等,数据结构(C++版),清华大学出版社

刘振安等,C++程序设计课程设计,机械工业出版社

 

八、体会与感想(总结)

通过这次编程实践,巩固了c++的知识,对c++的内容有了深入的理解,尤其

对文件的知识加深理解。

并运用数据结构中链表的知识,对新知识有进一步的理解。

增强了动手能力,感受到了c++的奥妙,找到了学习编程的乐趣。

同时在编程过

程中,也发现了自身学习态度的问题。

由于上课没认真听讲,课后又没及时花

时间去复习,造成了许多知识的缺漏,很多知识不能很好的运用,编写过程面临困

难,幸好通过这次编程及时把缺漏的知识补过来。

事实告诫了我:

今后上课一定要认真听讲,及时复习,多动手去编程,养成良好的编程习惯,增强实践能力。

九、指导教师意见

 

指导教师(签名):

年月日

 

源代码:

#include

#include

#include

#include

#include

#include

usingnamespacestd;

classbook

{

public:

book();

charinter_face();

voidadd_person();

voiddel_person();

voidshow_all();

voidalter();

voidselect();

voidsave_new();

private:

stringname;

stringaddress;

stringnumber;

stringpost;

stringqq;

};

structrecord

{

bookobject;

record*prior;

record*next;

};

book:

:

book()

{

name="\0";

address="\0";

number="\0";

post="\0";

qq="\0";

}

 

charbook:

:

inter_face()

{

system("cls");

cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★"<

<<"\t\t※※"<

<<"\t\t※小小通迅录※"<

<<"\t\t※※"<

<<"\t\t※1.添加新联系人.4.修改信息.※"<

<<"\t\t※※"<

<<"\t\t※2.删除联系人.5.查询联系人.※"<

<<"\t\t※※"<

<<"\t\t※3.显示所有联系人.6.关闭通迅录.※"<

<<"\t\t※※"<

<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★"<

<<"\t\t\t选择:

";

intchoose;

cin>>choose;

fflush(stdin);

returnchoose;

}

 

voidbook:

:

add_person()

{

cout<<"根据下面提示输入新联系人信息"<

";

cin>>name;

fflush(stdin);

cout<<"电话:

";

cin>>number;

fflush(stdin);

cout<<"qq:

";

cin>>qq;

fflush(stdin);

cout<<"邮编:

";

cin>>post;

fflush(stdin);

cout<<"地址:

";

cin>>address;

fflush(stdin);

save_new();

cout<<"新联系人信息已经保存好"<

system("pause");

}

 

voidbook:

:

del_person()

{

ofstreamoutData("temp.txt",ios:

:

out);

ifstreaminData("pbook.txt",ios:

:

in);

if(!

outData||!

inData)

{

cout<<"对不起找不到文件"<

system("pause");

return;

}

stringsign;

cout<<"你要删除输入姓名或电话号:

";

cin>>sign;

stringstr1;

boolflag=true;

stringstr;

while(inData>>name>>number)

{

getline(inData,str);

if((sign==name)||(sign==number))

{

cout<<"你想删除的联系人:

"<

cout<

cout<

:

left)<

flag=false;

break;

}

outData<

:

left)<

}

if(flag)

{

cout<<"对不起联系人中没你找的人"<

}

else

{

while(getline(inData,str))

{

outData<

}

outData.close();

inData.close();

ofstreamout("pbook.txt",ios:

:

out);

ifstreamin("temp.txt",ios:

:

in);

if(!

out||!

in)

{

cout<<"对不起不能打开文件"<

system("pause");

return;

}

while(getline(in,str))

{

out<

}

out.close();

in.close();

cout<<"这个人的信息已经从你的通迅录中删除"<

}

system("pause");

}

 

voidbook:

:

show_all()

{

ifstreaminData("pbook.txt",ios:

:

in);

if(!

inData)

{

cout<<"对不起没有找到文件"<

system("pause");

return;

}

boolflag=true;

stringrecor;

while(getline(inData,recor))

{

if(flag)

{

cout<<"所有联系人信息如下:

"<

}

cout<

flag=false;

}

if(flag)

{

cout<<"你的通迅录中没有联系人"<

}

else

{

cout<<"所有联系人已经全部显示出来"<

}

system("pause");

}

 

voidbook:

:

alter()

{

ifstreaminData("pbook.txt",ios:

:

in);

if(!

inData)

{

cout<<"对不起不能打开文件"<

system("pause");

return;

}

stringsign;

cout<<"请输入你想要修改的联系人的姓名或电话号码:

";

cin>>sign;

fflush(stdin);

stringstr1;

record*H=newrecord;

record*p=H;

record*q=H;

boolflag=true;

while(inData>>p->object.name>>p->object.number>>p->object.qq>>p->object.post>>p->object.address)

{

p->next=newrecord;

p=p->next;

p->prior=q;

q->next=p;

q=p;

}

p->next=NULL;

inData.close();

p=H;

while(p)

{

if((p->object.name==sign)||(p->object.number==sign))

{

if(flag)

{

cout<<"你想修改你联系人的信息如下:

"<

cout<

:

left)<object.name<<""<object.number

<<""<object.qq<<""<object.post<<""<object.address<

flag=false;

}

cout<<"请根据下面提示修改信息:

"<

cout<<"姓名:

";

cin>>p->object.name;

fflush(stdin);

cout<<"电话号:

";

cin>>p->object.number;

fflush(stdin);

cout<<"qq:

";

cin>>p->object.qq;

fflush(stdin);

cout<<"邮编:

";

cin>>p->object.post;

fflush(stdin);

cout<<"地址:

";

cin>>p->object.address;

fflush(stdin);

break;

}

p=p->next;

}

if(flag)

{

cout<<"你的通迅录中没有你找的联系人"<

system("pause");

return;

}

else

{

ofstreamout("pbook.txt",ios:

:

out);

if(!

out)

{

cout<<"对不起不能打开文件"<

system("pause");

return;

}

p=H;

while(p)

{

out<

:

left)<object.name<<""<object.number

<<""<object.qq<<""<object.post<<""<object.address<

p=p->next;

}

out.close();

cout<<"信息已经修改完成"<

system("pause");

}

}

 

voidbook:

:

select()

{

ifstreaminData("pbook.txt",ios:

:

in);

if(!

inData)

{

cout<<"对不起文件找不到"<

system("pause");

return;

}

stringsign;

cout<<"输入你想查找的联系人的姓名或电话号码:

"<

cin>>sign;

fflush(stdin);

stringstr1;

boolflag=true;

stringstr;

while(inData>>name>>number)

{

getline(inData,str);

if((name==sign)||(number==sign))

{

cout<<"你要查找的联系人是:

"<

cout<

cout<

:

left)<

getch();

flag=false;

break;

}

}

if(flag)

{

cout<<"对不起联系人中没你找的人"<

}

getch();

}

 

voidbook:

:

save_new()

{

ofstreamoutData("pbook.txt",ios:

:

app);

if(!

outData)

{

cout<<"对不起打开文件失败"<

system("pause");

return;

}

outData<

:

left)<

<

outData.close();

}

 

intmain()

{

intchoose;

bookabj;

while(choose=abj.inter_face())

{

switch(choose)

{

case1:

abj.add_person();

break;

case2:

abj.del_person();

break;

case3:

abj.show_all();

break;

case4:

abj.alter();

break;

case5:

abj.select();

break;

case6:

cout<<"谢谢使用"<

exit(0);

break;

default:

break;

}

}

return0;

}

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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