は、私は、テキストファイルから値をスキャンする必要がある場合にはブール式でスキャンした文字を使用して:C、テキストファイルからの読み込みとelse文
Dは、当座預金口座に入金に等しく、Cは等しいD 5000
C 200
引き出しを行い、各取引後に口座に残高を表示する。私の変数transactionType
は、文字の値を正しく取りますが、if
/else
ステートメントを使用して、必要な計算式を計算して勘定残高を計算すると、機能しません。 if
/`else文を正しく使うにはどうすればいいですか? ASCII値として67を使ってみました。私は撤退のために 'C'を試みました。
は、ここに私のコードです:
#include <stdio.h>
int main(void) {
char transactionType;
double transactionAmt;
double accountBalance = 0.0;
FILE *fpIn, *fpOut;
fpIn = fopen("transactions.txt", "r");
if (fpIn == NULL)
{
printf("Input file is having issues while opening");
}
fpOut = fopen("processed.txt", "w");
if (fpOut == NULL)
{
printf("Output file is having issues while opening");
}
printf("Welcome to Russell's Checking Account Balance Program\n");
printf("-----------------------------------------------------------------------------------------------------------------------------\n");
fscanf(fpIn, "%c %lf\n", &transactionType, &transactionAmt);
printf("The Transaction is a: %c and the amount is: %lf\n", transactionType, transactionAmt);
if (transactionType = 'C') {
accountBalance = accountBalance - transactionAmt;
}
else {
accountBalance = accountBalance + transactionAmt;
}
printf("The Balance in your checking account is: %lf\n", accountBalance);
fclose(fpIn);
fclose(fpOut);
system("pause");
return 0;
}
あなたの問題は、あなただけの比較ではなく、あなたの 'if'で代入があることです。これは、等号テストに '='が使用されている他の言語を使用している人にとってはよくある問題です。以前はどの言語でもプログラムしていない初心者には見過ごしがちです。 –