1、C+通讯录课程设计报告C+面向对象程序设计课程设计报告设计题目: 通讯录系统 学生学号: P P 学生姓名: 王元波 次仁多布杰 专业班级:2009级计算机科学与技术(3)班 学生成绩: 指导教师: 蔡正琦 计算机科学与信息工程学院2010-6-26一、设计任务分析实现以下功能: 1) 通讯录编辑(添加、删除); 2) 按不同的项进行查找; 3) 对已存在的通讯录按不同的项排序; 4) 将通讯录写入文件; 5) 从文件读入通讯录。 二、模块设计本次程序设计主要设计了六个模块(主要是:(),(),(),(),(),(),())()函数用于通讯录中的信息进行添加,主要流程如下:()函数用于通讯录中
2、的信息进行删除,主要流程如下:()函数用于通讯录中的信息进行修改,主要流程如下:()函数用于通讯录中的信息进行查找,主要流程如下:()函数用于通讯录中的信息进行排序,主要流程如下:()函数用于从文本文件中读取信息,主要流程如下:()函数用于将信息写入文本文件,主要流程如下:三、四、主要数据结构结构数组:struct student oendl; cout姓名:sti.nameendl; cout地址:sti.addressendl; cout电话号码:sti.tel_noendl; cout邮编:sti.post_codeendl; coutE_MAIL:sti.e_mailendl;/ ;通
3、讯录编辑. 4. 按序排列 . endl tt endl tt 2. 查询联系人. 5. 将文件读入程序. endl tt endl tt 3. 将资料写入文件. 6. 格式化(慎用). endl tt endl tt endl tt endlendl select1; switch(select1) case 1:cout (1)添加:endl; cout (2)删除:endl;、 cout (3)修改:endl; char select2; cout 请选择:select2; switch(select2) case 1:cout 输入添加的资料:endl; char no13;- cha
4、r name20; char address100; char tel_no12; char post_code7; char e_mail40; cout 输入学号:no; cout 输入姓名:name; cout 输入地址:address; cout 输入电话号码:tel_no; cout 输入邮编:post_code; cout 输入E_mail:e_mail; (no,name,address,tel_no,post_code,e_mail); coutback_add; if(back_add=R|back_add=r) goto top; else, goto bottom; br
5、eak; case 2:cout 输入要删除人的姓名:name2; (name2); coutback_del; if(back_del=R|back_del=r) goto top; else goto bottom; break; case 3:cout 输入需要修改人的姓名:name3; if(name3) goto top; else goto bottom; break; break; case 2:cout (1)根据姓名查找endl; cout (2)根据学号查找endl; char select3; coutselect3; switch(select3) case 1:cha
6、r name420; coutname4; (name4); coutback_f1; if(back_f1=R|back_f1=r) goto top; else( goto bottom; break; case 2:char no413; coutno4; (no4); coutback_f2; if(back_f2=R|back_f2=r) goto top; else goto bottom; break; break; case 3:(); coutback_w; if(back_w=R|back_w=r) goto top; else goto bottom;( break; c
7、ase 4:cout (1)按学号排序:endl; cout (2)按姓名排序:endl; coutselect4; switch(select4) ! case 1:(); coutback; if(back=R|back=r) goto top; else goto bottom; break; case 2:(); coutback1; if(back1=R|back1=r) goto top; else- goto bottom; break; break; case 5:(); coutback_r; if(back_r=R|back_r=r) goto top; else goto
8、 bottom; break; case 6:coutselect5; if(select5=Y|select5=y) (); coutback_f; if(back_f=R|back_f=r) goto top; else, goto bottom; break; bottom:cout 欢迎使用本软件! endl; return 0;o,0) 、 strcpy(sti.address,address); strcpy(sti.e_mail,e_mail); strcpy(sti.name,name); strcpy(sti.no,no); strcpy(sti.post_code,post
9、_code); strcpy(sti.tel_no,tel_no); x=0; 、 if(x=0) break; ame,name) strcpy(sti.address,0); strcpy(sti.e_mail,0); strcpy(sti.name,0); strcpy(sti.no,0); strcpy(sti.post_code,0); strcpy(sti.tel_no,0); else x=0; if(x=0)! cout error:输入姓名错误!endl;ame,name) x=i; char select; cout (1)修改姓名:endl; cout (2)修改学号:e
10、ndl; cout (3)修改地址:endl; cout (4)修改邮编:endl; cout (5)修改电话号码:endl; cout (6)修改E_MAIL:endl; coutselect; switch(select) case 1:coutname1; strcpy(stx.name,name1); cout 修改成功!endl; return back(); break; case 2:coutno1; strcpy(sti.no,no1); cout 修改成功!endl; return back(); break; case 3:coutaddress1; strcpy(stx.
11、address,address1); cout 修改成功!endl; return back(); break; case 4:coutpost_code1; strcpy(stx.post_code,post_code1); cout 修改成功!endl; return back(); break; case 5:couttel_no1; strcpy(stx.tel_no,tel_no1); cout 修改成功!endl; return back(); break; case 6:coute_mail1; strcpy(stx.e_mail,e_mail1); cout 修改成功!endl
12、;| return back(); break; o,no) x=i; z=0; else y=0; if(z=0) break; if(y=0) cout 输入的学号查找不到! if(z=0) break; if(y=0) cout 输入的姓名查找不到!endl; print(x);xt); ifstream file(name1); char line120; char no120; char name120; char address120; char post_code120; char tel_no120; char e_mail120; int time=0; (line,120)
13、; while(!() for(int k=0;k35;k+) if(time=0) strcpy(no,line); time=1; for(int i=0;i120;i+) if(noi=:) i+; for(int j=0;j13;j+)| stk.noj=noi; i+; (line,120,n); 【 if(time=1) strcpy(name,line); time=2; for(int i=0;i120;i+) if(namei=:) ! i+; for(int j=0;j20;j+) stk.namej=namei; i+; % (line,120,n); if(time=
14、2) strcpy(address,line); time=3; for(int i=0;i120;i+) 【 if(addressi=:) i+; for(int j=0;j100;j+) stk.addressj=addressi; i+; / (line,120,n); if(time=3) strcpy(tel_no,line); time=4;; for(int i=0;i120;i+) if(tel_noi=:) i+; for(int j=0;j12;j+) stk.tel_noj=tel_noi;! i+; (line,120,n); if(time=4)| strcpy(po
15、st_code,line); time=5; for(int i=0;i120;i+) if(post_codei=:) i+; for(int j=0;j7;j+) stk.post_codej=post_codei; i+; (line,120,n); if(time=5) strcpy(e_mail,line); time=0; for(int i=0;i120;i+) if(e_maili=:) i+; for(int j=0;j40;j+) stk.e_mailj=e_maili; i+; ? (line,120,n); ();xt);# ofstream savefile(name
16、); for(int i=0;i35;i+) savefile 学号:sti.noendl; savefile 姓名:sti.nameendl; savefile 地址:sti.addressendl; savefile 电话号码:sti.tel_noendl; savefile 邮编:sti.post_codeendl; savefile E_MAIL:sti.e_mail0) char no13; char name20;: char address100; char tel_no12; char post_code7; char e_mail40; strcpy(no,stj.no);
17、strcpy(stj.no,stj+1.no); strcpy(stj+1.no,no);! strcpy(name,stj.name); strcpy(stj.name,stj+1.name); strcpy(stj+1.name,name); strcpy(address,stj.address); strcpy(stj.address,stj+1.address); strcpy(stj+1.address,address); strcpy(tel_no,stj.tel_no); strcpy(stj.tel_no,stj+1.tel_no); strcpy(stj+1.tel_no,t
18、el_no); strcpy(post_code,stj.post_code); strcpy(stj.post_code,stj+1.post_code); strcpy(stj+1.post_code,post_code); strcpy(e_mail,stj.e_mail); strcpy(stj.e_mail,stj+1.e_mail); strcpy(stj+1.e_mail,e_mail); for(int k=0;k35;k+)【 int x=0; if(strcmp(stk.no,0) print(k); x=1; if(x=1) coutendl; cout-0) char
19、no13; char name20; char address100; char tel_no12; char post_code7; char e_mail40; strcpy(no,stj.no);* strcpy(stj.no,stj+1.no); strcpy(stj+1.no,no); strcpy(name,stj.name); strcpy(stj.name,stj+1.name); strcpy(stj+1.name,name); strcpy(address,stj.address);( strcpy(stj.address,stj+1.address); strcpy(st
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1