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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  No veo el valor de las variables
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No veo el valor de las variables  (Leído 1,932 veces)
jairogon

Desconectado Desconectado

Mensajes: 24


Ver Perfil
No veo el valor de las variables
« en: 29 Mayo 2010, 06:54 am »

En el siguiente programa llamo a la función edad y funciona pero cuando hago paso a paso no veo el valor que toman las variables nacimiento y actual?
Gracias


Código:
//Programa que recibe la fecha de nacimiento de una persona
//y la fecha actual y calcula la edad que tiene actualmente
//Autor: JAIRO ALFONSO GONZALEZ CARO
//Fecha: 28/5/2010

#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#define _enhe "\xa4" //n minuscula

void edad(int a,int b,int c,int d,int e,int f);

void main(void)
{
 int anoact,mesact,diact,anonac,mesnac,dianac;

 system("cls");
  cout<<"..........CALCULO DE LA EDAD DEL ALUMNO..........\n\n";
   cout<<"FECHA ACTUAL\n";
cout<<"Entra el dia(1 - 31): ";
cin>>diact;
  cout<<"Entra el mes(1 - 12): ";
cin>>mesact;
cout<<"Entra el a"<<_enhe<<"o(Ej: 1976): ";
cin>>anoact;


   cout<<"FECHA NACIMIENTO\n";
cout<<"Entra el dia(1 - 31): ";
cin>>dianac;
  cout<<"Entra el mes(1 - 12): ";
cin>>mesnac;
cout<<"Entra el a"<<_enhe<<"o(Ej: 1976): ";
cin>>anonac;

  edad(anonac,mesnac,dianac,anoact,mesact,diact);
  getchar();

}

void edad(int a,int b,int c,int d,int e,int f)

{
 long nacimiento, actual;
 int anos,meses,dias;

  if(b==2||b==3)c=c-1;     //Aqui se restan los dias de mas de los
   if(b==4||b==5)c=c-2;    //meses de 31 dias
if(b==6||b==7)c=c-3;
if(b==8)c=c-4;
  if(b==9||b==10)c=c-5;
   if(b==11||b==12)c=c-6;


 nacimiento=(d*365)+(e*30)+f;  //HACIENDOLO PASO A PASO NO ME MUESTRA EL
   actual=(a*365)+(b*30)+c;    //RESULTADO DE LAS VARIABLES nacimiento y actual ********

anos=((actual-nacimiento)/365);
  meses=(((actual-nacimiento)%365)/30);
   dias=((actual-nacimiento)%30);

cout<<"\nLa Fecha de Nacimiento es:"<<c<<"/"<<b<<"/"<<a<<endl<<endl;
cout<<"La Fecha Actual es:"<<f<<"/"<<e<<"/"<<d<<endl<<endl;
cout<<"El Alumno tiene: "<<anos<<"a"<<_enhe<<"os "<<meses<<" meses y "<<dias<<" dias"<<endl;

}


En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: No veo el valor de las variables
« Respuesta #1 en: 29 Mayo 2010, 09:07 am »

Mmmmm yo de C++ no conozco mucho, pero la libreria stdio.h no hace falta incluirla.

Te faltaba agregar el namespace y la inclusion de la libreria iostream es sin el .h (Link)

El problema estaba en que si te fijas bien..
Código:
nacimiento = ( d * 365 ) + ( e * 30 ) + f;
actual = ( a * 365 ) + ( b * 30 ) + c;
las variables d, e y f hacen referencia a la fecha actual y vos al resultado de la operacion con esas variables se lo asignabas a nacimiento...

Aca te dejo el codigo con algunas modificaciones...

Código:
#include <iostream>

using namespace std;

void edad ( int a, int b, int c, int d, int e, int f );

int main( void )
{
    int ano_act, mes_act, dia_act, ano_nac, mes_nac, dia_nac;
   
    cout << "..........CALCULO DE LA EDAD DEL ALUMNO..........\n";
    cout << "\nFECHA ACTUAL\n";
    cout << "Entra el dia (1 - 31): ";
    cin >> dia_act;
    cout << "Entra el mes (1 - 12): ";
    cin >> mes_act;
    cout << "Entra el año (Ej: 1976): ";
    cin >> ano_act;

    cout << "\nFECHA NACIMIENTO\n";
    cout << "Entra el dia (1 - 31): ";
    cin >> dia_nac;
    cout << "Entra el mes (1 - 12): ";
    cin >> mes_nac;
    cout << "Entra el año (Ej: 1976): ";
    cin >> ano_nac;
   
    edad( ano_nac, mes_nac, dia_nac, ano_act, mes_act, dia_act );

    return 0;
}

void edad( int a, int b, int c, int d, int e, int f )
{
    long nacimiento, actual;
    int anos, meses, dias;

    if ( b == 2 || b == 3 ) c = c - 1;
    if ( b == 4 || b == 5 ) c = c - 2;
    if ( b == 6 || b == 7 ) c = c - 3;
    if ( b == 8 ) c = c - 4;
    if ( b == 9 || b == 10 ) c = c - 5;
    if ( b == 11 || b == 12 ) c = c - 6;

    actual = ( d * 365 ) + ( e * 30 ) + f;
    nacimiento = ( a * 365 ) + ( b * 30 ) + c;

    anos = ( actual - nacimiento ) / 365;
    meses = (( actual - nacimiento ) % 365 ) / 30;
    dias = ( actual - nacimiento ) % 30;

    cout << "\nLa Fecha de Nacimiento es: " << c << "/" << b << "/" << a << endl;
    cout << "La Fecha Actual es: " << f << "/" << e << "/" << d << endl;
    cout << "El Alumno tiene: " << anos << " años " << meses << " meses y " << dias << " dias" << endl;
}

Salu10.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Informacion de valor « 1 2 »
Windows
Cavalgante 11 4,912 Último mensaje 19 Agosto 2011, 11:49 am
por Randomize
Minimo Valor y Maximo Valor de Un Arbol
Programación C/C++
Jupiter34 1 7,432 Último mensaje 16 Noviembre 2012, 18:17 pm
por Jupiter34
[Aporte] Mostrar valor de variables privadas
Programación C/C++
elkiy 4 2,248 Último mensaje 21 Febrero 2013, 22:49 pm
por anonimo12121
Guardar valor de variables de .java en save.xml
Java
VicInFlames 2 2,980 Último mensaje 15 Noviembre 2015, 18:57 pm
por VicInFlames
Cambiar valor de variables regedit mediante un .bat
Scripting
ypsilon 2 4,338 Último mensaje 31 Agosto 2016, 01:08 am
por ypsilon
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines