<mosaic.cnfolio.com>
PROGRAM
1. /*
2.
3. START
4.
5.    WHILE there have been less then 37 loops
6.
7.        Add the loop number to a list of vaild numerical bets for a game of roulette.
8.
9.    END WHILE
10.
11.    Add the vaules  00, EVEN, ODD, BLACK and RED to the list of vaildbets.
12.
13.    Read the four bets inputed and the corrisponding values of the bet.
14.
15.    WHILE there have been less then 5 loops
16.
17.       IF the bet value is positive and not a decimal.
18.
19.          THEN
20.
21.             Reduce the number of invaild bets by 1.
22.
23.       END IF
24.
25.       WHILE there have been less then 41 loops
26.
27.          IF the inputed bet corrisponding to the primary loop matches on of the valid bets
28.
29.             THEN
30.                Reduce the number of invaild bets by 1
31.
32.          END IF
33.
34.       END WHILE
35.
36.    END WHILE
37.
38.    IF the number of invalid bets equals 0
39.
40.       THEN
41.
42.          generate a random number between 0-37.
43.
44.          out put the value of the random number.
45.
46.          WHILE the number of loops is less then 5.
47.
48.             IF useris betting on EVEN
49.
50.                THEN
51.             IF the radom number generated is even
52.
53.                      THEN
54.                         Output the value the user bet on and the vaulue of the bet
55.                         output the users winnings
56.                         output the users profits
57.                      ELSE
58.                         Output the value the user bet on and the vaulue of the bet
59.                         output the users loses
60.                         output the users profits
61.                   END IF
62.             END IF
63.
64.             ELSE IF the user is betting on ODD
65.
66.                THEN
67.                   IF the radom number generated is ODD
68.
69.                      THEN
70.
71.                         Output the value the user bet on and the vaulue of the bet
72.                         output the users winnings
73.                         output the users profits
74.                      ELSE
75.                         Output the value the user bet on and the vaulue of the bet
76.                         output the users loses
77.                         output the users profits
78.                   END IF
79.             END IF
80.             ELSE IF  The user is betting on black
81.
82.                THEN
83.
84.                   WHILE the numbber of loops are less then 19
85.
86.                      IF the random number generate is a black number
87.
88.                         THEN
89.                            make y = 1
90.                      END IF
91.
92.                      IF y=1
93.                         THEN
94.                            Output the value the user bet on and the vaulue of the bet
95.                            output the users winnings
96.                            output the users profits
97.                         ELSE
98.                            Output the value the user bet on and the vaulue of the bet
99.                            output the users loses
100.                            output the users profits
101.                      END IF
102.                   END WHILE
103.            END IF
104.
105.             ELSE IF  The user is betting on red
106.
107.                THEN
108.
109.                   WHILE the numbber of loops are less then 19
110.
111.                      IF the random number generate is a red number
112.
113.                         THEN
114.                            make x = 1
115.                      END IF
116.
117.                      IF x=1
118.                         THEN
119.                            Output the value the user bet on and the vaulue of the bet
120.                            output the users winnings
121.                            output the users profits
122.                         ELSE
123.                            Output the value the user bet on and the vaulue of the bet
124.                            output the users loses
125.                            output the users profits
126.                      END IF
127.                   END WHILE
128.             END IF
129.
130.             ELSE IF number generated is the same number the user bet on
131.
132.                THEN
133.                   Output the value the user bet on and the vaulue of the bet
134.                   output the users winnings
135.                   output the users profits
136.                ELSE
137.                   Output the value the user bet on and the vaulue of the bet
138.                   Output the users loses
139.                   Output the users profits
140.          END WHILE
141.
142.
143.
144.          display the total winnings
145.
146.          display the total profit
147.       ELSE
148.          WHILE the number of loops is less then 4
149.
150.             If the bet with the corrisponding loop number is invaild
151.
152.                THEN
153.                   display that this bet is in valaid
154.             END IF
155.
156.             IF  the bet value with the corrisponding loop number is invaild
157.
158.                THEN
159.                   display that you can not bet this amount on a value
160.
161.
162.          END WHILE
163.
164.          display please insert diffrent bets and try again
165.
166.    End IF
167.
168. END
169.
170. */
171.
172. #include <stdio.h>
173. #include <time.h>
174. #include <string.h>
175.
176. int main (void)
177. {
178.
179.          printf("Welcome to Casino Royale");
180.
181. char    betsplaced;
182. char   betspossible;
183. int      black={2,4,6,8,10,11,13,15,17,19,20,22,24,26,29,31,33,35};
184. int      red={1,3,5,7,9,12,14,16,18,21,23,25,27,28,30,32,34,36};
185. float  cashbeth;
186. int      cashbet;
187. int      cashvaild;
188. int      betvaild;
189. int      numbergen;
190. int      winnings;
191. int     profit;
192. int      c, b, a, d, e, f, g,s;
193. int      y=0;
194. int      x=0;
195.
196.         for( a =0; a<37; a++ )
197.       {
198.             sprintf(betspossible[a],"%d", a);                           /* this is too poperlate the array with all possible numerical bets?*/
199.       }
200.
201.
202.       sprintf(betspossible, "00");
203.       sprintf(betspossible, "EVEN");
204.       sprintf(betspossible, "ODD");
205.       sprintf(betspossible, "BLACK");
206.       sprintf(betspossible, "RED");
207.
208.       scanf("%s %f %s %f %s %f %s %f", betsplaced, &cashbeth, betsplaced, &cashbeth, betsplaced, &cashbeth, betsplaced, &cashbeth);
209.
210.      for( c=0; c<4; c++)
211.          {
212.             cashvaild[c]=1;
213.             betvaild[c]=1;
214.
215.             if((floor(cashbeth[c])==cashbeth[c])&&(cashbeth[c]>0))             /* This is to see if the inputs are decimle */
216.                {
217.                         cashvaild[c]=0;                                        /* provided the input is vaild set the error counter to zero */
218.                         cashbet[c]= cashbeth[c];                                    /* Tranfer the  float array into a interger array*/
219.
220.                }
221.
222.
223.             for( d=0; d<42; d++)
224.                 {
225.
226.                   if(strcmp(betsplaced[c], betspossible[d])==0)                     /*Refrence the input bet with all vaild bets*/
227.                   {
228.                      betvaild[c]=0;                 /*provided the input is vaild set the error counter to zero */
229.                    }
230.                }
231.          }
232.
233.       e=(betvaild+betvaild+betvaild+betvaild);                  /*add the total number of errors in the imputs*/
234.       f=(cashvaild+cashvaild+cashvaild+cashvaild);
235.
236.
237.
238.       if(( e==0)&&(f==0))                                        /*Provided the number of error is zero the code will continue if not it will go and print error*/
239.       {
240.          srand(time(0));
241.          numbergen = (rand() %38);                  /*Generate a random number between 0-37 to simulate the roulette wheel*/
242.          if(numbergen != 37)
243.          {
244.             printf("\n\nThe Roulette wheel landed on number %d",numbergen);
245.          }
246.          else
247.          {
248.             printf("\n\nThe Roulette wheel landed on number 00 ");
249.          }
250.
251.          for( b = 0; b<4; b++)                                                      /*this allows for the bets two be procced where the bet number = the loop number*/
252.          {
253.             if(strcmp(betspossible, betsplaced[b])==0)                  /*this asks if the user bet on EVEN*/
254.             {
255.                if ((numbergen%2 == 0)&&(numbergen != 0)&&(numbergen != 37))         /* filters the number generated to see if it is even, if it is display the winnings */
256.                {
257.                   winnings[b]= (cashbet[b]*2);
258.                   profit[b]=(winnings[b]-cashbet[b]);
259.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
260.                   printf("\n You won £ %d for this bet", winnings[b]);
261.                   printf("\n your profit for this bet is £ %d",profit[b]);
262.                }
263.
264.                else                                            /* the number wasnt even thus display the loss */
265.                {
266.                   winnings[b] = ((1)* cashbet[b]);
267.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
268.                   printf("\n You lost %d for this bet", winnings[b]);
269.                   winnings[b] = ((-1)*winnings[b]);
270.                   profit[b]=winnings[b];
271.                   printf("\n your profit for this bet is £ %d",profit[b]);
272.
273.                }
274.
275.             }
276.
277.             else if(strcmp(betspossible, betsplaced[b])==0)               /*this asks if the user bet on ODD*/
278.             {
279.                if ((numbergen%2 != 0)&&(numbergen != 0)&&(numbergen != 37))         /*this is ask if the the randomnumber generated is ODD if so display the winnings*/
280.                {
281.                   winnings[b]= (cashbet[b]*2);
282.                   profit[b]=(winnings[b]-cashbet[b]);
283.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
284.                   printf("\n You won £ %d for this bet", winnings[b]);
285.                   printf("\n your profit for this bet is £ %d",profit[b]);
286.                }
287.                else
288.                {
289.                   winnings[b] = ((1)* cashbet[b]);
290.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
291.                   printf("\n You lost %d for this bet", winnings[b]);
292.                   winnings[b] = ((-1)*winnings[b]);
293.                   profit[b]=winnings[b];
294.                   printf("\n your profit for this bet is £ %d",profit[b]);
295.
296.                }
297.             }
298.
299.             else if(strcmp(betspossible, betsplaced[b])==0)                     /* this scans to see if the user bet on black*/
300.             {
301.                for( g=0; g<36; g++)
302.                {
303.
304.                   if(numbergen==black[g]){                                          /* cycle threw the array of black numbers and compares it to the randoms generated*/
305.                      y=1;
306.                   }
307.                }
308.
309.                if(y==1)                     /* if the randomnumber generated matches the with a black number display the winnings*/
310.                {
311.                   winnings[b]= (cashbet[b]*2);
312.                   profit[b]=(winnings[b]-cashbet[b]);
313.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
314.                   printf("\n You won £ %d for this bet", winnings[b]);
315.                   printf("\n your profit for this bet is £ %d",profit[b]);
316.                }
317.                else
318.                {
319.                   winnings[b] = ((1)* cashbet[b]);
320.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
321.                   printf("\n You lost %d for this bet", winnings[b]);
322.                   winnings[b] = ((-1)*winnings[b]);
323.                   profit[b]=winnings[b];
324.                   printf("\n your profit for this bet is £ %d",profit[b]);
325.                }
326.             }
327.
328.             else if(strcmp(betspossible, betsplaced[b])==0)                     /* this scans to see if the user bet on RED*/
329.             {
330.                for( g=0; g<36; g++)
331.                {
332.
333.                   if(numbergen==red[g])                                             /* cycle threw the array of black numbers and compares it to the randoms generated*/
334.                   {
335.                      x=1;
336.                   }
337.                }
338.
339.                if(x==1)
340.                {
341.                   winnings[b]= (cashbet[b]*2);
342.                   profit[b]=(winnings[b]-cashbet[b]);
343.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
344.                   printf("\n You won £ %d for this bet", winnings[b]);
345.                   printf("\n your profit for this bet is £ %d",profit[b]);
346.                }
347.                else
348.                {
349.                   winnings[b] = ((1)* cashbet[b]);
350.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
351.                   printf("\n You lost %d for this bet", winnings[b]);
352.                   winnings[b] = ((-1)*winnings[b]);
353.                   profit[b]=winnings[b];
354.                   printf("\n your profit for this bet is £ %d",profit[b]);
355.                }
356.             }
357.
358.           else if(strcmp(betspossible[numbergen], betsplaced[b])==0)                  /* compares the number generated with the numerical bets placed*/
359.                {
360.                winnings[b]= (cashbet[b]*36);
361.                profit[b]=(winnings[b]-cashbet[b]);
362.                printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
363.                printf("\n You won £ %d for this bet", winnings[b]);
364.                printf("\n your profit for this bet is £ %d",profit[b]);
365.             }
366.
367.             else{
368.                   winnings[b] = ((1)* cashbet[b]);
369.                   printf("\n\nFor bet number %d \n You placed £ %d on %s ",(b+1), cashbet[b], betsplaced[b]);
370.                   printf("\n You lost %d for this bet", winnings[b]);
371.                   winnings[b] = ((-1)*winnings[b]);
372.                   profit[b]=winnings[b];
373.                   printf("\n your profit for this bet is £ %d",profit[b]);
374.
375.                }
376.          }
377.
378.          winnings = winnings + winnings+ winnings + winnings;              /*this adds up all the winnings from each bet*/
379.          profit=profit+profit+profit+profit;           /* This adds up all the profit from each bet*/
380.
381.          printf("\n\nYour total winnings are £ %d", winnings);
382.          printf("\nYour total profit is £ %d",profit);
383.         }
384.           else{
385.               for(s=0; s<4; s++)                                                                      /*This cycles through each of the bets*/
386.             {
387.                if(betvaild[s]==1)                                                                     /*If a bet placed has an error it will display it*/
388.                {
389.                   printf("\n\nERROR:\n Bet number %d is an invaild Bet ", (s+1), betsplaced[d]);
390.                }
391.
392.
393.                if(cashvaild[s]==1)
394.                {
395.                   printf("\n\nERROR:\n The amount bet on bet number %d is invaild", (s+1));
396.                }
397.             }
398.
399.             printf("\n\nPlease insert diffrent bets and try again");
400.
401.
402.
403.          }
404.
405.
406. }