C实验通讯录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象技术与C++课程设计任务书
面向对象技术与C++课程设计报告
(通讯录管理系统)
一、系统总体方案:
通过用C++语言来进行该通讯录的编程,使得通讯录可以进行简单的操作。首先明确通讯录中的信息,它包括姓名、电话号码、类别和电子邮件,接下来进行简单的操作,例如:输入信息、查询、增加、修改、删除等。接下来进行逐步分析,设计它的运行方式及采用的结构。它必须用到类的定义来定义私有成员和公有成员以实现信息的管理,其中通过成员函数和链表来实现对通讯录的信息的操作,包括输入、查询、添加、修改、删除、显示。最后进行程序的调试,检查程序的正确性与严密性。
二、设计思路和主要步骤:
第一步:采用C++语言来编程通讯录管理系统,明确C++的定义,采用类的定义和链表进行编程。
第二步:建立对象,定义它的私有及公有成员,列出私有成员和成员函数,成员函数里包括通讯录的各个操作,其中有输入、查询、添加、修改、删除和显示。
第三步:对各个成员函数的编程。
1)信息输入:将要存储的人员的姓名、电话号码、类别、电子邮件进行输入。当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;录入的新数据能按递增的顺序自动进行条目编号。当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
2)信息查询:如果按类别查找时,列出下列三类选择(A 办公类 B 个人类 C 商务类 ),当选中某类时,显示出此类所有数据中的姓名、电
话号码和电子邮件。如果按姓名查找时,当输入所要查询的姓名时,就会显示出该人员的电话号码、类别和电子邮件。或者当输入的类别或是姓名错误的话,就会显示“类别错误,请重输!”或“对不起!您查询的人不存在!”。
3)信息修改:选中某个人的姓名时,可对此人的相应数据进行修改。
4)信息删除:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
5)信息的显示:显示出通讯录中所有人员的信息。
6)操作:对以上信息的整理,并对其进行编号。
第四步:对通讯录进行操作,使之能显示出所要的信息。
第五步:对程序进行调试,使之运行成功。
三、各功能模块和流程图
(一)信息查询:图1
(二)信息修改:图2
(三)信息删除:图3
图1
图2
图3
四、心得体会
通过这次的实验我深刻地了解到了面向对象技术与C++这门课程的重要性。只有充分地了解和掌握这门课程才能够运用自如,才能够独立编程。坚实的基础知识,才能让自己更加充分地认识这门课程,也能够编出正确、严密的程序。
在编译通讯录管理系统的过程中,我学习到了很多的东西,也认识到了很多。在编译过程中,我不仅要全面了解面向对象技术与C++程序设计上的运用,也需要对运行环境作充分的了解,更加熟练地运用Microsoft Visual C++,让程序达到更加完美的状态,也在上机实践和对程序调试的同时提高了自己解决问题的能力。我还深刻的体会到了面向对象程序设计
在工程中应用的重要作用,及其对工程方面程序设计的深远影响。
在编程过程中,我发现C++与我们的生活息息相关,比如,我们的电话薄、书籍目录的检索、车票的管理等。它时时刻刻与我们在一起,并且给我们带来了极大的方便。我还深刻的体会到了面向对象程序设计在工程中应用的重要作用,及其对工程方面程序设计的深远影响。
总之,在这次的实验中我获益匪浅。在掌握面向对象程序设计的基础上更使我对c++语言产生了浓厚的兴趣。在我的眼中,它不再是一门课程,而是我生活中的一种乐趣。我会利用课余时间进行小型程序的编程让自己更加熟练地掌握这门技术,为以后的学习打下坚实的基础。
五、参考资料
《面向对象程序设计》
六、程序代码
#include
#include<>
using namespace std;
class Information
{private:
char name[20];
char tel[12];
char kind;
char email[50];
public:
Information(char n[],char t[],char k,char e[]) {
strcpy(name,n);
strcpy(tel,t);
kind=k;
strcpy(email,e);
}
void add();
void searchB();
void searchQ();
void alter();
Delete();
void list();
};
Information *s[50];
char n[],char t[],char k,char e[];
int i=0;
int j=0;
void Information::add()
{
Information *p1,*p2,*head;
cout<<"请输入姓名:"< cin>>name; cout<<"请输入电话号码:"< cin>>tel; cout<<"请输入类别(A办公类B个人类C商务类):"< cin>>kind; cout<<"请输入电子邮箱:"< cin>>email; j++; cout<<"新信息已经保存好!"< s[i]=new Information(name,tel,kind,email); i++; for(int j=0;j { if (strcmp(s[j]->tel,tel)==0) {cout<<"输入重复电话号码,请重输!"< for(int u=0;u