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

    c语言 通讯录程序代码.docx

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

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

    c语言 通讯录程序代码.docx

    c语言 通讯录程序代码#include<iostream.h> #include<fstream.h> #include<stdlib.h> #include<string.h> #include<stdio.h> class student public: char num20; char name20; char address40; char tel_num12; char post_code7; char e_mail40; ; class function:public student public: ; /主函数 int main function a; char select1; cout<<endl; int m=0; void add; void del; void find_num; void find_name; void list_num; void list_name; void correct; void format; void show; do cout<<"-通讯录-"<<endl; cout<<"*"<<endl; cout<<"*1.通讯录编辑 2.查询联系人 3.按序排列 4.格式化 5.显示通讯录 6.清屏 7.退出*"<<endl; cout<<"*"<<endl; cout<<"请选择:" cin>>select1; cout<<"-"<<endl; switch(select1) case'1':cout<<"1.添加 2.删除 3.修改 4.返回主菜单"<<endl; char select2; cout<<"请选择:"<<endl; cin>>select2; switch(select2) case '1':a.add; break; break; break; case'2':a.del; case'3':a.correct; case'4':break; default:cout<<"输入错误!"<<endl; break; case'2':cout<<"1.姓名查找 2.学号查找 3.返回主菜单"<<endl; char select3; cout<<"请选择:" cin>>select3; "<<endl; switch(select3) case'1':a.find_name; break; case'2':a.find_num; break; case'3':break; default:cout<<"输入错误!"<<endl; break; case'3':cout<<"1.按学号排序 2.按姓名排序 3.返回主菜单 cout<<"请选择:" char select4; cin>>select4; switch(select4) case'1':a.list_num; break; case'2':a.list_name; break; case'3':break; default:cout<<"输入错误!"<<endl; break; case'4':cout<<"请确认删除所有资料" char select5; cin>>select5; if(select5='Y'|select5='y') a.format; break; case'5':a.show;break; case'6':system("cls");break;/清屏函数 case'7':m=1;cout<<"谢谢使用!"<<endl;break; default:cout<<"输入错误!"<<endl; while(m!=1); /添加联系人 void function:add int i; cout<<"输入添加个数(10个以内):" cin>>i; student stud140=0; ofstream outfile("学生通讯录.dat",ios:app|ios:binary); if (! outfile) for(int j=0;j<i;j+) cout<<"学号:" cin>>stud1j.num; cout<<"姓名:" cin>>stud1j.name; cout<<"地址:" cin>>stud1j.address; cout<<"电话号码:" cin>>stud1j.tel_num; cout<<"邮编:" cin>>stud1j.post_code; cout<<"电子邮件:" cin>>stud1j.e_mail; outfile.write(char*)&stud1j,sizeof(stud1j); cerr<<"打开错误,程序将退出!" abort; return 0; outfile.close ; /删除联系人 void function:del student stud240=0; char name20="0" cout<<"请输入要删除的学生的姓名:" cin>>name; ifstream infile("学生通讯录.dat",ios:binary); if (!infile) int k=0; while(1) infile.read(char*)&stud2k,sizeof(stud2k); if(infile.eof)break; k+; infile.close; remove("学生通讯录.dat"); ofstream outfile("学生通讯录.dat",ios:binary); if (!outfile) int i=0; while(1) if(i>k-1)break;/每删除一项就会减少一组数据,所以是k-1 if(!strcmp(stud2i.name,name) cerr<<"打开错误,程序将退出!" abort; cerr<<"打开错误,程序将退出!" abort; i=i+1; if(i>k-1)break; outfile.write(char*)&stud2i,sizeof(stud2i); i+; outfile.close; if(k-1=0) remove("学生通讯录.dat"); /修改联系人 void function:correct student stud340=0; ifstream infile("学生通讯录.dat",ios:binary); int k=0; while(1) if(infile.eof)break; infile.read(char*)&stud3k,sizeof(stud3k); k+; infile.close; char name20="0" cout<<"请输入要修改学生的姓名:" cin>>name; int x; for(int i=0;i<k;i+) char select; if(!strcmp(stud3i.name,name) x=i; cout<<"1.修改姓名 2.修改学号 3.修改地址 4.修改邮编 5.修改电话号码 cout<<"请选择:" cin>>select; case'1':cout<<"输入要修改的姓名:" cin>>name1; strcpy(stud3x.name,name1); cout<<"修改成功"<<endl; break; cin>>num1; strcpy(stud3x.num,num1); cout<<"修改成功"<<endl; break; cin>>address1; strcpy(stud3x.address,address1); cout<<"修改成功"<<endl; break; cin>>post_code1; strcpy(stud3x.post_code,post_code1); char name120="0" char num120="0" char address140="0" char post_code17="0" char tel_num120="0" char e_mail140="0" 6.修改E_MAIL"<<endl; switch(select) case'2':cout<<"输入要修改的学号:" case'3':cout<<"输入要修改的地址:" case'4':cout<<"输入要修改的邮编:" cout<<"修改成功"<<endl; break; case'5':cout<<"输入要修改的电话号码:" cin>>tel_num1; strcpy(stud3x.tel_num,tel_num1); break; case'6':cout<<"输入要修改的E_MAIL" cin>>e_mail1; strcpy(stud3x.e_mail,e_mail1); cout<<"修改成功"<<endl; break; default:cout<<"输入错误!"break; remove("学生通讯录.dat"); ofstream outfile("学生通讯录.dat",ios:binary); int l=0; while(1) if(l>k-2)break; outfile.write(char*)&stud3l,sizeof(stud3l); l+; outfile.close; /按学号查询 void function:find_num student stud440=0; ifstream infile("学生通讯录.dat",ios:binary); if(infile.peek=EOF) 文件是否为空,本程序格式化过后查找出现未知数据。 cout<<"文件为空"<<endl; /发现如果不判断 dl; return; cout<<"请输入学号:" char num20="0" cin>>num; cout<<"-"<<enint i=0; while(1) if(!infile.eof) cout<<"学号:"<<stud4i.num<<endl; infile.read(char*)&stud4i,sizeof(stud4i); if(!strcmp(stud4i.num,num)|infile.eof) i+; break; cout<<"姓名:"<<stud4i.name<<endl; cout<<"地址:"<<stud4i.address<<endl; else cout<<"输入的学号查不到"<<endl; infile.close; cout<<"电话号码:"<<stud4i.tel_num<<endl; cout<<"邮编:"<<stud4i.post_code<<endl; cout<<"E-MAIL:"<<stud4i.e_mail<<endl; /按姓名查找 void function:find_name student stud540=0; ifstream infile("学生通讯录.dat",ios:binary); if(infile.peek=EOF) dl; cout<<"请输入姓名:" char name20="0" cin>>name; cout<<"-"<<enfor(int i=0;i<40;i+) infile.read(char*)&stud5i,sizeof(stud5i); if(!strcmp(stud5i.name,name)|infile.eof) break; if(!infile.eof) cout<<"学号:"<<stud5i.num<<endl; cout<<"文件为空"<<endl; return; cout<<"姓名:"<<stud5i.name<<endl; cout<<"地址:"<<stud5i.address<<endl; cout<<"电话号码:"<<stud5i.tel_num<<endl; cout<<"邮编:"<<stud5i.post_code<<endl; cout<<"E-MAIL:"<<stud5i.e_mail<<endl; else cout<<"输入的姓名查不到"<<endl; infile.close; /按学号排序 void function:list_num student stud640=0; ifstream infile("学生通讯录.dat",ios:binary); int k=0; while(1) if(infile.eof)break; infile.read(char*)&stud6k,sizeof(stud6k); k+; for(int j=0;j<k-i;j+) if(strcmp(stud6j.num,stud6j+1.num)>0) strcpy(num,stud6j.num); strcpy(stud6j.num,stud6j+1.num); strcpy(stud6j+1.num,num); strcpy(name,stud6j.name); strcpy(stud6j.name,stud6j+1.name); strcpy(stud6j+1.name,name); strcpy(address,stud6j.address); strcpy(stud6j.address,stud6j+1.address); strcpy(stud6j+1.address,address); strcpy(tel_num,stud6j.tel_num); strcpy(stud6j.tel_num,stud6j+1.tel_num); strcpy(stud6j+1.tel_num,tel_num); char num20="0" char name20="0" char address40="0" char tel_num12="0" char post_code7="0" char e_mail40="0" for(int i=0;i<k-1;i+) strcpy(post_code,stud6j.post_code); strcpy(stud6j.post_code,stud6j+1.post_code); strcpy(stud6j+1.post_code,post_code); strcpy(e_mail,stud6j.e_mail); strcpy(stud6j.e_mail,stud6j+1.e_mail); strcpy(stud6j+1.e_mail,e_mail); infile.close; remove("学生通讯录.dat"); ofstream outfile("学生通讯录.dat",ios:binary); int l=0; while(1) if(l>k-2)break; outfile.write(char*)&stud6l+2,sizeof(stud6l+2); l+; outfile.close; /按姓名排序 void function:list_name student stud740=0; char num20="0" char name20="0" char address40="0" char tel_num20="0" char post_code7="0" char e_mail40="0" ifstream infile("学生通讯录.dat",ios:binary); int k=0; while(1) if(infile.eof)break; else infile.read(char*)&stud7k,sizeof(stud7k); k+; infile.close; for(int i=0;i<k-1;i+) for(int j=0;j<k-i;j+) strcpy(stud7j+1.post_code,post_code); strcpy(e_mail,stud7j.e_mail); strcpy(stud7j.e_mail,stud7j+1.e_mail); strcpy(stud7j+1.e_mail,e_mail); if(strcmp(stud7j.name,stud7j+1.name)>0) strcpy(num,stud7j.num); strcpy(stud7j.num,stud7j+1.num); strcpy(stud7j+1.num,num); strcpy(name,stud7j.name); strcpy(stud7j.name,stud7j+1.name); strcpy(stud7j+1.name,name); strcpy(address,stud7j.address); strcpy(stud7j.address,stud7j+1.address); strcpy(stud7j+1.address,address); strcpy(tel_num,stud7j.tel_num); strcpy(stud7j.tel_num,stud7j+1.tel_num); strcpy(stud7j+1.tel_num,tel_num); strcpy(post_code,stud7j.post_code); strcpy(stud7j.post_code,stud7j+1.post_code); /格式化 void function:format /显示通讯录 void function:show student stud840=0; ifstream infile("学生通讯录.dat",ios:in|ios:binary); infile.seekg(0,ios:beg); if(infile.peek=EOF) int i=0; while(1) cout<<"文件为空"<<endl; return; remove("学生通讯录.dat"); remove("学生通讯录.dat"); ofstream outfile("学生通讯录.dat",ios:binary); int l=0; while(1) if(l>k-2) break; outfile.write(char*)&stud7l+2,sizeof(stud7l+2); l+; outfile.close; infile.read(char*)&stud8i,sizeof(stud8i); if(infile.eof) else cout<<"学号:"<<stud8i.num<<endl; cout<<"姓名:"<<stud8i.name<<endl; cout<<"地址:"<<stud8i.address<<endl; cout<<"电话号码:"<<stud8i.tel_num<<endl; cout<<"邮编:"<<stud8i.post_code<<endl; cout<<"E-MAIL:"<<stud8i.e_mail<<endl; i+; break; infile.close;

    注意事项

    本文(c语言 通讯录程序代码.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开