ElHombreDelTrajeGris ¿Has escrito algo en el foro que no tuviera la intención de discutir(en el mal sentido) o intentar ridiculizar a alguien? porque si es así no lo he visto...
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include <stdio.h>
#include <string.h>
int main() {
char bit[] = "bits";
char megabit[] = "Mb";
char byte[] = "bytes";
char kbyte[] = "KB";
char megabyte[] = "MB";
char gigabyte[] = "GB";
char terabyte[] = "TB";
int opc1;
int opc2;
/* Guarda la opción escogida por el usuario sobre el tipo de dato en las variables opc1 y opc2 */
system("clear");
printf("\n1.bit\n2.megabit\n3.byte\n4.kbyte\n5.megabyte\n6.gigabyte\n7.terabyte\n\nIntroduce el tipo de dato origen: ");
scanf("%i", &opc1);
system("clear");
printf("\n1.bit\n2.megabit\n3.byte\n4.kbyte\n5.megabyte\n6.gigabyte\n7.terabyte\n\nIntroduce el tipo de dato destino: ");
scanf("%i", &opc2);
/* Variables para el número introducido por el usuario y el resultado del cálculo */
float num;
float result;
/* Variables para indicar el tipo de dato original y final. */
char ori[6];
char fin[6];
/* Cálculo del resultado */
system("clear");
printf("\nIntroduce la cifra: ");
scanf("%f", &num);
switch(opc1)
{
case 1:
strcpy(ori, bit);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num;
break;
case 2:
strcpy(fin, megabit);
result = num / 1000000;
break;
case 3:
strcpy(fin, byte);
result = num / 8;
break;
case 4:
strcpy(fin, kbyte);
result = num / 1024;
break;
case 5:
strcpy(fin, megabyte);
result = num / 1024 / 1024;
break;
case 6:
strcpy(fin, gigabyte);
result = num / 1024 / 1024 / 1024;
break;
case 7:
strcpy(fin, terabyte);
result = num / 1024 / 1024 / 1024 / 1024;
break;
}
break;
case 2:
strcpy(ori, megabit);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num * 1000000;
break;
case 2:
strcpy(fin, megabit);
result = num;
break;
case 3:
strcpy(fin, byte);
result = num * 1000000 / 8;
break;
case 4:
strcpy(fin, kbyte);
result = num * 1000000 / 8 / 1024;
break;
case 5:
strcpy(fin, megabyte);
result = num * 1000000 / 8 / 1024 / 1024;
break;
case 6:
strcpy(fin, gigabyte);
result = num * 1000000 / 8 / 1024 / 1024 / 1024;
break;
case 7:
strcpy(fin, terabyte);
result = num * 1000000 / 8 / 1024 / 1024 / 1024 / 1024;
break;
}
break;
case 3:
strcpy(ori, byte);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num * 8;
break;
case 2:
strcpy(fin, megabit);
result = num * 8 / 1000000 ;
break;
case 3:
strcpy(fin, byte);
result = num;
break;
case 4:
strcpy(fin, kbyte);
result = num / 1024;
break;
case 5:
strcpy(fin, megabyte);
result = num / 1024 / 1024;
break;
case 6:
strcpy(fin, gigabyte);
result = num / 1024 / 1024 / 1024;
break;
case 7:
strcpy(fin, terabyte);
result = num / 1024 / 1024 / 1024 / 1024;
break;
}
break;
case 4:
strcpy(ori, kbyte);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num * 1024 * 8;
break;
case 2:
strcpy(fin, megabit);
result = num * 1024 * 8 / 1000000 ;
break;
case 3:
strcpy(fin, byte);
result = num *1024;
break;
case 4:
strcpy(fin, kbyte);
result = num;
break;
case 5:
strcpy(fin, megabyte);
result = num / 1024;
break;
case 6:
strcpy(fin, gigabyte);
result = num / 1024 / 1024;
break;
case 7:
strcpy(fin, terabyte);
result = num / 1024 / 1024 / 1024;
break;
}
break;
case 5:
strcpy(ori, megabyte);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num * 1024 * 1024 * 8;
break;
case 2:
strcpy(fin, megabit);
result = num * 1024 * 1024 * 8 / 1000000 ;
break;
case 3:
strcpy(fin, byte);
result = num * 1024 * 1024;
break;
case 4:
strcpy(fin, kbyte);
result = num * 1024;
break;
case 5:
strcpy(fin, megabyte);
result = num;
break;
case 6:
strcpy(fin, gigabyte);
result = num / 1024 / 1024;
break;
case 7:
strcpy(fin, terabyte);
result = num / 1024 / 1024 / 1024;
break;
}
break;
case 6:
strcpy(ori, gigabyte);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num * 1024 * 1024 * 1024 * 8;
break;
case 2:
strcpy(fin, megabit);
result = num * 1024 * 1024 * 1024 * 8 / 1000000 ;
break;
case 3:
strcpy(fin, byte);
result = num * 1024 * 1024 * 1024;
break;
case 4:
strcpy(fin, kbyte);
result = num * 1024 * 1024;
break;
case 5:
strcpy(fin, megabyte);
result = num * 1024;
break;
case 6:
strcpy(fin, gigabyte);
result = num;
break;
case 7:
strcpy(fin, terabyte);
result = num / 1024;
break;
}
break;
case 7:
strcpy(ori, terabyte);
switch(opc2)
{
case 1:
strcpy(fin, bit);
result = num * 1024 * 1024 * 1024 * 1024 * 8;
break;
case 2:
strcpy(fin, megabit);
result = num * 1024 * 1024 * 1024 * 1024 * 8 / 1000000 ;
break;
case 3:
strcpy(fin, byte);
result = num * 1024 * 1024 * 1024 * 1024;
break;
case 4:
strcpy(fin, kbyte);
result = num * 1024 * 1024 * 1024;
break;
case 5:
strcpy(fin, megabyte);
result = num * 1024 * 1024;
break;
case 6:
strcpy(fin, gigabyte);
result = num * 1024;
break;
case 7:
strcpy(fin, terabyte);
result = num;
break;
}
break;
}
/* Impresión en pantalla del resultado. */
system("clear");
printf("\n");
printf("\n%f %s es igual a: %f %s\n", num, ori, result, fin);
printf("\n");
return 0;
}