summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@simplelittledream.com>2021-11-01 12:02:03 -0400
committerJacob McDonnell <jacob@simplelittledream.com>2021-11-01 12:02:03 -0400
commit0ea43cbc5bbb2bbefe48bd32bb40d1d825208c82 (patch)
tree47bb4d9a3184cf53a699b60d26414149d8ca1cb3 /src
parentcb7e1688c61dc6861d06b56475f46d5c7ac75f91 (diff)
Updated the README, Removed the License, Changed ints to Ulongs in coin
Diffstat (limited to 'src')
-rw-r--r--src/cmd/coin/coin.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/cmd/coin/coin.c b/src/cmd/coin/coin.c
index 5c58b3c..c18d66c 100644
--- a/src/cmd/coin/coin.c
+++ b/src/cmd/coin/coin.c
@@ -2,25 +2,34 @@
#include <stdlib.h>
#include <time.h>
#include <string.h>
+#include <limits.h>
-int coinFlip (int times);
+unsigned long coinFlip (unsigned long times);
int
main (int argc, char *argv[])
{
- int nflag = 0, i, times = 1, tails, heads;
+ int nflag = 0, i, mflag = 0;
+ unsigned long times = 1, tails, heads;
argc--;
for (i = 1; i <= argc; i++) {
if (strcmp(argv[i], "-n") == 0)
nflag++;
- else if (nflag == 1)
+ else if (strcmp(argv[i], "-m") == 0) {
+ mflag++;
+ break;
+ } else if (nflag == 1)
times = atoi(argv[i]);
if (times == 0) {
printf("Non Integer Value Inputted\n");
return -1;
}
}
+
+ if (mflag == 1)
+ times = ULONG_MAX;
+
if (times == 1)
printf("%s\n", coinFlip(times) ? "Heads" : "Tails");
else {
@@ -28,17 +37,18 @@ main (int argc, char *argv[])
heads = times - tails;
float ph = (float)heads/times, pt = (float)tails/times;
- printf("Heads: %d\nTails: %d\nProb Heads: %f\nProb Tails: %f\n", heads, tails, ph, pt);
+ printf("Heads: %lu\nTails: %ld\nProb Heads: %f\nProb Tails: %f\n", heads, tails, ph, pt);
}
return 0;
}
/* coinFlip: Flips a coin n numbers of times and returns the number of tails */
-int
-coinFlip (int times)
+unsigned long
+coinFlip (unsigned long times)
{
- int tails, i, c;
+ unsigned long tails, i;
+ int c;
time_t t;
srand((unsigned) time(&t));