Autor
|
Tema: No veo el valor de las variables (Leído 2,127 veces)
|
jairogon
Desconectado
Mensajes: 24
|
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 //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
Mensajes: 348
Into the Wild
|
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.. 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... #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 anio (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 anio (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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Informacion de valor
« 1 2 »
Windows
|
Cavalgante
|
11
|
5,590
|
19 Agosto 2011, 11:49 am
por Randomize
|
|
|
Minimo Valor y Maximo Valor de Un Arbol
Programación C/C++
|
Jupiter34
|
1
|
7,829
|
16 Noviembre 2012, 18:17 pm
por Jupiter34
|
|
|
[Aporte] Mostrar valor de variables privadas
Programación C/C++
|
elkiy
|
4
|
2,485
|
21 Febrero 2013, 22:49 pm
por anonimo12121
|
|
|
Guardar valor de variables de .java en save.xml
Java
|
VicInFlames
|
2
|
3,193
|
15 Noviembre 2015, 18:57 pm
por VicInFlames
|
|
|
Cambiar valor de variables regedit mediante un .bat
Scripting
|
ypsilon
|
2
|
4,605
|
31 Agosto 2016, 01:08 am
por ypsilon
|
|