Olvide decir que aumente a 10 y seguía dando error
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úchar amarillo[]="amarillo";
char amarillo[]="amarill";
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void ayuda(void)
{
system("cls");
printf("Bienvenido al manual de ayuda de Ohmium v3.0!");
printf("\n\nPara empezar a usar el programa, entre en la primera\n");
printf("opcion, y valla introduciendo los colores uno a uno\n");
printf("en minusculas y sin acentos, tal y como se muestra en la\n");
printf("siguiente lista:\n");
printf("\n negro\n marron\n rojo\n naranja\n amarillo\n verde\n azul\n");
printf(" violeta\n gris\n blanco\n oro\n plata\n nada\n\n");
printf("PULSE CUALQUIER TECLA PARA REINICIAR EL PROGRAMA");
system("pause>nul");
system("cls");
}
int valor1(char col1[8])
{
int val;
char negro[]="negro";
char marron[]="marron";
char rojo[]="rojo";
char naranja[]="naranja";
char amarillo[]="amarillo";
char verde[]="verde";
char azul[]="azul";
char violeta[]="violeta";
char gris[]="gris";
char blanco[]="blanco";
int com0,com1,com2,com3,com4,com5,com6,com7,com8,com9;
com0=strcmp(negro,col1);
com1=strcmp(marron,col1);
com2=strcmp(rojo,col1);
com3=strcmp(naranja,col1);
com4=strcmp(amarillo,col1);
com5=strcmp(verde,col1);
com6=strcmp(azul,col1);
com7=strcmp(violeta,col1);
com8=strcmp(gris,col1);
com9=strcmp(blanco,col1);
if (com0==0) val=0;
else if (com1==0) val=10;
else if (com2==0) val=20;
else if (com3==0) val=30;
else if (com4==0) val=40;
else if (com5==0) val=50;
else if (com6==0) val=60;
else if (com7==0) val=70;
else if (com8==0) val=80;
else if (com9==0) val=90;
else error(1);
return val;
}
int valor2(char col2[8])
{
int num;
char negro[]="negro";
char marron[]="marron";
char rojo[]="rojo";
char naranja[]="naranja";
char amarillo[]="amarillo";
char verde[]="verde";
char azul[]="azul";
char violeta[]="violeta";
char gris[]="gris";
char blanco[]="blanco";
int com0,com1,com2,com3,com4,com5,com6,com7,com8,com9;
com0=strcmp(negro,col2);
com1=strcmp(marron,col2);
com2=strcmp(rojo,col2);
com3=strcmp(naranja,col2);
com4=strcmp(amarillo,col2);
com5=strcmp(verde,col2);
com6=strcmp(azul,col2);
com7=strcmp(violeta,col2);
com8=strcmp(gris,col2);
com9=strcmp(blanco,col2);
if (com0==0) num=0;
else if (com1==0) num=1;
else if (com2==0) num=2;
else if (com3==0) num=3;
else if (com4==0) num=4;
else if (com5==0) num=5;
else if (com6==0) num=6;
else if (com7==0) num=7;
else if (com8==0) num=8;
else if (com9==0) num=9;
else error(2);
return num;
}
float factor(char fac[8])
{
float num;
char negro[]="negro";
char marron[]="marron";
char rojo[]="rojo";
char naranja[]="naranja";
char amarillo[]="amarillo";
char verde[]="verde";
char azul[]="azul";
char plata[]="plata";
char oro[]="oro";
int com0,com1,com2,com3,com4,com5,com6,com7,com8;
com0=strcmp(negro,fac);
com1=strcmp(marron,fac);
com2=strcmp(rojo,fac);
com3=strcmp(naranja,fac);
com4=strcmp(amarillo,fac);
com5=strcmp(verde,fac);
com6=strcmp(azul,fac);
com7=strcmp(oro,fac);
com8=strcmp(plata,fac);
if (com0==0) num=1;
else if (com1==0) num=10;
else if (com2==0) num=100;
else if (com3==0) num=1000;
else if (com4==0) num=10000;
else if (com5==0) num=100000;
else if (com6==0) num=1000000;
else if (com7==0) num=0.1;
else if (com8==0) num=0.01;
else error(3);
return num;
}
int tolerancia(char num2[8])
{
int tol;
char marron[]="marron";
char rojo[]="rojo";
char plata[]="plata";
char oro[]="oro";
char nada[]="nada";
int com0,com1,com2,com3,com4;
com0=strcmp(marron,num2);
com1=strcmp(rojo,num2);
com2=strcmp(oro,num2);
com3=strcmp(plata,num2);
com4=strcmp(nada,num2);
if (com0==0) tol=1;
else if (com1==0) tol=2;
else if (com2==0) tol=5;
else if (com3==0) tol=10;
else if (com4==0) tol=20;
else error(4);
return tol;
}
void error(int tipo)
{
if (tipo==1 || tipo==2) //primeras dos cifras
{
system("cls");
printf("\nHa habido un error al introducir el %d color \n",tipo);
printf("Asegurese de que ha introducido uno de los siguientes colores:");
printf("\n negro\n marron\n rojo\n naranja\n amarillo\n verde\n azul\n");
printf(" violeta\n gris\n blanco\n");
printf("Pulse cualquier tecla para reiniciar el programa");
system("pause>nul");
system("cls");
cadena();
}
else if (tipo==3) //tercera cifra
{
system("cls");
printf("\nHa habido un error al introducir el tercer color\n",tipo);
printf("Asegurese de que ha introducido uno de los siguientes colores:");
printf("\n negro\n marron\n rojo\n naranja\n amarillo\n verde\n azul\n");
printf(" oro\n plata\n");
printf("Pulse cualquier tecla para reiniciar el programa");
system("pause>nul");
system("cls");
cadena();
}
else if (tipo==4) //cuarta cifra
{
system("cls");
printf("\nHa habido un error al introducir el cuarto color\n",tipo);
printf("Asegurese de que ha introducido uno de los siguientes numeros:");
printf("\n negro\n marron\n oro\n plata\n nada\n");
printf("Pulse cualquier tecla para reiniciar el programa");
system("pause>nul");
system("cls");
cadena();
}
else if (tipo==5)
{
system("color 04");
printf("ERROR GENERALIZADO, PULSE CUALQUIER TECLA PARA SALIR");
system("pause>nul");
system("exit");
}
}
void cadena(void)
{
int opcion;
opcion=1;
while (opcion==1)
{
printf("BIENVENIDO A OHMIUM v3.0!\n");
printf("Pulse 1 para empezar\n");
printf("Pulse 2 para ver el manual de ayuda\n");
//seleccion de comienzo u ayuda
printf("(1/2): ");
int po;
fflush(stdin);
scanf("%d",&po);
if (po==1)
{
//Recogida de datos
system("cls");
printf("Introduzca el primer color: ");
char prim[8];
fflush(stdin);
gets(prim);
system("cls");
printf("Introduzca el segundo color: ");
char segu[8];
fflush(stdin);
gets(segu);
system("cls");
printf("Introduzca el tercer color: ");
char terce[8];
fflush(stdin);
gets(terce);
system("cls");
printf("Introduzca el cuarto color: ");
char cuar[8];
fflush(stdin);
gets(cuar);
//Comienzo del calculo
int val1,val2,val4;
val1=valor1(prim);
val2=valor2(segu);
float val3;
val3=factor(terce);
val4=tolerancia(cuar);
int res1;
res1=val1+val2;
float res2;
res2=res1*val3;
//clasificacion del resultado
system("cls");
float resf2;
if (res2<=990)
{
resf2=res2;
system("color 02");
printf("La resistencia tiene un valor de %g ohmios ñ %d\n",resf2,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if ((res2==1000) || (res2==2000) || (res2==3000) || (res2==4000) || (res2==5000) || (res2==6000) || (res2==7000) || (res2==8000) || (res2==9000))
{
float num;
num=res2/1000;
char resf1[2];
sprintf(resf1,"%gK",num);
resf1[2]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if ((res2>=1100 && res2<=1900) || (res2>=2100 && res2<=2900) || (res2>=3100 && res2<=3900) || (res2>=4100 && res2<=4900) || (res2>=5100 && res2<=5900) || (res2>=6100 && res2<=6900) || (res2>=7100 && res2<=7900) || (res2>=8100 && res2<=8900) || (res2>=9100 && res2<=9900))
{
char num1[3];
sprintf(num1,"%g",res2);
char resf1[3];
sprintf(resf1,"%cK%c",num1[0],num1[1]);
resf1[3]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if (res2>=10000 && res2<=99000)
{
float num;
num=res2/1000;
char resf1[3];
sprintf(resf1,"%gK",num);
resf1[3]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if (res2>=100000 && res2<=990000)
{
float num;
num=res2/1000;
char resf1[4];
sprintf(resf1,"%gK",num);
resf1[4]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if ((res2==1000000) || (res2==2000000) || (res2==3000000) || (res2==4000000) || (res2==5000000) || (res2==6000000) || (res2==7000000) || (res2==8000000) || (res2==9000000))
{
float num;
num=res2/1000000;
char resf1[2];
sprintf(resf1,"%gM",num);
resf1[2]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if ((res2>=1100000 && res2<=1900000) || (res2>=2100000 && res2<=2900000) || (res2>=3100000 && res2<=3900000) || (res2>=4100000 && res2<=4900000) || (res2>=5100000 && res2<=5900000) || (res2>=6100000 && res2<=6900000) || (res2>=7100000 && res2<=7900000) || (res2>=8100000 && res2<=8900000) || (res2>=9100000 && res2<=9900000))
{
char num1[10];
sprintf(num1,"%f",res2);
char resf1[3];
sprintf(resf1,"%cM%c",num1[0],num1[1]);
resf1[3]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if (res2>=10000000 && res2<=99000000)
{
float num;
num=res2/1000000;
char resf1[3];
sprintf(resf1,"%gM",num);
resf1[3]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
else if (res2>=100000000 && res2<=990000000)
{
float num;
num=res2/1000000;
char resf1[4];
sprintf(resf1,"%gM",num);
resf1[4]='\0';
system("color 02");
printf("La resistencia tiene un valor de %s ñ %d\n",resf1,val4);
printf("PULSE CUALQUIER TECLA PARA CONTINUAR");
system("pause>nul");
system("color 07");
}
system("cls");
printf("Pulse 1 para volver calcular otra resistencia\n");
printf("Pulse 2 para salir\n");
printf("(1/2): ");
fflush(stdin);
scanf("%d",&opcion);
system("color 07");
system("cls");
}
else ayuda();
}
system("exit");
}
int main(void)
{
system("title Ohmium v3.0");
cadena();
return 0;
}