Difference between revisions of "XMMS"
Jump to navigation
Jump to search
(→mm.c: source code highlighting) |
|||
Line 13: | Line 13: | ||
Perhaps someone should port this to work with the [[XINU]] code base. | Perhaps someone should port this to work with the [[XINU]] code base. | ||
− | + | <source lang="c"> | |
− | + | #include <stdio.h> | |
− | + | #include <stdlib.h> | |
− | + | ||
− | + | void usage(char *prog); | |
− | + | ||
− | + | int main(int argc, char **argv) | |
− | + | { | |
− | + | int oz, mm; | |
− | + | ||
− | + | if (argc != 2) | |
− | + | { usage(argv[0]); } | |
− | + | ||
− | + | oz = atoi(argv[1]); | |
− | + | ||
− | + | /* empirical evidence shows 500 M&Ms per pound */ | |
− | + | mm = 500 * (oz / 16); | |
− | + | ||
− | + | /* catch the remaining oz */ | |
− | + | mm += (31 * (oz % 16)); | |
− | + | ||
− | + | /* technically it is 31.25 M&Ms per ounce */ | |
− | + | /* so add 1 M&M for every 4 ounces */ | |
− | + | mm += ((oz % 16) / 4); | |
− | + | ||
− | + | printf("There are approximately %d M&Ms in %d ounces.\n", mm, oz); | |
− | + | ||
− | + | return 0; | |
− | + | } | |
− | + | ||
− | + | void usage(char *prog) | |
− | + | { | |
− | + | fprintf(stderr, "Usage: %s oz\n", prog); | |
− | + | fprintf(stderr, " Calculate the number of M&Ms in oz ounces.\n"); | |
− | + | exit(1); | |
+ | } | ||
+ | </source> |
Revision as of 18:57, 11 July 2008
M&M's are small candy coated milk chocolate delights that come in a rainbow of colors and several variations. The XINU Lab maintains a supply of these colorful treats so that members of the lab can make it through the hard days and long nights of XINU development.
Number of M&Ms in the jug
After filling the M&M jug about halfway full, I wondered about how many M&Ms it held. A little investigation and I developed this program to provide the number of M&Ms given <math>n</math> ounces.
mm.c
Perhaps someone should port this to work with the XINU code base.
#include <stdio.h>
#include <stdlib.h>
void usage(char *prog);
int main(int argc, char **argv)
{
int oz, mm;
if (argc != 2)
{ usage(argv[0]); }
oz = atoi(argv[1]);
/* empirical evidence shows 500 M&Ms per pound */
mm = 500 * (oz / 16);
/* catch the remaining oz */
mm += (31 * (oz % 16));
/* technically it is 31.25 M&Ms per ounce */
/* so add 1 M&M for every 4 ounces */
mm += ((oz % 16) / 4);
printf("There are approximately %d M&Ms in %d ounces.\n", mm, oz);
return 0;
}
void usage(char *prog)
{
fprintf(stderr, "Usage: %s oz\n", prog);
fprintf(stderr, " Calculate the number of M&Ms in oz ounces.\n");
exit(1);
}