Autor
|
Tema: Else if en programacion en C ayuda :-\ -- solucionado, gracias; (Leído 11,271 veces)
|
Naslednik
Desconectado
Mensajes: 28
Solo tu decides tu camino!!
|
hola gente, tengo un problema con el comando else if, no estoy muy seguro como funciona en teoria el codigo escrito está bien, pero en "build messages" (errores de codigo) me pone 24 error: 'else' without a previous 'if' 27 error: 'else' without a previous 'if'
pero poner un 'if' antes de un 'else' seria volver a crear toda una cadena de 'if'... y yo solo quiero corregir mi codigo para compilarlo y ejecutarlo =/ que hice mal?, será algo del compilador que no tiene el comando else if?? la libreria stdio.h es la que tengo que utilizar?? aqui abajo dejo el codigo de mi programa. #include <stdio.h>
main () { float i, v, r, a, b, c;
printf("calculadora ley de ohm \t\t(Si no tienes un valor pon 0)"); printf("\n\nIntensidad:\t 0\nVoltaje:\t 0\nResistencia:\t 0\n\n");
printf("Intensidad? \n"); scanf("%f", &i);
printf("Voltaje? \n"); scanf("%f", &v);
printf("resistencia? \n"); scanf("%f", &r);
printf("\n\nIntensidad:\t %.2f\nVoltaje:\t %.2f\nResistencia:\t %.2f\n", i, v, r);
a=v/r; if (i=0) printf("intensidad: %.2f", a);
b=i*r; else if (v=0) printf("Voltaje: %.2f", b);
c=v/i; else if (r=0) printf("resistencia: %.2f", c);
else printf("lo siento, no puedo calcularlo");
getchar(); getchar();
return 0; }
gracias de antemano por su ayuda =) ------------------------------------------- moderadores, me acabo de dar cuenta de que hay un subtema de C/C++, borro este tema y lo reabro en ese subtema?, lo mueven ustedes?? o lo dejo tal cual y si me surge otra duda la consulto en dicho subtema?? gracias y perdón por las molestias =)
|
|
« Última modificación: 20 Abril 2015, 03:29 am por Naslednik »
|
En línea
|
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".
|
|
|
engel lex
|
-> inicio if ->if (i=0) printf("intensidad: %.2f", a);<-fin if
b=i*r; <-linea fuera del if
else huerfano-> else if (v=0) printf("Voltaje: %.2f", b); if(condicion){ accion_en_if(); variable_en_if=algo; }else{ accion_en_else(); }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
DarK_FirefoX
Desconectado
Mensajes: 1.263
Be the change you wanna see in te world
|
El problema es que estás haciendo: if (i=0) printf("intensidad: %.2f", a); b=i*r; //<<<--- Linea fuera del if else if (v=0) printf("Voltaje: %.2f", b);
Si te das cuenta, entre la sentencia del if y el else if tienes dos lineas de código que no están encerradas entre {}, por lo tanto solo: printf("intensidad: %.2f", a);
Se ejecutara cuando se cumpla la condición del if, luego ejecutará: b=i*r;
Y por lo tanto el else if no formara parte de nada. Si b=i*r;
se supone que ejecute si se cumple la condición deberías haber dicho: if (i=0) { printf("intensidad: %.2f", a); b=i*r; } else if (v=0) printf("Voltaje: %.2f", b);
Ese error lo cometes en diferentes partes. Te explico el if else if funciona así: if(condición1) { //Linea1 que se ejecutan si se cumple la condición1 //Linea2 que se ejecutan si se cumple la condición1 //... } else if(condición2) { //Linea3 que se ejecutan si no se cumple la condición1 y se cumple la condición2 //Linea4 que se ejecutan si no se cumple la condición1 y se cumple la condición2 //... }
Salu2s
|
|
« Última modificación: 20 Abril 2015, 03:08 am por DarK_FirefoX »
|
En línea
|
|
|
|
Naslednik
Desconectado
Mensajes: 28
Solo tu decides tu camino!!
|
ah... ahora me funciona!! que denante tuve un problema por dejar el calculo muy lejos de las variables, así que decidí dejarlo lo mas cerca del punto donde se necesitase xD y sin querer deje unos 'else huerfanos' así está mi codigo ahora y me lo compila y ejecuta :3 gracias chicos!! a=v/r; b=i*r; c=v/i; if (i=0) printf("intensidad: %.2f", a);
else if (v=0) printf("Voltaje: %.2f", b);
else if (r=0) printf("resistencia: %.2f", c);
else printf("lo siento, no puedo calcularlo");
claro que sigo sin poder hacer que haga lo que yo quiero, pero ya me voy a cabecear para que me salga y si me encuentro con alún otro problema y no le encuentro la solucion, ya preguntaré.
|
|
« Última modificación: 20 Abril 2015, 03:20 am por Naslednik »
|
En línea
|
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".
|
|
|
engel lex
|
usa corchetes con los if... el programa será igual a nivel ensamblador, pero será muchisimo más legible y evitarás esos errores causados por falta de corchetes
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Naslednik
Desconectado
Mensajes: 28
Solo tu decides tu camino!!
|
y en cuanto al subforo al cual tengo que preguntar... sigo preguntando aqui o me voy al subforo que le corresponde?? (C/C++)
|
|
|
En línea
|
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".
|
|
|
engel lex
|
esto corresponde a c++, ya fue movido
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Naslednik
Desconectado
Mensajes: 28
Solo tu decides tu camino!!
|
gracias =)
|
|
|
En línea
|
preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] Filtrar y Mostrar Infor. de Archivos.csv [SOLUCIONADO] Gracias =)
Scripting
|
FranciskoAsdf
|
2
|
3,479
|
7 Octubre 2009, 15:12 pm
por FranciskoAsdf
|
|
|
Por favor ayuda para empezar en html (SOLUCIONADO GRACIAS)
« 1 2 »
Desarrollo Web
|
4rm4ndo
|
18
|
10,925
|
2 Noviembre 2010, 14:34 pm
por xassiz~
|
|
|
Ayuda con programacion en visual basic acceso a datos :( [Solucionado]
Programación Visual Basic
|
NachoEx
|
4
|
3,555
|
6 Marzo 2011, 21:20 pm
por NachoEx
|
|
|
Error con funciones (Solucionado, gracias!)
Programación C/C++
|
Erres
|
7
|
3,783
|
12 Octubre 2012, 17:35 pm
por Erres
|
|
|
solucionado gracias
Ejercicios
|
j59
|
0
|
2,452
|
22 Diciembre 2013, 00:13 am
por j59
|
|