用C++编写一程序,完成ios 通讯录搜索功能的增加,浏览,查询功能

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
面向对象程序设计大作业参考题目及要求
下载积分:1000
内容提示:面向对象程序设计大作业
1、学生信息管理
(1)问题描述
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,e-mail等。试设计一学生信息管理系统,使之能提供以下功能:
系统以菜单方式工作
学生信息录入功能(学生信息用文件保存)---输入
学生信息浏览功能——输出
查询、排序功能——算法
1、按学号查询
2、按姓名查询
学生信息的删除与修改(可选项)
(2)功能要求
界面简单明了;
有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;
最好用链表的方式实现。
(3)算法分析
首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。
2、学生综合测评系统
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语
文档格式:DOC|
浏览次数:68|
上传日期: 11:56:30|
文档星级:
该用户还上传了这些文档
面向对象程序设计大作业参考题目及要求
官方公共微信&&&您需要以后才能回答,未注册用户请先。C++通讯录程序设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
C++通讯录程序设计
C​+​+​通​讯​录​程​序​设​计​,​课​程​设​计
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢 上传我的文档
 下载
 收藏
如有需要或疑问,请联系站内信或我的QQ:
 下载此文档
正在努力加载中...
使用MFC框架在Visual C++6.0环境下编写一个通讯录管理系统
下载积分:1000
内容提示:毕业设计
使用MFC框架在Visual C++6.0环境下编写一个通讯录管理系统
文档格式:DOC|
浏览次数:147|
上传日期: 17:17:20|
文档星级:
该用户还上传了这些文档
使用MFC框架在Visual C++6.0环境下编写一个
官方公共微信求帮做一个C++课程设计,记住了一定要C++!!! 通讯录程序 具体要求如下。。 不要网上COPY的,求高手动手_百度知道
求帮做一个C++课程设计,记住了一定要C++!!! 通讯录程序 具体要求如下。。 不要网上COPY的,求高手动手
设计一个基本的通讯录管理程序,具有插入、删除、显示、修改和查询联系人电话号码的功能。(1) 采用双链表结构,用类和对象完成系统设计,具有联系人信息的插入、删除、显示、修改和查询功能;(2)可通过联系人姓名和电话号码的进行查询;(3)显示功能中:对链表提供逐屏显示选择而且可以由用户确定每屏显示的数目。 可采用&&和&&运算符重载(或用输入输出流对象引用作参数的成员函数)的方式进行文件存取,这样保存、查询、修改都很方便。
提问者采纳
//几乎所有功能都实现了,只是那个“用户确定每屏显示的数目”觉得没必要。//有神马问题找我吧
.不过我都写了那么多了,你应该没问题了。// 这个是我去年独立自主写的实验代码,我也传到了我自己的文库上了。/*1-----新建学生通讯录
2-----向学生通讯录插入学生信息3-----在通讯录删除学生信息
4-----从文件中读取通讯录信息5-----向文件写入学生通讯录信息
6-----在通讯录中查询学生信息7-----在屏幕中输出全部学生信息
8-----退出请选择操作:*/#include&iostream&#include&fstream&#include&iomanip&#include&string&#include&string.h&class Sostream& operator&&(ostream & os, Student & obj);istream& operator&&(istream & is, Student & obj);class Student{public: string N string N string B string S string PhoneN string Apublic: Student *Student *public: Student();
Student(int){next=NULL;}; void show(); friend ostream& operator&&(ostream & os, Student & obj); friend istream& operator&&(istream & is, Student & obj); //~Student();};Student::Student(){ cout&&&\n&Name ? &; cin&&N cout&&&&Number ? &; cin&&N cout&&&&Birthday ? &; cin&&B cout&&&&Sex ? &; cin&&S cout&&&&PhoneNumber ? &; cin&&PhoneN cout&&&&Adress ? &; cin&&A next=NULL;}void Student::show(){ /* cout&&&--------------------------------------------&&& cout&&&&Name: &&&Name&& cout&&&&Number: &&&Number&& cout&&&&Birthday: &&&Birthday&& cout&&&&Sex: &&&Sex&& cout&&&&PhoneNumber: &&&PhoneNumber&&
cout&&&&Adress: &&&Adress&& cout&&&--------------------------------------------&&& cout&& */
cout&&std::left&&setw(13)&&&Name&&&setw(13)&&&Number&&&setw(10)&&&Birthday&&&setw(6)&&&Sex&&&setw(13)&&&PhoneNumber&&&setw(21)&&&Adress&&&
cout&&&------------------------------------------------------------------------------\n&; cout&&*this&&}ostream& operator&&(ostream & os, Student & obj){ /*os&&&--------------------------------------------&&& os&&&&Name: &&&obj.Name&& os&&&&Number: &&&obj.Number&& os&&&&Birthday: &&&obj.Birthday&& os&&&&Sex: &&&obj.Sex&& os&&&&PhoneNumber: &&&obj.PhoneNumber&&
os&&&&Adress: &&&obj.Adress&& os&&&--------------------------------------------&&& os&& */ os&&std::left&&setw(13)&&obj.Name&&setw(13)&&obj.Number&&setw(10)&&obj.Birthday&&setw(6)&&obj.Sex&&setw(13)&&obj.PhoneNumber&&setw(20)&&obj.Adress&& os&&&-----------------------------------------------------------------------------&&& }istream& operator&&(istream & is, Student & obj){ /* char temp[200]; is&& is&&obj.N is&& is&&obj.N is&& is&&obj.B is&& is&&obj.S is&& is&&obj.PhoneN is&& is&&obj.A is&&
char temp[200]; is&&obj.Name&&obj.Number&&obj.Birthday&&obj.Sex&&obj.PhoneNumber&&obj.A
is&& }class InfList{public: Student * head, * public: InfList(){head=tag=NULL; size=0;} ~InfList(){delete[]} bool BulidFromFile(); void Insert(); void Delete(string name); void Find(string name); void PrintAll(); void WriteToFile(); void GetFromFile();
};int InfList::flag = 0;void InfList::Insert(){ Student * p=new S if(head==NULL)
head=tag=p;
tag-&next=p;
} cout&&&插入成功&&&}void InfList::Find(string name){ if(head==NULL)
cout&&&通讯录为空!&&& else {
for(p = p=p-&next)
if(p-&Name==name)
p-&show();
if(p==NULL)
cout&&&不存在此人!&&&
}}void InfList::Delete(string name){ if(head==NULL)
cout&&&通讯录为空!&&& else {
Student * p, *
for(p= p&&(p-&Name!=name); q=p,p=p-&next);
if(p==head)
if(p-&next)
//delete[]
//delete[]
head=tag=p=NULL;
else if(tag==p)
tag-&next=NULL;
q-&next=p-&
//delete[]
cout&&&成功删除!&&& }}void InfList::PrintAll(){ if(head==NULL)
cout&&&通讯录为空!&&& else {
cout&&std::left&&setw(13)&&&Name&&&setw(13)&&&Number&&&setw(10)&&&Birthday&&&setw(6)&&&Sex&&&setw(13)&&&PhoneNumber&&&setw(21)&&&Adress&&&
cout&&&------------------------------------------------------------------------------\n&;
Student * p =
//p-&show();
} }}void InfList::WriteToFile(){
char FileName[200]; cout&&&要保存到的文件名?&&& cin&&FileN fop.open(FileName,ios::out); if(!fop) {
cout&&&File can not be open&&&
abort(); } Student * fop&&std::right&&setw(50)&&&学生通讯录\n&&&
fop&&std::left&&setw(13)&&&Name&&&setw(13)&&&Number&&&setw(10)&&&Birthday&&&setw(6)&&&Sex&&&setw(13)&&&PhoneNumber&&&setw(21)&&&Adress&&& fop&&&------------------------------------------------------------------------------\n&; for(p=p;p=p-&next) {
fop&&*p; } fop.close();}void InfList::GetFromFile(){
char FileName[200]; cout&&&要打开的文件名?&&& cin&&FileN
cout&& fip.open(FileName,ios::in); if(!fip) {
cout&&&File can not be open&&&
abort(); } fip.getline(FileName,80); fip.getline(FileName,80);
fip.getline(FileName,80);
fip.getline(FileName,80);
cout&&std::left&&setw(13)&&&Name&&&setw(13)&&&Number&&&setw(10)&&&Birthday&&&setw(6)&&&Sex&&&setw(13)&&&PhoneNumber&&&setw(21)&&&Adress&&& cout&&&------------------------------------------------------------------------------\n&; while(!fip.eof()) {
Student * p=new Student(1);
if(p-&Name&&0&)
if(head==NULL)
head=tag=p;
tag-&next=p;
cout&& } fip.close();}int main(){ int choice=9;
InfList * class5; while(choice!=8) {
cout&&std::left&&setw(35)&&&1-----新建学生通讯录&;
cout&&std::left&&setw(35)&&&2-----向学生通讯录插入学生信息&&&
cout&&std::left&&setw(35)&&&3-----在通讯录删除学生信息&;
cout&&std::left&&setw(35)&&&4-----从文件中读取通讯录信息&&&
cout&&std::left&&setw(35)&&&5-----向文件写入学生通讯录信息&;
cout&&std::left&&setw(35)&&&6-----在通讯录中查询学生信息&&&
cout&&std::left&&setw(35)&&&7-----在屏幕中输出全部学生信息&;
cout&&std::left&&setw(35)&&&8-----退出&&&
cout&&&请选择操作:&&&
switch(choice)
class5 = new InfL
cout&&&通讯录建立成功!&&&
InfList::flag=1;
if(!InfList::flag)
cout&&&通讯录未建立!\n正在建立通讯录...&&&
class5= new InfL
InfList::flag=1;
cout&&&通讯录建立成功!&&&
class5-&Insert();
Student * p=class5-&
cout&&*p&&
if(!InfList::flag)
cout&&&通讯录未建立!&&&
cout&&&请输入要删除信息的用户名:&&&
class5-&Delete(name);
if(!InfList::flag)
class5= new InfL
InfList::flag=1;
if(class5-&head != NULL)
cout&&&当前通讯录不为空,在打开其他文件前,是否先保存当前通讯录?&&&
char x='y';
if(x!='n'&&x!='N')
class5-&WriteToFile();
class5-&head = NULL;
class5-&GetFromFile();
if(!InfList::flag)
cout&&&通讯录未建立!&&&
class5-&WriteToFile();
if(!InfList::flag)
cout&&&通讯录未建立!&&&
cout&&&请输入要查询信息的用户名:&&&
class5-&Find(name);
if(!InfList::flag)
cout&&&通讯录未建立!&&&
class5-&PrintAll();
} } return 0;}
提问者评价
来自团队:
其他类似问题
为您推荐:
课程设计的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 c 编写通讯录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信