C语言程序设计通讯录管理系统.docx

上传人:b****7 文档编号:10791556 上传时间:2023-02-22 格式:DOCX 页数:22 大小:18.77KB
下载 相关 举报
C语言程序设计通讯录管理系统.docx_第1页
第1页 / 共22页
C语言程序设计通讯录管理系统.docx_第2页
第2页 / 共22页
C语言程序设计通讯录管理系统.docx_第3页
第3页 / 共22页
C语言程序设计通讯录管理系统.docx_第4页
第4页 / 共22页
C语言程序设计通讯录管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言程序设计通讯录管理系统.docx

《C语言程序设计通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《C语言程序设计通讯录管理系统.docx(22页珍藏版)》请在冰豆网上搜索。

C语言程序设计通讯录管理系统.docx

C语言程序设计通讯录管理系统

#include

#include

#include

#defineN10

structcomm/*定义数据结构*/

{

charnum[13];/*学号*/

charname[10];/*姓名*/

charsex[6];/*性别*/

intage;/*年龄*/

chartel[11];/*电话号码*/

intyear;/*入学年份*/

}AddBook[N];

intlength=0,length1=0;

intadd;

int*fp1=&add;

intinput_AddBook();

voidsave_AddBook();

intload_AddBook();

intdele_AddBook();

voidinquire_AddBook();

voidrevise_AddBook();

voidlist_AddBook();

intadd_AddBook();

voidsort_AddBook();

intmain()

{

intchoice;

length1=load_AddBook();

do

{

system("cls");

printf("\n***********通讯录管理系统************\n\n");

printf("1.录入信息\n");

printf("2.修改信息\n");

printf("3.删除信息\n");

printf("4.查找信息\n");

printf("5.显示信息\n");

printf("6.增加信息\n");

printf("7.排序信息\n");

printf("0.退出\n");

printf("\n***********通讯录管理系统************\n\n");

printf("请选择:

\n");

scanf("%d",&choice);

switch(choice)

{

case0:

break;

case1:

length=input_AddBook();break;

case2:

revise_AddBook();break;

case3:

length=dele_AddBook();break;

case4:

inquire_AddBook();break;

case5:

list_AddBook();break;

case6:

length=add_AddBook();break;

case7:

sort_AddBook();break;

}

}while(choice!

=0);

save_AddBook();

system("pause");

return0;

}

/**********以下是保存文件函数*************/

voidsave_AddBook()

{

FILE*fp;

inti=0;

if((fp=fopen("通讯录.txt","r"))==NULL)

{

printf("cannotopenfile\n");

getchar();

exit(0);

}

//fscanf(fp,"学号姓名性别年龄电话入学年份\n");

//printf("学号姓名性别年龄电话入学年份\n");

do

{

fscanf(fp,"%s",AddBook[i].num);//printf("%-15s",AddBook[i].num);

fscanf(fp,"%s",AddBook[i].name);//printf("%-10s",AddBook[i].name);

fscanf(fp,"%s",AddBook[i].sex);//printf("%-6s",AddBook[i].sex);

fscanf(fp,"%d",&AddBook[i].age);//printf("%-4d",AddBook[i].age);

fscanf(fp,"%s",AddBook[i].tel);//printf("%-15s",AddBook[i].tel);

fscanf(fp,"%d",&AddBook[i].year);//printf("%-4d\n",AddBook[i].year);

i++;

}while(i

fclose(fp);

if((fp=fopen("通讯录二进制数据.txt","w+"))==NULL)

{

printf("cannotopenfile.\n");

getchar();

exit(0);

}

for(i=0;i

fprintf(fp,"\n%-15s%-10s%-6s%-4d%-15s%-4d",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

//fwrite(&AddBook[i],sizeof(structcomm),1,fp);

fclose(fp);

//保存初识记录数

fp=fopen("num.txt","w+");

if(fp==NULL)

{printf("can'topenthefile.\n");

exit(0);

}

fprintf(fp,"%d",length+length1);

fclose(fp);

printf("*********************保存完成*********************\n");

printf("以上信息已保存完毕!

\n");

}

/**********以下是读文件函数*************/

intload_AddBook()

{

FILE*fp,*fp2;

inti=0,a;

charch;

//读出原始记录数目

fp=fopen("num.txt","r+");

if(fp==NULL)

{

printf("can'topenthefile!

\n");

exit(0);

}

fscanf(fp,"%d",&a);

fclose(fp);

//读出原始数据

if((fp=fopen("通讯录二进制数据.txt","r"))==NULL)

{

printf("cannotopenfile\n");

getchar();

exit(0);

}

if((fp2=fopen("通讯录.txt","w"))==NULL)

{

printf("cannotopenfile\n");

getchar();

exit(0);

}

printf("学号姓名性别年龄电话入学年份\n");

//do

for(i=0;i

{

//fread(&AddBook[i],sizeof(structcomm),1,fp);

//printf("%d\n",i);

fscanf(fp,"%s%s%s%d%s%d",&AddBook[i].num,&AddBook[i].name,&AddBook[i].sex,&AddBook[i].age,&AddBook[i].tel,&AddBook[i].year);

printf("%s%s%s%d%s%d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

//system("pause");

fprintf(fp2,"%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

//printf("%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

}

//i++;

//}while(i<3);

fclose(fp);

fclose(fp2);

printf("\n*************************读取完成*************************\n");

printf("按任意键进入主菜单");

getchar();

returni;

}

/**********以下是删除信息函数*************/

intdele_AddBook()

{

FILE*fp;

structcommdele;

inti=0,j=0,flag=0,a=0;

charchoice;

do{

system("cls");

printf("************删除信息*************\n");

printf("请输入您要删除的学生的学号:

");

scanf("%s",dele.num);

for(i=0;i

if(strcmp(AddBook[i].num,dele.num)==0)

break;

else

{

j++;

if(j==length+length1)

printf("您要删除的信息不存在!

\n");

}

if((fp=fopen("通讯录.txt","wt"))==NULL)

{

printf("Openfileerror");

getchar();

exit(0);

}

for(i=0;i

if(strcmp(AddBook[i].num,dele.num)!

=0)

fprintf(fp,"%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

a++;

printf("\n要继续吗?

(Y/N)");

choice=getchar();

if(choice=='y'||choice=='Y')

{

printf("\n继续!

\n");

flag=1;

}

else

flag=0;

}while(flag==1);

a=-a+1;

fclose(fp);

printf("\n***************删除完成**************");

printf("%d",a);

printf("\n按任意键返回主菜单!

");

getchar();

getchar();

returna;

}

/**********以下是查找信息函数*************/

voidinquire_AddBook()

{

intchoice;

voidinquire_name();

voidinquire_num();

do

{

system("cls");

printf("\n\n\n**********查询资料**********\n\n\n");

printf("1.按姓名查询\n\n");

printf("2.按学号查询\n\n");

printf("0.退出查找系统\n\n");

scanf("%d",&choice);

switch(choice)

{case1:

inquire_name();break;/*为函数调用*/

case2:

inquire_num();break;/*同上*/

case0:

break;

}

}while(choice!

=0);

getchar();

}

voidinquire_name()

{

{inti,choice,j=0;

structcomminquire;

system("cls");

printf("\n请输入要查询的姓名:

");

scanf("%s",inquire.name);

for(i=0;i

if(strcmp(AddBook[i].name,inquire.name)==0)

{

printf("学号姓名性别年龄电话入学年份\n");

printf("%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

break;

}

else

{

j++;

if(j==length+length1)

printf("\n查询信息不存在!

");

}

getchar();getchar();

}

}

voidinquire_num()

{

{inti,choice,j=0;

structcomminquire;

system("cls");

printf("\n请输入要查询的学号:

");

scanf("%s",inquire.num);

for(i=0;i

if(strcmp(AddBook[i].num,inquire.num)==0)

{

printf("学号姓名性别年龄电话入学年份\n");

printf("%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

break;

}

else

{

j++;

if(j==length+length1)

printf("\n查询信息不存在!

");

}

getchar();getchar();

}

}

/**********以下是修改信息函数*************/

voidrevise_AddBook()

{

structcommrevise;

FILE*fp;

inti=0,choice,flag;

do

{

system("cls");

printf("\n输入要修改的学生学号:

");

scanf("%s",revise.num);

for(i=0;i

if(strcmp(AddBook[i].num,revise.num)==0)

{

printf("\n********************资料信息***********************\n");

printf("学号姓名性别年龄电话入学年份\n");

printf("%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

printf("\n您要修改哪一项?

\n");

printf("\n0.修改完成\n");

printf("\n1.学号\n");

printf("\n2.姓名\n");

printf("\n3.性别\n");

printf("\n4.年龄\n");

printf("\n5.电话\n");

printf("\n6.入学年份\n");

printf("\n请选择:

");

scanf("%d",&choice);

switch(choice)

{

case0:

break;

case1:

printf("\n请输入修改后的学号:

");

scanf("%s",&AddBook[i].num);break;

case2:

printf("\n请输入修改后的姓名:

");

scanf("%s",&AddBook[i].name);break;

case3:

printf("\n请输入修改后的性别:

");

scanf("%s",&AddBook[i].sex);break;

case4:

printf("\n请输入修改后的年龄:

");

scanf("%d",&AddBook[i].age);break;

case5:

printf("\n请输入修改后的电话:

");

scanf("%s",&AddBook[i].tel);break;

case6:

printf("\n请输入修改后的入学年份:

");

scanf("%d",&AddBook[i].year);break;

}

break;

}

if(i==length+length1)

{

printf("\n无该资料!

");

getchar();

}

getchar();

printf("\n\n继续修改吗?

(Y/N)");

choice=getchar();

if(choice=='Y'||choice=='y')

{

flag=1;

printf("\n继续!

\n");

}

else

{

printf("修改后的信息为:

\n");

printf("学号姓名性别年龄电话入学年份\n");

printf("%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

flag=0;

}

}while(flag==1);

if((fp=fopen("通讯录.txt","w"))==NULL)

{

printf("Openfileerror");

getchar();

exit(0);

}

for(i=0;i

fprintf(fp,"%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

printf("\n按任意键返回主菜单!

");

getchar();

getchar();

}

/**********以下是显示信息函数*************/

voidlist_AddBook()

{

FILE*fp;

charch;

if((fp=fopen("通讯录.txt","r"))==NULL)

{

printf("Openfileerror");

system("pause");

exit(0);

}

//rewind(fp);

//ch=fgetc(fp);

//while(ch!

=EOF)

//{

//futchar(ch);

//ch=fgetc(fp);

//}

inti=0;

printf("学号姓名性别年龄电话入学年份\n");

do

{

fscanf(fp,"%s%s%s%d%s%d",&AddBook[i].num,&AddBook[i].name,&AddBook[i].sex,&AddBook[i].age,&AddBook[i].tel,&AddBook[i].year);

printf("%s%s%s%d%s%d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

//system("pause");

//fprintf(fp2,"%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

//printf("%-15s%-10s%-6s%-4d%-15s%-4d\n",AddBook[i].num,AddBook[i].name,AddBook[i].sex,AddBook[i].age,AddBook[i].tel,AddBook[i].year);

/*

printf("%-15s",AddBook[i].num);

printf("%-10s",AddBook[i].name);

printf("%-6s",AddBook[i].sex);

printf("%-4d",AddBook[i].age);

printf("%-15s",AddBook[i].tel);

printf("%-4d\n",AddBook[i].year);

i++;

*/

i++;

}while(i

fclose(fp);

printf("\n*************************显示完毕****************************");

getchar();

getchar();

}

/**********以下是增加信息函数*************/

intadd_AddBook()

{

FILE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1