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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda por favor; duda con pequeño programa de C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda por favor; duda con pequeño programa de C  (Leído 1,869 veces)
feuersee

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda por favor; duda con pequeño programa de C
« en: 1 Diciembre 2014, 18:05 pm »

Buenas tardes,

Soy nuevo en el foro, en primer lugar, muy buenas a todos.
Estudio Ing.Industrial en alemania y estoy empezando en el mundo de la programación, C, SQL, Java....mi duda hace referencia a C.

Nos exigen programar algo, no muy complejo, por lo tanto hasta ahí bien.
El problema radica en...que tenemos derecho a dos revisiones, ya utilice una, por lo que para la segunda revisión tiene que estar perfecto el programa, y la verdad, no se por donde cogerlo ya, ya que como os dije, estoy en mi fase inicial, por lo que agradecería mucho si me pudieran echar un cable.

El programa en sí calcula la edad de un individuo, es decir, introduces fecha de nacimiento así como fecha actual, y el programa te calcula la edad exacta.....X años.....Y meses.....Z días.

Según el profesor (primera revisión) los siguientes conceptos son erróneos;

-No se puede meter fecha, sino que tienes que escribir día, mes y año por separado.
-Resultado es erróneo, ya que al introducir por ejemplo 2.7.1968.....tienes como resultado....46 años...5 meses y 30 días, en lugar de 46 años...4 meses y 29 días.

Había pensado hacerlo con biblioteca conio, (getch) el problema es que trabajamos con linux, y que yo tenga entendido....no reconoce dicha biblioteca.

El programa en cuestión es el siguiente, agradecería mucho si me ayudan ya que tengo que entregarlo corregido esta semana y estoy un poco agobiado, muchas gracias!

PD: Las variables se identifican en alemán.

Jahr= año.......Jahrgang=año de nacimiento.....Heutiges Jahr=año actual
monat=mes......Geburtsmonat= mes de nacimiento...Heutiger monat= mes actual.
tag= día.......geburstag=día de nacimiento....Heutiger Tag= día actual

#include<stdio.h>


void main(void)
{
   int jg,gm,gt,hj,hm,ht,j,m,d;

   printf("Berechnung des Alters Bitte geben Sie Ihren Daten an: ");
   printf("\n\n Jahrgang:  ");
   scanf("%d",&jg);
   printf("\n Geburtsmonat: ");
   scanf("%d",&gm);
   printf("\n Geburtstag: ");
   scanf("%d",&gt);
   printf("\n Heutiges Jahr: ");
   scanf("%d",&hj);
   printf("\n\n Heutiger monat: ");
   scanf("%d",&hm);
   printf("\n\n Heutiger tag: ");
   scanf("%d",&ht);




   if(hm==gm)
   {
      if(ht>=gt)
      {
         j=hj-jg;
      }
      else
      {
      j=hj-jg-1;
      }
   }






   if(hm>gm)
   {
      j=hj-jg;
   }
   else
   {
      if(hm<gm)
      {
         j=hj-jg-1;
      }

   }






   if(hm==gm)
   {
      m=0;
   }





   if(hm<gm)
   {
      m=hm-gm;
      m=12+m;
   }






   if(hm>gm)
   {
      m=hm-gm;
   }






   if(gt==ht)
   {
      d=0;
   }
   else
   {
      if(ht>gt)
      {
      d=ht-gt;
      }
      else
      {
         switch(hm)
         {
            case 1:
            d=ht-gt;
            d=31+d;
            break;
            case 2:
            if(hj==2012 || jg==2016)
            {
               d=ht-gt;
               d=29+d;
            }
            else
            {
               d=ht-gt;
               d=28+d;
            }
            break;
            case 3:
            d=ht-gt;
            d=31+gt;
            break;
            case 4:
            d=ht-gt;
            d=30+d;
            break;
            case 5:
            d=ht-gt;
            d=31+d;
            break;
            case 6:
            d=ht-gt;
            d=30+d;
            break;
            case 7:
            d=ht-gt;
            d=31+d;
            break;
            case 8:
            d=ht-gt;
            d=31+d;
            break;
            case 9:
            d=ht-gt;
            d=30+d;
            break;
            case 10:
            d=ht-gt;
            d=31+d;
            break;
            case 11:
            d=ht-gt;
            d=30+d;
            break;
            case 12:
            d=ht-gt;
            d=31+d;
         break;
         }
      }
  }

   printf("Du bist %d Jahre, %d Monaten und %d Tage alt!",j,m,d);


}


« Última modificación: 2 Diciembre 2014, 22:58 pm por feuersee » En línea

Kherom

Desconectado Desconectado

Mensajes: 40



Ver Perfil
Re: Ayuda por favor; duda con pequeño programa de C
« Respuesta #1 en: 5 Diciembre 2014, 00:10 am »

No deberías usar scanf para leer de la entrada estándar, y deberías traducir las variables y las cadenas para que entendamos el código. También deberías usar

]code=c]
tu codigo
]/code]

para que el código se muestre correctamente (Obviamente tienes que cambiar ] por [ en la antes de code y /code, las he puesto así porque si no no se muestran).


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un pequeño favor
Diseño Gráfico
™Carlos.® 2 1,720 Último mensaje 30 Noviembre 2005, 17:38 pm
por ™Carlos.®
duda sobre pequeño programa en c
Programación C/C++
Freelancer 2 3,082 Último mensaje 29 Junio 2011, 14:20 pm
por Freelancer
ayuda con pequeño detalle en programa de busqueda en un arreglo
Programación C/C++
johnnyBsc17 2 2,440 Último mensaje 17 Octubre 2011, 06:24 am
por _niu
[AYUDA] Pequeño programa de notas « 1 2 »
Java
reeyesg 16 5,939 Último mensaje 6 Mayo 2015, 19:11 pm
por PabloPbl
Ayuda con este pequeño programa en c
Programación C/C++
Chupakabras 2 2,082 Último mensaje 29 Mayo 2015, 07:46 am
por Chupakabras
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines