关于C语言存为文件的问题请教各位大虾~!!
我做的是一个奥运奖牌管理系统```!!我写的程序编译没错误,试运行也没错误``可以运行``可是却不能将Luru这个函数保存为文件`即保存为dat或者txt~~!!我想请教一下各位大虾是怎么一回事``!!
下面是我的程序``!!
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *JP;
struct jiangpai
{
int bianhao;
int Jout;
char guoji[15];
char name[15];
char xiangmu[10];
char jinpai[4];
}jp[50];
void JPsave(struct jiangpai*);
int a=0;
void Luru()
{
char b;
char YesOrNo;
do
{
printf("输入0表示退出:");
scanf("%d",&jp[a].Jout);
if(jp[a].Jout==0)
break;
printf("请输入运动员的编号:");
scanf("%d",&jp[a].bianhao);
fflush(stdin);
printf("请输入运动员国籍:");
gets(jp[a].guoji);
fflush(stdin);
printf("请输入运动员姓名:");
gets(jp[a].name);
fflush(stdin);
printf("请输入运动员参加项目:");
gets(jp[a].xiangmu);
fflush(stdin);
printf("请输入运动员所获奖牌(金,银,铜):");
gets(jp[a].jinpai);
fflush(stdin);
printf("是否需要继续输入奖牌信息?(y/n):");
b=getchar();
a++;
}
while(b=='y'||b=='Y'&& a<=50);
printf("是否保存为文件?(y/n):");
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'&&YesOrNo=='Y')
JPsave(jp);
}
void JPsave(struct jiangpai* p)
{
JP=fopen("h:\\Aoyun.txt","wt+");
fwrite(p,sizeof(struct jiangpai),2,JP);
if((JP=fopen("h:\\Aoyun.txt","wt+"))==NULL)
{
printf("不能打开文件!\n");
}
fclose(JP);
}
void Xianshi()
{
int j;
printf("运动员编号\t运动员国籍\t运动员姓名\t参加项目\t所获奖牌\n");
for(j=0;j<a;j++)
printf("%d\t\t%s\t\t%s\t%s\t%s\n",jp[j].bianhao,jp[j].guoji,jp[j].name,jp[j].xiangmu,jp[j].jinpai);
}
void Chazhao()
{
int m;
char name[15],b;
do
{
printf("\n请输入想查找的运动员姓名:");
fflush(stdin);
gets(name);
for(m=0;m<a;m++)
{
if(strcmp(name,jp[m].name)==0)
{
printf("\n\t您查找的运动员在第%d个位置找到了!!!\n",m+1);
break;
}
}
if(m>=15)
printf("\n\t没有找到这个运动员!!!\n");
else
{
printf("运动员编号\t运动员国籍\t运动员姓名\t参加项目\t所获奖牌\n");
printf("%d\t\t%s\t\t%s\t%s\t%s\n",jp[m].bianhao,jp[m].guoji,jp[m].name,jp[m].xiangmu,jp[m].jinpai);
}
printf("\n是否查找另一个运动员的信息?(y/n)");
fflush(stdin);
b=getchar();
}
while(b=='y'||b=='Y');
}
int main()
{
char change;
do
{
printf("*************奥运奖牌管理系统*************\n");
printf("\n");
printf("1.奖牌信息录入.\n");
printf("2.奖牌信息查询.\n");
printf("3.奖牌信息修改.\n");
printf("4.奖牌信息删除.\n");
printf("5.奖牌信息统计.\n");
printf("6.奖牌信息显示.\n");
printf("9.退出\n");
printf("请输入所需功能(1-9):");
rewind(stdin);
scanf("%c",&change);
switch(change)
{
case '1':Luru();break;
case '2':Chazhao();break;
case '3':printf("暂无此功能.\n");break;
case '4':printf("暂无此功能.\n");break;
case '5':printf("暂无此功能.\n");break;
case '6':Xianshi();break;
case '9':break;
default:printf("刚才的输入有误,请重新输入\n");
}
if (change=='9') break;
printf("\n\n");
}
while(1);
return 0;
}
请大虾指教吖~~~!!