0
私のプログラムはすべてのことを正しく行いますが、プログラムはユーザーに不安を尋ねたり、関数内のすべてをスキップしたりすることはありません。すべての機能は正常に動作します。なぜなら、「あなたは購入してもよろしいですか?キーボードから入力した文字列
私はすでに関数にprintfを移動しようとしましたが、まだ画面に表示されるので、それは後のものです。
void shopBuy(){
char input [50];
char nameprice [80];
char price [5];
char myMoney [100];
int money=0,mymoney;
printf("What do you want to buy?\n");
scanf("%s",&input);
getPrice(nameprice,input);
last3(nameprice,price);
money=atoi(price);
printf("It costs: $%d\n",money);
FILE *fp;
fp = fopen("money.txt", "r");
fgets(myMoney, 80, (FILE*)fp);
fclose(fp);
mymoney=atoi(myMoney);
if (mymoney>money)
{
printf("Are you sure you want to buy?(y/n)\n");
acceptBuy(mymoney,money);
}
else{
denyBuy();
}
}
void acceptBuy(int m,int p){
int afterbuy;
char a;
char afterbuyString [100];
scanf("%c",&a);
if(a=='y'||a=='Y'){
afterbuy=m-p;
itoa(afterbuy,afterbuyString,10);
FILE *fp;
fp = fopen("money.txt", "w+");
fprintf(fp, afterbuyString);
fprintf(fp, "\n");
fclose(fp);
}
}
int main(void){
shopBuy();
return 0;
}
非常に多くの重複:([期待通りに動作しないのscanf]の( –
可能な重複(http://stackoverflow.com/questions/34459857/scanf-not-working -as-expected) – mpromonet