









Dear Kanjeng Pembaca sekalian,… mirip dengan artikel di bagian ke-29 … sama-sama menggunakan string untuk mengakomodir angka untuk variabel Bets …!!! Namun perbedaannya adalah converter pada artikel terdahulu menggunakan sscanf() … sedangkan yang sekarang menggunakan int() …!!!
Kemudian perbedaan lainnya adalah ketika perhitungan akhir misalnya ada angka nya … misalnya kalau dimasukkan digit 2, dan angka nya 25 … pada pilihan Jackpot dikali 5 … tentu hasilnya menjadi 125 …!!! Akan berbeda angka nya kalau dimasukkan 15 sehingga hasilnya 75 … dalam artian jika digitnya melebihi … maka kelebihannya yang masih dijadikan integer… dicetak… sehingga ada %d kalau hasil akhirnya tidak sama dengan nol …!!! Disini digunakan model +’0′ dan -‘0’ … so sebenernya banyak cara … intinya convert string to int… hitung perkalian kemudian balikin lagi ke string …!!! Programnya dapat dilihat sebagai berikut :
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdbool.h>#include <math.h>int main(){intDigits;intjml_digits;intJ;intN=0;charBet[101]={0};charResult[1];scanf(“%d%s%c”, &Digits, Bet, Result);if (Digits >= 1 && Digits <= 100){jml_digits = strlen(Bet);if(jml_digits == Digits){if(Result[0]==’L’){printf(“Lose! you’re no longer a quadrillionaire now :\”(\n”);return0;}elseif(Result[0]==’W’){printf(“Win!\nPrize: “);for(inti=Digits-1; i>=0;i–){J =(int)(‘0’-Bet[i]) *(-1);J*=2;J+=N;N=(J)/10;J%=10;Bet[i]=J+’0′;}}else{printf(“Jackpot!\nPrize: “);for(inti=Digits-1; i>=0;i–){J =(int)(‘0’-Bet[i]) *(-1);J*=5;J+=N;N=(J)/10;J%=10;Bet[i]=J+’0′;}}if(N!=0){printf(“$%d%s\n”, N, Bet);}else{printf(“$%s\n”, Bet);}}}return0;}
Leave a Reply