Code:
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
double output;
double dummy1;
char bits[19], bytes[19];
int i, input;
puts("You may choose from:\nBits \tBytes \tKilobytes\nMegabytes\tGigabytes\tTerabytes\nPetabytes\tExabytes\tZettabytes\nYottabytes\n\n");
puts("What do you have?\n");
scanf("%d %s", &input, bits);
puts("What is the unit you wish to convert to?\n");
scanf("%s", bytes);
for(i = 0; bits[ i ]; i++) //lower cases the strings
bits[i] = tolower(bits[ i ]);
for(i = 0; bytes[ i ]; i++)
bytes[i] = tolower(bytes[ i ]);
printf("\n\n\n\n\n%s ::: %d\t%s\n", bits, input, output);
snooze(bits, input, dummy1);
snoozes(bytes, dummy1, output);
printf("\n\nYou have %d %s\n", output, bytes);
return 0;
}
int snooze(xx, zz, oo)
{
if(strchr(xx, 'bits')) {oo=zz;}
if(strchr(xx, 'bytes')){oo=zz*8;}
if(strchr(xx, 'kilobytes')) {oo=zz*8*1024;}
if(strchr(xx, 'megabytes')) {oo=zz*8*1024*1024;}
if(strchr(xx, 'gigabytes')) {oo=zz*8*1024*1024*1024;}
if(strchr(xx, 'terabytes')) {oo=zz*8*1024*1024*1024*1024;}
if(strchr(xx, 'petabytes')) {oo=zz*8*1024*1024*1024*1024*1024;}
if(strchr(xx, 'exabytes')) {oo=zz*1024*1024*1024*1024*1024*1024;}
if(strchr(xx, 'zettabytes')) {oo=zz*8*1024*1024*1024*1024*1024*1024*1024;}
if(strchr(xx, 'yottabytes')) {oo=zz*8*1024*1024*1024*1024*1024*1024*1024*1024;}
printf("\n\n%s\t%d\t%d\n", xx, oo, zz);
}
int snoozes(xx, zz, oo)
{
if(strchr(xx, 'bits')) {oo=zz;}
if(strchr(xx, 'bytes')){oo=zz/8;}
if(strchr(xx, 'kilobytes')) {oo=zz/8/1024;}
if(strchr(xx, 'megabytes')) {oo=zz/8/1024/1024;}
if(strchr(xx, 'gigabytes')) {oo=zz/8/1024/1024/1024;}
if(strchr(xx, 'terabytes')) {oo=zz/8/1024/1024/1024/1024;}
if(strchr(xx, 'petabytes')) {oo=zz/8/1024/1024/1024/1024/1024;}
if(strchr(xx, 'exabytes')) {oo=zz/8/1024/1024/1024/1024/1024/1024;}
if(strchr(xx, 'zettabytes')) {oo=zz/8/1024/1024/1024/1024/1024/1024/1024;}
if(strchr(xx, 'yottabytes')) {oo=zz/8/1024/1024/1024/1024/1024/1024/1024/1024;}
printf("\n\n%s\t%d\t%d\n", xx, oo, zz);
}