我写了这么多,但是不知道怎么实现文件流的操作,求解答
商品价格100到200之间(由系统随机产生,并不显示出来),每回合玩家有六次机会来猜价格,猜中提示“恭喜你赢了”。第一次猜中得10分,第二次猜中得8分,第三次猜中得6分,第四次猜中得4分,第五次猜中得2分,第六次猜中得0分。若六次都没猜中,则提示“输了,是否还来?”当输入"Y"或者"y"时继续,输入其他的退出游戏。要求游戏能有一个简单的界面:
************ M E N U ************
1. 游 戏 介 绍
2. 开 始 游 戏
3. 输 出 胜 率和平均分
4. 输 出 平 均 分
5. 退 出 游 戏
****************************************
细节要求:1、用户开始通过输入不同的数字来进入不同模块
2、如果用户猜测的价格不在提示范围之内,算浪费一次猜测机会
3、平均分=每回合得分之和/玩过的总回合数
4、能够用文件来记录玩过的回合和得分,下次(退出程序再次运行程序时)能够继续玩
已经写好的:#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void introduction(){
printf("猜价格游戏,。。。。。\n");
}
int startgame(){
int price,player;
int i;
time_t t;
srand((unsigned)time(&t));
price=rand()%101+100;
printf("%d\n",price);
for(i=0;i<6;i++){
printf("请输入价格:");
scanf("%d",&player);
if(player>price)
printf("高\n");
else if(player<price)
printf("低\n");
else{
printf("恭喜你!猜对了!\n");
return i;
break;
}
}
printf("很遗憾!没有猜对!\n");
return -1;
}
double winingper(int winnum,int total){
double per,prinper;
if(total==0){
printf("你还没有进行游戏!\n");
return -1;
}
per=(double)winnum/total;
prinper=per*100;
printf("你的胜率为:%.1lf % \n",prinper);
return prinper;
}
int average(int score,int num){
if(num==0){
printf("你还没有进行游戏!\n");
return -1;
}
printf("你的平均分为:%d\n",score/num);
return score/num;
}
int gameover(){
exit(1);
}
void menu(){
printf("***********menu*************\n");
printf("1.游戏介绍\n");
printf("2.开始游戏\n");
printf("3.输出胜率\n");
printf("4.输出平均成绩\n");
printf("5.\n");
printf("6.退出游戏\n");
printf("****************************\n");
}
void main(){
int i,select,flag;
int count=0,wincount=0,score=0;
label:
menu();
scanf("%d",&select);
switch(select){
case 1:introduction();goto label;
break;
case 2:flag=startgame();count++;
if(flag!=-1){
wincount++;
score+=(5-flag)*2;
}
goto label;
break;
case 3:winingper(wincount,count);goto label;
break;
case 4:average(score,count);goto label;
break;
case 5:goto label;
break;
case 6:exit(1);
break;
default:
printf("错误的选择项!\n");
break;
}
}