c语言 通讯录程序代码Word文档格式.docx
- 文档编号:22679051
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:19
- 大小:17.27KB
c语言 通讯录程序代码Word文档格式.docx
《c语言 通讯录程序代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言 通讯录程序代码Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
do
{
cout<
"
---------------------------------通讯录-----------------------------------"
******************************************************************************"
*1.通讯录编辑2.查询联系人3.按序排列4.格式化5.显示通讯录6.清屏7.退出*"
请选择:
;
cin>
>
select1;
------------------------------------------------------------------------------"
switch(select1)
case'
1'
:
1.添加2.删除3.修改4.返回主菜单"
charselect2;
cin>
select2;
switch(select2)
case'
a.add();
break;
case'
2'
a.del();
3'
a.correct();
4'
break;
default:
输入错误!
}
break;
1.姓名查找2.学号查找3.返回主菜单"
charselect3;
cout<
请选择:
cin>
select3;
switch(select3)
{
case'
a.find_name();
break;
a.find_num();
default:
}
1.按学号排序2.按姓名排序3.返回主菜单"
cout<
charselect4;
cin>
select4;
switch(select4)
{
case'
a.list_num();
break;
a.list_name();
default:
}
请确认删除所有资料(Y/N)"
charselect5;
cin>
select5;
if(select5=='
Y'
||select5=='
y'
)
a.format();
5'
a.show();
6'
system("
cls"
);
//清屏函数
7'
m=1;
谢谢使用!
}
}while(m!
=1);
return0;
//添加联系人
voidfunction:
add()
{inti;
输入添加个数(10个以内):
i;
studentstud1[40]={0};
ofstreamoutfile("
学生通讯录.dat"
ios:
app|ios:
binary);
if(!
outfile)
cerr<
打开错误,程序将退出!
abort();
for(intj=0;
j<
j++)
学号:
stud1[j].num;
姓名:
stud1[j].name;
地址:
stud1[j].address;
电话号码:
stud1[j].tel_num;
邮编:
stud1[j].post_code;
电子邮件:
stud1[j].e_mail;
outfile.write((char*)&
stud1[j],sizeof(stud1[j]));
outfile.close();
//删除联系人
del()
studentstud2[40]={0};
charname[20]="
\0"
请输入要删除的学生的姓名:
name;
ifstreaminfile("
if(!
infile)
cerr<
abort();
intk=0;
while
(1)
infile.read((char*)&
stud2[k],sizeof(stud2[k]));
if(infile.eof())break;
k++;
infile.close();
remove("
ofstreamoutfile("
outfile)
inti=0;
{if(i>
k-1)break;
//每删除一项就会减少一组数据,所以是k-1
if(!
strcmp(stud2[i].name,name))
i=i+1;
if(i>
outfile.write((char*)&
stud2[i],sizeof(stud2[i]));
i++;
outfile.close();
if(k-1==0)
remove("
//修改联系人
correct()
studentstud3[40]={0};
{if(infile.eof())break;
stud3[k],sizeof(stud3[k]));
请输入要修改学生的姓名:
intx;
for(inti=0;
i<
k;
i++)
strcmp(stud3[i].name,name))
x=i;
charselect;
1.修改姓名2.修改学号3.修改地址4.修改邮编5.修改电话号码6.修改E_MAIL"
select;
charname1[20]="
charnum1[20]="
charaddress1[40]="
charpost_code1[7]="
chartel_num1[20]="
chare_mail1[40]="
switch(select)
输入要修改的姓名:
name1;
strcpy(stud3[x].name,name1);
修改成功"
输入要修改的学号:
num1;
strcpy(stud3[x].num,num1);
输入要修改的地址:
address1;
strcpy(stud3[x].address,address1);
输入要修改的邮编:
post_code1;
strcpy(stud3[x].post_code,post_code1);
输入要修改的电话号码:
tel_num1;
strcpy(stud3[x].tel_num,tel_num1);
输入要修改的E_MAIL"
e_mail1;
strcpy(stud3[x].e_mail,e_mail1);
intl=0;
{if(l>
k-2)break;
stud3[l],sizeof(stud3[l]));
l++;
//按学号查询
find_num()
studentstud4[40]={0};
if(infile.peek()==EOF)//发现如果不判断文件是否为空,本程序格式化过后查找出现未知数据。
文件为空"
return;
请输入学号:
charnum[20]="
num;
infile.read((char*)&
stud4[i],sizeof(stud4[i]));
if((!
strcmp(stud4[i].num,num))||infile.eof())break;
if(!
infile.eof())
stud4[i].num<
stud4[i].name<
地址:
stud4[i].address<
电话号码:
stud4[i].tel_num<
邮编:
stud4[i].post_code<
E-MAIL:
stud4[i].e_mail<
else
输入的学号查不到"
infile.close();
//按姓名查找
find_name()
studentstud5[40]={0};
if(infile.peek()==EOF)
请输入姓名:
40;
stud5[i],sizeof(stud5[i]));
strcmp(stud5[i].name,name)||infile.eof())
}
stud5[i].num<
stud5[i].name<
stud5[i].address<
stud5[i].tel_num<
stud5[i].post_code<
stud5[i].e_mail<
else
cout<
输入的姓名查不到"
//按学号排序
list_num()
studentstud6[40]={0};
stud6[k],sizeof(stud6[k]));
charnum[20]="
charname[20]="
charaddress[40]="
chartel_num[12]="
charpost_code[7]="
chare_mail[40]="
k-1;
for(intj=0;
k-i;
if(strcmp(stud6[j].num,stud6[j+1].num)>
0)
strcpy(num,stud6[j].num);
strcpy(stud6[j].num,stud6[j+1].num);
strcpy(stud6[j+1].num,num);
strcpy(name,stud6[j].name);
strcpy(stud6[j].name,stud6[j+1].name);
strcpy(stud6[j+1].name,name);
strcpy(address,stud6[j].address);
strcpy(stud6[j].address,stud6[j+1].address);
strcpy(stud6[j+1].address,address);
strcpy(tel_num,stud6[j].tel_num);
strcpy(stud6[j].tel_num,stud6[j+1].tel_num);
strcpy(stud6[j+1].tel_num,tel_num);
strcpy(post_code,stud6[j].post_code);
strcpy(stud6[j].post_code,stud6[j+1].post_code);
strcpy(stud6[j+1].post_code,post_code);
strcpy(e_mail,stud6[j].e_mail);
strcpy(stud6[j].e_mail,stud6[j+1].e_mail);
strcpy(stud6[j+1].e_mail,e_mail);
stud6[l+2],sizeof(stud6[l+2]));
//按姓名排序
list_name()
studentstud7[40]={0};
chartel_num[20]="
stud7[k],sizeof(stud7[k]));
if(strcmp(stud7[j].name,stud7[j+1].name)>
strcpy(num,stud7[j].num);
strcpy(stud7[j].num,stud7[j+1].num);
strcpy(stud7[j+1].num,num);
strcpy(name,stud7[j].name);
strcpy(stud7[j].name,stud7[j+1].name);
strcpy(stud7[j+1].name,name);
strcpy(address,stud7[j].address);
strcpy(stud7[j].address,stud7[j+1].address);
strcpy(stud7[j+1].address,address);
strcpy(tel_num,stud7[j].tel_num);
strcpy(stud7[j].tel_num,stud7[j+1].tel_num);
strcpy(stud7[j+1].tel_num,tel_num);
strcpy(post_code,stud7[j].post_code);
strcpy(stud7[j].post_code,stud7[j+1].post_code);
strcpy(stud7[j+1].post_code,post_code);
strcpy(e_mail,stud7[j].e_mail);
strcpy(stud7[j].e_mail,stud7[j+1].e_mail);
strcpy(stud7[j+1].e_mail,e_mail);
k-2)break;
stud7[l+2],sizeof(stud7[l+2]));
//格式化(删除文件)
format()
//显示通讯录
show()
studentstud8[40]={0};
in|ios:
infile.seekg(0,ios:
beg);
stud8[i],sizeof(stud8[i]));
if(infile.eof())
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言 通讯录程序代码 语言 通讯录 程序代码