C程序与VC
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
#define SIZE 20
struct personinfo
{
char name[10];
char gender;
int age;
char born[20];
char addr[10];
}perinfo[SIZE];
void save()
{
FILE *fp;
int i;
if ( (fp=fopen("info.txt","r+"))==NULL)
{
printf("文件不能打开.\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&perinfo[i],sizeof(struct personinfo),1,fp)!=1)
printf("文件写入失败\n");
fclose(fp);
}
void load()
{
FILE *fp;
int i;
if((fp=fopen("info.txt","rb"))==NULL)
{
printf("不能打开写入.");
return;
}
for(i=0;i<SIZE;i++)
{
if(fread(&perinfo[i],sizeof(struct personinfo),1,fp)!=1)
{
if(feof(fp))
{
fclose(fp);return;
}
printf("文件读出错误\n");
}
}
fclose(fp);
}
void watch()
{
int i;
FILE *fp;
fp=fopen("info.txt","rb");
for(i=0;i<SIZE;i++)
{
fread(&perinfo[i],sizeof(struct personinfo),1,fp);
printf("%-10s %c %2d %-15s %-10s",
perinfo[i].name,perinfo[i].gender,perinfo[i].age,perinfo[i].born,perinfo[i].addr);
}
fclose(fp);
}
void search( )
{
int t;
int m=0;
FILE *fp;
char str[10];
printf("请输入要查询的人名:");
scanf("%s",str);
if((fp=fopen("info.txt","wb"))==NULL)
{
printf("文件不能打开\n");
return;
}
for(t=0;t<SIZE;t++)
{
if(strcmp(str,perinfo[t].name)==0)
{
m=1;
printf("%-10s %c %2d %-15s %-10s",
perinfo[t].name,perinfo[t].gender,perinfo[t].age,perinfo[t].born,perinfo[t].addr);
}
}
if(m==1) { printf("对不起,没有这个人的信息。"); }
}
main()
{
char c;
printf("A:写入/添加 B:查看 C:查询\n 请你选择相应操作。");
scanf("%c",&c);
switch(c)
{
case"A":save();break;
case"B":watch();break;
case"C":search();break;
default:printf("请选择你将要进行的操作\n");
}
}
这就是我写的程序,我在VC下搞了一天,就是运行不了,你们能帮我看看吗?
参考答案:请楼主补充一下调试信息,我这没有编译器,测试不了