elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Else if en programacion en C ayuda :-\ -- solucionado, gracias;
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Else if en programacion en C ayuda :-\ -- solucionado, gracias;  (Leído 11,330 veces)
Naslednik

Desconectado Desconectado

Mensajes: 28


Solo tu decides tu camino!!


Ver Perfil
Else if en programacion en C ayuda :-\ -- solucionado, gracias;
« en: 20 Abril 2015, 02:50 am »

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
Citar
 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.

Citar
#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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #1 en: 20 Abril 2015, 03:01 am »

Código:
-> 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);

Código
  1. if(condicion){
  2.  accion_en_if();
  3.  variable_en_if=algo;
  4. }else{
  5.  accion_en_else();
  6. }


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 Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #2 en: 20 Abril 2015, 03:05 am »

El problema es que estás haciendo:

Código
  1. if (i=0)  printf("intensidad: %.2f", a);
  2. b=i*r; //<<<--- Linea fuera del if
  3. else if (v=0) printf("Voltaje: %.2f", b);
  4.  

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:

Código
  1. printf("intensidad: %.2f", a);

Se ejecutara cuando se cumpla la condición del if, luego ejecutará:

Código
  1. b=i*r;

Y por lo tanto el else if no formara parte de nada.

Si

Código
  1. b=i*r;


se supone que ejecute si se cumple la condición deberías haber dicho:

Código
  1. if (i=0)
  2. {
  3. printf("intensidad: %.2f", a);
  4. b=i*r;
  5. }
  6. else if (v=0) printf("Voltaje: %.2f", b);
  7.  

Ese error lo cometes en diferentes partes.

Te explico el if else if funciona así:

Código
  1. if(condición1)
  2. {
  3. //Linea1 que se ejecutan si se cumple la condición1
  4. //Linea2 que se ejecutan si se cumple la condición1
  5. //...
  6. }
  7. else if(condición2)
  8. {
  9. //Linea3 que se ejecutan si no se cumple la condición1 y se cumple la condición2
  10. //Linea4 que se ejecutan si no se cumple la condición1 y se cumple la condición2
  11. //...
  12. }

Salu2s
« Última modificación: 20 Abril 2015, 03:08 am por DarK_FirefoX » En línea

Naslednik

Desconectado Desconectado

Mensajes: 28


Solo tu decides tu camino!!


Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #3 en: 20 Abril 2015, 03:18 am »

ah...  :D 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'  :P

así está mi codigo ahora y me lo compila y ejecuta :3 gracias chicos!!

Citar
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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #4 en: 20 Abril 2015, 03:21 am »

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 Desconectado

Mensajes: 28


Solo tu decides tu camino!!


Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #5 en: 20 Abril 2015, 03:24 am »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #6 en: 20 Abril 2015, 03:27 am »

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 Desconectado

Mensajes: 28


Solo tu decides tu camino!!


Ver Perfil
Re: Else if en programacion en C ayuda :-\
« Respuesta #7 en: 20 Abril 2015, 03:28 am »

gracias =)
En línea

preguntas concretas tienen respuestas concretas. procura no preguntar nada tan "generico" si no quieres respuestas tan "genericas".
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Filtrar y Mostrar Infor. de Archivos.csv [SOLUCIONADO] Gracias =)
Scripting
FranciskoAsdf 2 3,507 Último mensaje 7 Octubre 2009, 15:12 pm
por FranciskoAsdf
Por favor ayuda para empezar en html (SOLUCIONADO GRACIAS) « 1 2 »
Desarrollo Web
4rm4ndo 18 11,056 Último mensaje 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,583 Último mensaje 6 Marzo 2011, 21:20 pm
por NachoEx
Error con funciones (Solucionado, gracias!)
Programación C/C++
Erres 7 3,825 Último mensaje 12 Octubre 2012, 17:35 pm
por Erres
solucionado gracias
Ejercicios
j59 0 2,466 Último mensaje 22 Diciembre 2013, 00:13 am
por j59
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines