欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [优秀毕业设计精品] 简单通讯录程序.doc

    • 资源ID:3932549       资源大小:76KB        全文页数:46页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [优秀毕业设计精品] 简单通讯录程序.doc

    C+语言程序设计课程设计设计题目 简单通讯录程序 专 业 计算机科学与技术 班 级 2010级 姓 名 学 号 指导教师 2011年6月20日目 录1. 设计目标32.设计思想33.类的设计34.程序源代码55.遇到的问题及解决方法56.调试运行结果67.总结8简单通讯录程序1.设计目标:1.1设计题目描述本程序能够针对用户所要查询的联系人,显示输出普通通讯录所能显示的部分信息,比如查找联系人,增加联系人,删除联系人,显示所有联系人 ,保存记录等。1.2设计目标本设计要求实现如下功能:(1)有对用户的输入信息进行判断,排除不合理输入信息的能力。(2)能显示所查联系人的所有信息。(3)能够删除联系人,是删除一个还是所有人。(4)能够让用户多次查询,按照姓名或者号码。(5)修改联系人信息,可以选择自己想要修改的内容。(6)保存的信息显示在文本文件中。2.设计思想在本程序中, 因为所有的处理数据函数都是围绕着用户所输入的内容展开的。所以可以定义一个txl类,来包含用户所输入的信息,然后围绕这个类再来设定处理它的函数。因为要用到生日,所以程序又加了一个生日类。在程序设计初期,我首先使它能够基本完成部分的任务,然后针对各项任务再在细节上增强它的健壮性,可行性以及它的全面性。3.类的设计3.1 类的定义本程序定义了一个txl类。并将其定义放在了tongxunlu.h头文件中。在类中,包含私有成员变量多个:name,address,number,sex,qq,year,bitth,month,day,Y,a,b。分别用于存储用户所要姓名,地址,电话号码,性别,QQ号,生日,年,月,日等信息;另外,定义了部分公共成员函数,用于实现特定的功能,具体如下:1char inter_face();/首页 2. void add_person();/添加联系人 3. void dels();/删除联系人 4. void del_all();/删除所有联系人 5. void del_sigle();/删除一个联系人 6. void show_all();/显示所有联系人 7. void alter();/修改信息 8void select();/查询联系人 9. void sel_name();/按姓名查找 10.void sel_number();/按号码查找 11.void save_new();/保存新增加的联系人 3.2 类的实现在此只涉及部分函数的实现细节,其他函数详看程序源代码:1、在添加联系人void add_person()中,通过将姓名,地址,QQ号,性别,电话号码,生日字符串,数组字符串,整型,从而可以通过多个if语句判断输入的准确性,来排除错误的或者是不存在的日期等不合理输入信息,并通过while语句允许用户重新输入原先输入错误的信息。等确定输入正确后,程序继续。2、在删除联系人void dels()中,通过选择菜单进入所需要的内容中,删除一个联系人void del_sigle()和删除所有联系人void del_all(),由这些函数实现具体的功能。3、在查询联系人void select()中,通过选择菜单进入所要选的内容:按姓名查找void sel_name()和按号码查找void sel_number(),并由它们实现功能。4.在修改信息void alter()中,运用while,if,switch等语句对程序进行循环。同时还可以根据自己所要修改的信息进行修改,这样就比较简单和方便操作。4.程序源代码 #include <iostream>#include <string>#include <iomanip>#include <fstream>using namespace std; /出生日期类class birthdaypublic: birthday();/默认构造 int get_year();/获得出生的年份 int get_month();/获得出生的月份 int get_day();/获得出生的日 void set_birth();/设置出生日期private: int year; int month; int day;class txlpublic: int d; txl();/默认构造函数 char inter_face();/首页 void add_person();/添加联系人 void dels();/删除联系人 void del_all();/删除所有联系人 void del_sigle();/删除一个联系人 void show_all();/显示所有联系人 void alter();/修改信息 void select();/查询联系人 void sel_name();/按姓名查找 void sel_number();/按号码查找 void save_new();/保存新增加的联系人 private: string name;/姓名 string address;/地址 string number;/电话号码 string sex;/性别 string qq;/QQ号 string birth;/生日 int year; / int month; int day; char Y; / char a; char b;/生日类构造函数birthday:birthday() year = 0; month = 0; day = 0;/得到年份 int birthday:get_year() return year;/得到月份int birthday:get_month() return month;/得到日int birthday:get_day() return day;/设置出生日期void birthday:set_birth() cout<<"年:" ; cin>>year; cout<<endl; cout<<"月:" cin>>month; cout<<endl; cout<<"日:" cin>>day; cout<<endl;txl:txl():birth()/初始化 name = "0" address = "0" number = "0" sex = "0" qq = "0" year =0; month =0; day =0;/首页char txl:inter_face() system("cls"); cout <<endl; sign1: cout<<"t " <<endl <<"t | |" <<endl <<"t 通 讯 录 管 理 系 统 " <<endl <<"t | |" <<endl <<"t 1. 添加联系人 " <<endl <<"t | |" <<endl <<"t 2. 删除联系人 " <<endl <<"t | |" <<endl <<"t 3. 显示所有联系人 " <<endl <<"t | |" <<endl <<"t 4. 修改信息 " <<endl <<"t | |" <<endl <<"t 5. 查询联系人 " <<endl <<"t | |" <<endl <<"t 6.关闭系统 " <<endl <<"t | |" <<endl <<"t " <<endl <<"ttt请您选择(1-6) :" ; char choose; cin >>choose; fflush(stdin); return choose;/添加联系人void txl:add_person() cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl <<"姓名 :" ; cin >>name; fflush(stdin); cout<<endl; cout <<"电话 : " cin >>number; fflush(stdin); while(1) if(number>"200000000000") cout<<"该号码错误,请核对后重新输入。"<<endl; cout <<"电话 : " cin >>number; fflush(stdin); cout<<endl; cout <<"QQ : " cin >>qq; fflush(stdin); cout<<endl; cout <<"性别 : " cin >>sex; fflush(stdin); cout<<endl; cout <<"地址 : " cin >>address; cout<<endl; fflush(stdin); cout<<"生日的年:" cin>>year; fflush(stdin); cout<<endl; cout<<"月:" cin>>month; fflush(stdin); while(1) if(month>=13) cout<<"该月份错误,请检查核对后重新输入。"<<endl; cout<<"月:" ; cin>>month; fflush(stdin); cout<<endl; cout<<"日:" cin>>day; fflush(stdin); while(1) if (day>=32) cout<<"该日期错误,请检查核对后重新输入。"<<endl; cout<<"日:" cin>>day; fflush(stdin); cout<<"确定要保存吗(Y/N)"<<endl; cin>>a; if(a='Y'|a='y') save_new(); cout <<endl <<endl <<"新联系人信息已经保存好!" <<endl; else cout<<"没有保存"<<endl; system("pause"); /删除联系人 void txl:dels() char xz; while (1) system("cls"); cout <<endl <<"t联系人信息" <<endl <<endl; cout <<endl <<"tt1. 删除除一个联系人信息" <<endl <<endl <<"tt2. 删除所有联系人信息" <<endl <<endl <<"tt3. 返回首页" <<endl; xz = b; fflush(stdin); cin>>xz; switch (xz) case '1': del_sigle();/删除一个联系人信息 break; case '2': del_all();/删除所有联系人信息 break; case '3': return; exit(0); default: break; system("pause"); void txl:del_sigle() /删除一个联系人 ofstream outData("temp.txt", ios:out);/文件输入流 ifstream inData("pbook.txt", ios:in); /文件输出流 if (!outData | !inData) cout<<"对不起!找不到文件!" <<endl; system("pause"); return; string sign; cout <<endl <<"你要删除输入姓名或电话号 :" cin >>sign; string str1; string str3; bool flag = true; string str; while (inData >>name >>number) getline(inData, str);/从输入流中读取字符 if (sign=name) | (sign=number) cout <<endl <<"你想删除的联系人" ; cout<<"确定要删除吗(Y/N)"<<endl; cin>>a; if(a='Y'|a='y') cout <<str1 <<endl; cout <<setiosflags(ios:left) <<setw(17) <<name <<" " <<number <<str <<endl; cout <<"联系人已经删除好!" <<endl; flag=false; else cout<<"没有删除"<<endl; system("pause"); break; outData <<setiosflags(ios:left) <<setw(17) <<name <<" " <<number <<str <<endl; while (getline(inData, str) outData <<str <<endl; outData.close(); inData.close(); ofstream out("pbook.txt", ios:out); ifstream in("temp.txt", ios:in); if (!out | !in)/不是输入或不是输出流的 cout <<endl <<"对不起不能打开文件!" <<endl <<endl; system("pause"); return; while (getline(in, str) out <<str <<endl; out.close(); in.close(); system("pause"); void txl:del_all()/删除所有人 string all; bool flag1=true; ofstream outData("temp.txt", ios:out); ifstream inData("pbook.txt", ios:in); while (inData>>name>>number) cout<<"此操作不可恢复,确定要全部删除吗(Y/N)"<<endl; cin>>b; if(b='Y'|b='y') cout <<all <<endl; cout <<setiosflags(ios:left) <<setw(17) <<name <<" " <<number <<all<<endl; cout <<"联系人已经完全删除!" <<endl; flag1=false; else cout<<"没有删除"<<endl; system("pause"); break; return ; outData <<setiosflags(ios:left) <<setw(17) <<name <<" " <<number <<all<<endl; ofstream out("pbook.txt", ios:out); ifstream in("temp.txt", ios:in); while (getline(in,all) out <<all<<endl; out.close(); in.close(); system("pause"); /显示所有联系人void txl:show_all() ifstream inData("pbook.txt",ios:in); if (!inData) cout <<endl <<"对不起!没有找到文件!" <<endl; system("pause"); return; bool flag = true; string record; while (getline(inData, record) if (flag) cout <<endl <<"所有联系人信息如下: "<<endl; cout<< setw(4)<<"姓名" << setw(11)<<"地址 " << setw(13)<<"QQ号 " << setw(13)<<"电话号" << setw(9)<<"性别" << setw(15)<<" 生日的年 月 日 " <<endl; cout<<record<<endl; flag = false; if (flag) cout <<endl <<"你的通迅录中没有联系人!" <<endl <<endl; else cout <<endl <<"所有联系人已经全部显示出来!" <<endl <<endl; system("pause");/修改信息void txl:alter() char choice; ofstream outData("temp.txt", ios:out); ifstream inData("pbook.txt", ios:in); if (!outData | !inData) cout <<endl <<"对不起!找不到文件!" <<endl; system("pause"); return; string sign; cout <<endl <<"你要修改输入姓名或电话号 :" cin >>sign; string str1; bool flag = true; string str; while (inData >>name >>number) getline(inData, str); if (sign=name) | (sign=number) cout <<endl <<"你想修改的联系人:" <<endl <<endl; cout <<str1 <<endl; cout <<setiosflags(ios:left) <<setw(17) <<name <<" " <<number <<str <<endl; sign: cout <<endl <<"请根据下面提示修改信息 : " <<endl; cout<<"ntt &&&&&&&&& 1 姓名 &&&&&&&&& "<<endl; cout<<"ntt &&&&&&&&& 2 电话号码 &&&&&&&&& "<<endl; cout<<"ntt &&&&&&&&& 3 QQ &&&&&&&&& "<<endl; cout<<"ntt &&&&&&&&& 4 性别 &&&&&&&&& "<<endl; cout<<"ntt &&&&&&&&& 5 地址 &&&&&&&&& "<<endl; cout<<"ntt &&&&&&&&& 6 生日 &&&&&&&&& "<<endl; cout<<"ntt &&&&&&&&& 0 退出 &&&&&&&&& "<<endl; cin >> choice; system("cls"); switch (choice) case '1': cout << "姓名:"<<endl; cin >> name; fflush(stdin); break; case '2': cout << "电话号码:"<<endl; cin >> number; fflush(stdin); break; case '3': cout <<" QQ:"<<endl; cin >> qq; fflush(stdin); break; case '4': cout << " 性别:"<<endl; cin >> sex; fflush(stdin); break; case '5': cout<<"地址:"<<endl; cin>>address; fflush(stdin); break; case '6': cout<<"生日的年:" cin>>year; fflush(stdin); cout<<endl; cout<<"月:" cin>>month; fflush(stdin); cout<<endl; cout<<"日:" cin>>day; fflush(stdin); cout<<endl; break; case '0': return; exit(0); default: break; save_new(); flag = false; cout<<"确定要修改吗(Y/N)"<<endl; cin>>a; if(a='Y'|a='y') cout <<endl <<endl <<"联系人已经修改好!" <<endl; outData <<setiosflags(ios:left) <<setw(17) <<name <<" " <<number <<str <<endl; goto sign; else cout<<"没有修改"<<endl; goto sign; system("pause"); if (flag) cout <<endl <<"对不起!联系人中没你找的人!" <<endl <<endl; else while (getline(inData, str) outData <<str <<endl; outData.close(); inData.close(); ofstream out("pbook.txt", ios:out); ifstream in("temp.txt", ios:in); if (!out | !in) cout <<endl <<"对不起不能打开文件!" <<endl <<endl; system("pause"); return; while (getline(in, str) out <<str <<endl; out.close(); in.close(); system("pause"); /查询联系人void txl:select() char yz; while (1)

    注意事项

    本文([优秀毕业设计精品] 简单通讯录程序.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开