2017-10-14 11 views
1
#define _CRT_SECURE_NO_WARNINGS 
/* 

目的:このプログラムでは、賭けに賭けることで、馬 に賭けることができます。私は、configureBalance関数を実行し、残高にお金を追加しようとしています。私は */この関数からの値の受け渡し

#include <stdio.h> 
#include <stdlib.h> 
#define PAUSE system("pause") 
#define CLS system("cls") 
#define FLUSH myFlush() 

//Prototyping 
void getChoice(char *userChoice);  // main menu choice 
void displayMenu();    // visual menu 
void myFlush();      // flush 
void configureBalance(int *balance, int *wallet, int *withdraw, int *deposit); // this function is for editing account credentials 
void currentBalance(int *balance);   // displays the account balance 
void coolRaceVisual();    // cool looking visual 
           //Structs 


main() { 
int balance = 0, wallet = 0, withdraw = 0, deposit = 0; 
char choice = ' '; 


do { 
    getChoice(&choice); 

    switch (choice) { 

    case 'A': 
     configureBalance(balance, wallet, withdraw, deposit); 
     PAUSE; 
     break; 

    case 'B': 
     coolRaceVisual(); 
     PAUSE; 
     break; 
    case 'Q': 
     CLS; 
     printf("[][][][][][][][][][][]\n"); 
     printf("[]  Goodbye ! []\n"); 
     printf("[][][][][][][][][][][]\n"); 

     break; 

    default: 
     printf("[][][][][][][][][][][][][][][][][][][][][][][]\n");// 
     printf("[] Invalid Selection! Please try again []\n");// This 
prompt shows up when the user 
     printf("[][][][][][][][][][][][][][][][][][][][][][][]\n");//  
inputs something incorrectly 
     PAUSE; 
     CLS; 
     break; 
     return; 
    } 

} while (choice != 'Q'); 
PAUSE; 
}//end main 

void getChoice(char *userChoice) { 
displayMenu(); 
scanf("%c", userChoice); FLUSH; 
*userChoice = toupper(*userChoice); 
}//end getChoice 

void displayMenu() { 
CLS; 

printf("     Horse Derby Ticket Office    \n"); 
printf("               \n"); 
printf("  A) Configure Balances.        \n"); 
printf("               \n"); 
printf("  B) Watch the Race.         \n"); 
printf("               \n"); 
printf("  C) View Race Records.        \n"); 
printf("               \n"); 
printf("  D) Save and Quit.         \n"); 
printf("               \n"); 
printf("  Q) Quit.            \n"); 
printf("               \n"); 
}// end displayMenu 

void myFlush() { 
while (getchar() != '\n'); 
}//end myFlush 

void configureBalance(int *balance, int *wallet, int *withdraw, int *deposit) { 
CLS; 
char configureMenuChoice = ' '; 

printf("What service would you like? (Not FDIC Insured)\n\n"); 

printf("A) Add funds to your account balance.\n"); 
printf("B) Withdraw funds to your wallet.\n"); 
printf("C) Check Account Balance.\n"); 
printf("\n\n"); 
scanf("%c", &configureMenuChoice); 
configureMenuChoice = toupper(configureMenuChoice); 

大文字に選択設定残高

if (configureMenuChoice == 'A') { 
    CLS; 
    printf("How much would you like to add to your account balance? \n"); 

これはバランスに直接

scanf("%i", &deposit); 
    *balance = *balance + *deposit; 
} 
if (configureMenuChoice == 'C') { 
    CLS; 
    currentBalance(*balance);      // displays current balance, made a functino so it can be used at will 
} 
}//end conFigureBalance 

void currentBalance(int *balance) { 

printf("Your current balance is: %i\n", &balance); 

}//end checkBalance 
+0

@Deonte Threatt scanf( "%i"、deposit)があります。 scanf( "%i"、&deposit)の代わりに。関数内にあります。 –

答えて

1

変更を加える例外読み取りアクセス違反を取得していますこの:

scanf("%i", &deposit); 
これ

depositので

scanf("%i", deposit); 

は、コンテキスト(関数configureBalanceの身体)におけるタイプint*です。

ここに記載されているのと同じロジックです:scanf("%c", userChoice);、私はあなたがそれを逃したのだろうかと思います。

+0

私は残高に預金を追加するときにそれを値に変更しました。 –

関連する問題