c语言 电话簿管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言通讯录管理系统”。
#include “stdio.h” #include “string.h” #define N 20 struct mem { char name[20];
char tel[20];
char wu[20];
char dz[20];}mem[N];void sorttel(struct mem tel[]){
struct mem temp;
int i,j;
FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){
printf(“不能打开文件n”);} for(i=0;i
for(j=0;j
if(strcmp(mem[j+1].tel,mem[j].tel)
{
temp=mem[j];
mem[j]=mem[j+1];
mem[j+1]=temp;
} for(i=0;i
void sortname(struct mem tel[]){
struct mem temp;
int i,j;
FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){
printf(“不能打开文件n”);} for(i=0;i
for(j=i+1;j
if(strcmp(mem[j].name,mem[i].name)
{
temp=mem[i];
mem[i]=mem[j];
mem[j]=temp;
} for(i=0;i
void sor(){int k;
do{printf(“--------------------排序菜单-------------------n”);
printf(“------------------------n”);
printf(“
1:按号码排序n”);
printf(“
2:按姓名排序n”);
printf(“
0:退出n”);
printf(“------------------------n”);
printf(“请输入0-2选择功能n”);
scanf(“%d”,&k);getchar();
switch(k)
{
case 1:sorttel(mem);break;
case 2:sortname(mem);break;
case 0:return;
}
}while(1);}
void add(){ char name[10];char tel[10];
char wu[10];
char dz[10];FILE *fp;if((fp=fopen(“c: elephone.txt”,“a”))==NULL){
printf(“不能打开文件n”);
exit(0);}
printf(“请输入姓名”);
gets(name);
printf(“请输入电话号码”);
gets(tel);
printf(“请输入工作单位”);
gets(wu);
printf(“请输入地址”);
gets(dz);printf(“n”);
fprintf(fp,“%s %s %s %sn”,name,tel,wu,dz);
fclose(fp);} void del(){
FILE *fp;
int i=0,n;
char name[10];
printf(“请输入删除名字”);
gets(name);
if((fp=fopen(“c: elephone.txt”,“r”))==NULL){
printf(“不能打开文件n”);
exit(0);}
while(!feof(fp))
{
fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);
if(strcmp(name,mem[i].name)!=0)i++;
}
fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){
printf(“不能打开文件n”);
exit(0);} for(n=0;n
fprintf(fp,“%s %s %s %s”,mem[n].name,mem[n].tel,mem[n].wu,mem[n].dz);fclose(fp);} void dis(){ FILE * fp;int i=0,n;printf(“
姓名
电话号码
工作单位
地址n”);
if((fp=fopen(“c: elephone.txt”,“r”))==NULL){
printf(“不能打开文件n”);
exit(0);}
while(!feof(fp))
{fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);i++;}
fclose(fp);
n=i;
for(i=0;i
printf(“%-8s%11s%13s%24sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);} void mod(){ FILE * fp;int i=0,n;char name[10];char nn[10];char nt[10];char nwu[10];char ndz[10];
printf(“请输入要修改的姓名”);gets(name);printf(“请输入修改后的姓名”);gets(nn);printf(“请输入修改后的电话号码”);gets(nt);printf(“请输入修改后的工作单位”);gets(nwu);printf(“请输入修改后的地址”);gets(ndz);printf(“n”);if((fp=fopen(“c: elephone.txt”,“r”))==NULL){
printf(“不能打开文件n”);
exit(0);}
while(!feof(fp))
{
fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);
if(strcmp(name,mem[i].name)==0)
{strcpy(mem[i].name,nn);strcpy(mem[i].tel,nt);strcpy(mem[i].wu,nwu);strcpy(mem[i].dz,ndz);}
i++;
}
fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){
printf(“不能打开文件n”);
exit(0);}
n=i;
for(i=0;i
fprintf(fp,“%s %s %s %sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);
fclose(fp);} void main(){
int choose;
while(1)
{
printf(“--------------------电话簿管理系统--------------------n”);
printf(“------------------------n”);
printf(“
1:添加一个新号码n”);
printf(“
2:删除一个号码n”);
printf(“
3:显示所有保存的号码n”);
printf(“
4:修改号码n”);
printf(“
5:排序n”);
printf(“
6:查询n”);
printf(“
0:退出n”);
printf(“------------------------n”);
printf(“请输入0-6选择功能n”);
scanf(“%d”,&choose);getchar();
if(choose!=0)
switch(choose)
{
case 1:add();break;
case 2:del();break;
case 3:dis();break;
case 4:mod();break;
case 5:sor();break;
case 6:/*que();break*/;
}
else exit(0);
} }