2017-09-28 6 views
-1

これは標準の銀行口座プログラムです。預金、引き出し、および閲覧資金を許可する。私はプログラムが自分の選択に基づいて私のスイッチステートメント内の関数を入力するのに問題があります。これはこのコードの出力です。 CodeOutput。私はあなたが私が間違っていた場所を指し示すかもしれないなら、誰かに私のコードを書いてもらうことを求めていません。Cは2つの機能を結合します

#include <stdio.h> 

float getDeposit(float currentBalance); 
float getWithdrawal(float currentBalance); 
float displayBalance(float currentBalance); 
char displayMenu(); 

int main() 
{ 


    float currentBalance=200,newBalanceDep,newBalanceWith; 
    char choice; 
    choice = displayMenu(); 


     switch (choice) 
    { 

     case 'D': case 'd': 
      newBalanceDep=getDeposit(currentBalance); 
      break; 
     case 'W': case 'w': 
      newBalanceWith=getWithdrawal(currentBalance); 
      break; 
     case 'B': case 'b': 
      displayBalance(currentBalance); 
      break; 
     case 'Q': case 'q': 

      printf("Thank you!"); 
      break; 
     default: 
      printf("Invalid choice."); 
      break; 

    } 

    return 0; 
} 

char displayMenu() 

{ 
    char choice; 

    printf("Welcome to HFC Credit Union! \n"); 
    printf("Please select from the following menu: \n"); 
    printf("D: Make a deposit \n"); 
    printf("W: Make a withdrawal \n"); 
    printf("B: Check your account balance \n"); 
    printf("Q: To quit \n"); 

    scanf("\n%c",choice); 

    return choice; 

} 

float getDeposit(float currentBalance) 
{ 
    float depositAmount; 
    float newBalanceDep; 



    printf("Enter amount you would like to deposit: /n"); 
    scanf("%f",&depositAmount); 

    if(depositAmount>0) 
    { 
     newBalanceDep=depositAmount+currentBalance; 
    } 

    return newBalanceDep; 
} 

float getWithdrawal(float currentBalance) 
{ 
    float withdrawalAmount; 
    float newBalanceWith; 

    printf("Enter amount you would like to withdrawal: /n"); 
    scanf("%f",&withdrawalAmount); 

    if(withdrawalAmount>currentBalance) 
    { 
     printf("Insufficient Funds. Try again."); 
     printf("Enter amount you would like to withdrawal: /n"); 
     scanf("%f",&withdrawalAmount); 

    } 
    else if(withdrawalAmount<=currentBalance) 
    { 
     newBalanceWith=withdrawalAmount+currentBalance; 
    } 

    return newBalanceWith; 
} 

float displayBalance(float currentBalance) 

{ 
    printf("Your current balance is %.2f",currentBalance); 

} 
+0

画像を使用する代わりに、出力をテキストとして送信します。 –

+0

有用なインフォーマルを提供してください。a)写真ではなく、b)外部リンクではありません。私。あなたの質問を編集して、出力をテキストとして含めてください。また、あなたが出力について気に入らないものを説明してください。 [ask]と[mcve]を読むことが役に立ちます。 – Yunnosch

+0

それは私が端末に入っている出力です – Jaruto

答えて

2

あなたはscanf、ないchoice&choiceを渡す必要があります。

char choice; /*...*/; scanf("\n%c",choice); // --->  
//         v---- add 
char choice; /*...*/; scanf("\n%c",&choice);` 

合格choiceは未定義の動作です。

良いコンパイラが警告を出すはずです。

+0

私はdev-C++を使用していますが、ユーザーの選択に基づいてswitch文の関数を入力しないように警告しています。 – Jaruto

+0

@Jarute私の提案を使用してください。 – PSkocik

+1

ああアドレスのオペレータは私がすべてのことを読んでいない私はスクランブルありがとう – Jaruto

関連する問題