/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

ayuda urgente en programa de dev c++

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
soso_2



Registrado: 20 Sep 2007
Mensajes: 10
Ubicación: bbb

MensajePublicado: 06/10/2007 7:40 am
Título: ayuda urgente en programa de dev c++

lo que pasa es que a la hora de introducir los datos se acaba el programa y es lo unico que hace quisiera saber cual es mi error
/*signo f estacion y año biciesto*/
#include <stdio.h>
#include <conio.h>

int main()

{
float a,b;
int c;
char oper;
printf("saber ,signo,estacio y año biciesto\n");
printf("que quieres saber\n 1)signo zodiacal\n2)estacion del año en que naciste\n3)si naciste en año bisiesto\n");
printf("que desea");
scanf("%c",&oper);
printf("introdusca en numeros el dia que nacio");
scanf("%f",&a);
printf("introdusca en numeros el mes que nacio");
scanf("%f",&b);
printf("el año en que naciste");
scanf("%d",&c);
switch(oper)
{
case'1':if(a>=1&&a<=30&&b>=3&&b<=4&&c>=1900)
printf("tu horoscopo es aries");
else
if(a>=1&&a<=30&&b==5&&c>=1900)
printf("tu horoscopo es tauro");
else
if(a>=1&&a<=30&&b>=5&&b<=6&&c>=1900)
printf("tu horoscopo es geminis");
else
if(a>=1&&a<=30&&b>=6&&b<=7&&c>=1900)
printf("tu horoscopo es cancer");
else
if(a>=1&&a<=30&&b>=8&&c>=1900)
printf("tu horoscopo es leo");
else
if(a>=1&&a<=30&&b>=8&&b<=9&&c>=1900)
printf("tu horoscopo es virgo");
else
if(a>=1&&a<=30&&b>=9&&b<=10&&c>=1900)
printf("tu horoscopo es libra");
else
if(a>=1&&a<=30&&b>=10&&b<=11&&c>=1900)
printf("tu horoscopo es escorpion");
else
if(a>=1&&a<=30&&b>=11&&b<=12&&c>=1900)
printf("tu horoscopo es sagitario");
else
if(a>=1&&a<=30&&b==1&&c>=1900)
printf("tu horoscopo es capricornio ");
else
if(a>=1&&a<=30&&b>=1&&b<=2&&c>=1900)
printf("tu horoscopo es acuario");
else
if(a>=1&&a<=30&&b==3&&c>=1900)
printf("tu horoscopo es picis");
break;
case'2':if(a>=1&&a<=30&&b>=7&&b<=12&&c>=1900)
printf("la estacion en que naciste es invierno");
else
if(a>=1&&a<=30&&b>=3&&b<=6&&c>=1900)
printf("la estacion en que naciste es primavera");
else
if(a>=1&&a<=30&&b>=1&&b<=5&&c>=1900)
printf("la estacion en que naciste es verano");
else
if(a>=1&&a<=30&&b>=6&&b<=12&&c>=1900)
printf("la estacion en que naciste es otoño");
break;
case'3':if(c%4==0&&c%400==0)
printf("naciste en año bisiesto");
else
if(c%100==1)
printf("no naciste en año bisiesto");
break;
}
getch;
}
Volver arriba
Dirección AIM Yahoo Messenger
rir3760



Registrado: 01 Oct 2004
Mensajes: 3588
Ubicación: Mexico

MensajePublicado: 06/10/2007 8:26 am
Título:

Cuando tengas un problema con uno de tus programas trata de ser lo mas claro y especifico posible empezando por el lenguaje de programacion que estas utilizando y cual es exactamente el problema.

Supongo que te refieres al calculo del año bisiesto, este esta mal y deberia ser:
Código:
switch (oper){

/* ... */

case '3':
   if (c % 400 == 0 || c % 4 == 0 && c % 100 != 0)
      printf("naciste en año bisiesto");
   else
      printf("no naciste en año bisiesto");
   break;
}


Tambien te falta indicar el valor de retorno de la funcion main y si vas a trabajar solo con enteros seria mejor declarar las tres variables "a", "b" y "c" como tipo "int" (y tambien darles nombres mas descriptivos como dia, mes, etc.).

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
soso_2



Registrado: 20 Sep 2007
Mensajes: 10
Ubicación: bbb

MensajePublicado: 06/10/2007 8:43 am
Título: yo

aclarando es c++ y el problema que al ejecutarlo no hace mas que pedirte los datos y se quita el programa
Volver arriba
Dirección AIM Yahoo Messenger
rir3760



Registrado: 01 Oct 2004
Mensajes: 3588
Ubicación: Mexico

MensajePublicado: 06/10/2007 9:28 pm
Título:

Para que el programa funcione correctamente (al menos la parte sobre el año bisiesto) solo tienes que hacer el cambio que te indique.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
soso_2



Registrado: 20 Sep 2007
Mensajes: 10
Ubicación: bbb

MensajePublicado: 07/10/2007 6:25 pm
Título: problema

el problema es que al ejecutarlo lo hace muy rapido e inmediatamente se acaba
Volver arriba
Dirección AIM Yahoo Messenger
Wellingtom



Registrado: 19 Sep 2007
Mensajes: 17
Ubicación: venezuela

MensajePublicado: 07/10/2007 8:42 pm
Título: hello!

hello!!

pues, compilé tu codigo, y no hay ningun error,
entiendo tu problema,
lo que tienes que hacer es agregar esta sencilla linea, a tu codigo...

al final (antes del ultimo " } ") :

system("pause");

y ya...

NOO olvides que esa linea, debe estar DENTRO de la funcion main, en la ultima linea, antes del " } " que termina (la funcion main...)





system("pause");
}




es todo...
esa funcion, lo que hace es mostrar el resultado, (y no cerrar la ventana hasta que el usuario puye alguna tecla)

saludos!!

__________ Confused
_________________
o sea hello!
Volver arriba
Yahoo Messenger
rir3760



Registrado: 01 Oct 2004
Mensajes: 3588
Ubicación: Mexico

MensajePublicado: 08/10/2007 7:46 am
Título:

Para ser exactos la llamada a la funcion system de colocarse como la penultima linea de la funcion main antes de la terminacion de esta indicada por la sentencia "return N;".

En el caso de C estandar un ejemplo sencillo es:
Código:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{   
   puts("hola, mundo");
   system("pause");
   
   return EXIT_SUCCESS;
}



Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com