这个代码哪儿有问题,求大神帮忙
#include<stdio.h>#include<string.h>
#include<windows.h>
typedef struct Man{
char Name[12];
char Sex[4];
char Old[4];
char Mobil[12];
char Tel[12];
char Address[16];
char QQ[12];
char Email[16];
char Sort[12];
}man;
void TianJia( FILE *fp);
void XiuGai( FILE *fp);
void ShanChu( FILE *fp);
void ChaXun( FILE *fp);
void XianShi( FILE *fp);
int jishu(char *p);
int main()
{
system("color 51");
char b,c;
FILE *fp;
do{
printf("\t\t☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n");
printf("\t\t★ 通 讯 录 ☆\n");
printf("\t\t☆ 1、添加信息 2、查询信息 ★\n");
printf("\t\t★ ☆\n");
printf("\t\t☆ 3、删除信息 4、修改信息 ★\n");
printf("\t\t★ ☆\n");
printf("\t\t☆ 5、显示信息 6、退出程序 ★\n");
printf("\t\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n");
printf("请选择您想要执行操作的代码: ");
scanf("%d",&c);
printf("\n");
switch ( c )
{
case 1:
fp = fopen("d:\\tongxunlu.txt","ab+");
TianJia( fp);
break;
case 2:
fp = fopen("d:\\tongxunlu.txt","rb");
ChaXun( fp);
break;
case 3:
fp = fopen("d:\\tongxunlu.txt","rb+");
ShanChu( fp);
break;
case 4:
fp=fopen("d:\\tongxunlu.txt","rb+");
XiuGai( fp);
break;
case 5:
fp=fopen("d:\\tongxunlu.txt","rb");
XianShi( fp);
break;
case 6:
printf("谢谢使用!\n");
exit(0);
default:
printf("输入有误,请重新输入!\n");
break;
}
fflush( stdin);
fclose(fp);
printf("请入y继续其他功能\n");
scanf("%c",&b);
if(b=='y')
{ system("cls");
}
}while(c != 6);
return 0;
}
void TianJia( FILE *fp)
{ man a1;
printf("请输入您要添加的人员信息\n");
rewind( fp);
printf("\n");
printf("姓名:");
scanf("%s",&a1.Name);
fflush(stdin);
printf("\n");
printf("性别:");
scanf("%s",&a1.Sex);
fflush(stdin);
printf("\n");
printf("年龄:");
scanf("%s",&a1.Old);
fflush(stdin);
printf("\n");
printf("移动电话:");
scanf("%s",&a1.Mobil);
fflush(stdin);
printf("\n");
printf("固定电话:");
scanf("%s",&a1.Tel);
fflush(stdin);
printf("\n");
printf("住址:");
scanf("%s",&a1.Address);
fflush(stdin);
printf("\n");
printf("QQ:");
scanf("%s",&a1.QQ);
fflush(stdin);
printf("\n");
printf("Email:");
scanf("%s",a1.Email);
fflush(stdin);
printf("\n");
printf("类别:");
scanf("%s",a1.Sort);
fflush(stdin);
fp = fopen("d:\\tongxunlu.txt","a+");
fwrite(&a1,sizeof( a1),1,fp);
fclose( fp);
}
void ChaXun( FILE *fp)
{ man a2;
char name1[12];
printf("请输入你要查找的人员姓名:");
scanf("%s",name1);
fflush( stdin);
rewind(fp);
while( fread( &a2, sizeof( a2), 1, fp)!= NULL)
{
if( strcmp( name1, a2.Name) == 0)
{
printf("您所查询的人员信息如下:\n");
printf("姓名:%s\n\n性别:%s\n\n年龄:%s\n\n住址:%s\n\n移动电话:%s\n\n固定电话:%s\n\nQQ:%s\n\nEmail:%s\n\n类别:%s\n",
a2.Name, a2.Sex, a2.Old, a2.Address, a2.Mobil,a2.Tel, a2.QQ, a2.Email, a2.Sort);
}
else
{
printf("您要查询的人员资料不存在!\n");
}
}
fclose( fp);
return;
}
void XiuGai( FILE *fp)
{
man a3;
man one;
int count1 = 0;
char name2[12];
printf("请输入您要修改的人员姓名:");
scanf("%s", &name2);
fflush( stdin);
while( !feof( fp))
{
fread( &a3,sizeof( a3), 1, fp);
count1++;
if( strcmp( name2,a3.Name) ==0)
{
printf("姓名:%s\n性别:%s\n年龄:%s\n住址:%s\n移动电话:%s\n固定电话:%s\nQQ:%s\nEmail:%s\n类别:%s\n",
a3.Name, a3.Sex, a3.Old, a3.Address, a3.Mobil, a3.Tel, a3.QQ, a3.Email, a3.Sort);
printf("请输入您要修改的资料.\n");
printf("\n");
printf("姓名:");
scanf("%s",&one.Name);
fflush(stdin);
printf("\n");
printf("性别:");
scanf("%s",&one.Sex);
fflush(stdin);
printf("\n");
printf("年龄:");
scanf("%s",&one.Old);
fflush(stdin);
printf("\n");
printf("移动电话:");
scanf("%s",&one.Mobil);
fflush(stdin);
printf("\n");
printf("固定电话:");
scanf("%s",&one.Tel);
fflush(stdin);
printf("\n");
printf("住址:");
scanf("%s",&one.Address);
fflush(stdin);
printf("\n");
printf("QQ:");
scanf("%s",&one.QQ);
fflush(stdin);
printf("\n");
printf("Email:");
scanf("%s",&one.Email);
fflush(stdin);
printf("\n");
printf("类别:");
scanf("%s",&one.Sort);
fflush(stdin);
fseek(fp,(count1 - 1)*sizeof( a3),SEEK_SET);
fwrite(&one,sizeof( one),1,fp);
printf("修改成功!\n");
return;
}
Else
{
printf("您要修改的人员不存在!\n");
return;
}
}
fclose( fp);
return;
}
void ShanChu( FILE *fp)
{
man a4;
man blank = {0};
char name3[12];
int count = 0;
rewind(fp);
printf("请输入您要删除的人员姓名:");
scanf("%s",&name3);
fflush( stdin);
while( !feof( fp))
{
fread( &a4,sizeof( a4), 1, fp);
count++;
if( strcmp( name3,a4.Name) ==0)
{
printf("姓名:%s\n性别:%s\n年龄:%s\n住址:%s\n移动电话:%s\n固定电话:%s\nQQ:%s\nEmail:%s\n类别:%s\n",
a4.Name, a4.Sex, a4.Old, a4.Address, a4.Mobil, a4.Tel, a4.QQ, a4.Email, a4.Sort);
fseek( fp,( count - 1) * sizeof( a4), SEEK_SET);
fwrite( &blank, sizeof( blank), 1, fp);
printf("删除成功!");
fclose( fp);
return;
}
else
{
printf("您要删除的人员不存在!\n");
return;
}
fclose( fp);
return;
}
}
void XianShi( FILE *fp)
{
char m = 0, n;
man a5;
while( !feof( fp))
{
fread( &a5,sizeof( a5), 1, fp);
m++;
}
for( n = 0; n < m -1; n++ )
{
fread( &a5, sizeof( a5), 1, fp);
printf("您所需要的资料如下:\n");
printf("姓名:%s\n性别:%s\n年龄:%s\n住址:%s\n移动电话:%s\n固定电话:%s\nQQ:%s\nEmail:%s\n类别:%s\n",
a5.Name, a5.Sex, a5.Old, a5.Address, a5.Mobil, a5.Tel, a5.QQ, a5.Email, a5.Sort);
}
fclose( fp);
}