
[urgente]Ayuda con un programa, ayudenme es nota de examen
Publicado por William (2 intervenciones) el 24/08/2014 03:53:06
hola! necesto ayuda con este problema: " se quiere calcular la edad de un individuo; para ello se va a tener como entrada dos fechas en el formato dia ( 1 a 31) mes ( 1 al 12) y aun año (entero de cuantro digitos), correspondientes a la fecha de nacimiento y a la fecha actual, respectivamente. escriba un programa que calcule y visualice la edad del individuo. si es la fecha de un bebe ( menos de unaño de edad), la edad se debe dar en meses y dias ; en caso contrario la edad se calculara en años"...
ayuda por favor y temgo desarrolado esto::
#include<iostream>
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<conio.h>
//crear tabla datos "fecha"
typedef struct {
int dia;
int mes;
int anyo;
}fecha;
int main(int argc, char *argv[])
{
//variables
int Edad;
int error=0;
fecha Fnacimiento;
fecha Factual;
fecha Fedad;
//pantalla presentacion
//ESTRUCTURA VISIBLE - PEDIR FECHAS
//funcion bisiesto
int Bisiesto(int anyo);
{
int error=0;
if((anyo % 4 == 0) && (anyo % 100 !=0 ) || (anyo % 400 == 0))
{
error=0;
}
else
{
error=1;
}
return error;
}
system("cls");
gotoxy (2,3);
printf ("Introducir - Fecha de Nacimiento :");
gotoxy (2,4);
printf ("Introducir - Fecha Actual : \n\n\n\n\n\n");
//Pedir fecha de nacimiento en Fecha de Nacimiento
gotoxy (37,2);
scanf (" %d" ,&Fnacimiento.dia);
gotoxy (39,2);
printf ("/");
gotoxy (40,2);
scanf (" %d" ,&Fnacimiento.mes);
gotoxy (42,2);
printf ("/");
gotoxy (43,2);
scanf (" %d" ,&Fnacimiento.anyo);
//comprobar que este sea correcta la introduccion
if (Fnacimiento.mes<1 || Fnacimiento.mes>12)
error=1;
else if (Fnacimiento.dia<1 || Fnacimiento.dia>31)
error=1;
else
//comprobar dia en mes de 30 dias
switch (Fnacimiento.mes) {
case 4:
case 6:
case 9:
case 11:
if (Fnacimiento.dia>30)
error=1;
break;
//comprobar Febrero
case 2:
if (Fnacimiento.dia>28)
error=1;
break;
}
//Pedir fecha de actual en Fecha de Actual
gotoxy (30,4);
scanf (" %d" ,&Factual.dia);
gotoxy (32,4);
printf ("/");
gotoxy (33,4);
scanf (" %d" ,&Factual.mes);
gotoxy (35,4);
printf ("/");
gotoxy (36,4);
scanf (" %d" ,&Factual.anyo);
//comprobar que este sea correcta la introduccion
if (Factual.mes<1 || Factual.mes>12)
error=1;
else if (Factual.dia<1 || Factual.dia>31)
error=1;
else
//comprobar dia en mes de 30 dias
switch (Factual.mes) {
case 4:
case 6:
case 9:
case 11:
if (Factual.dia>30)
error=1;
break;
//comprobar Febrero
case 2:
if (Factual.dia>28)
error=1;
break;
}
//FIN ESTRUCTURA VISIBLE PEDIR FECHAS
Fedad.dia=Factual.dia-Fnacimiento.dia;
Fedad.mes=Factual.mes-Fnacimiento.mes;
Fedad.anyo=Factual.anyo-Fnacimiento.anyo;
//si es un Bebe ...años menor1
if (Factual.anyo-Fnacimiento.anyo==0) {
if (Factual.dia-Fnacimiento.dia<0);
switch (Fnacimiento.mes){
case '4':
case '6':
case '9':
case '11':
Fedad.mes--,Fedad.dia=Fedad.dia+30;
break;
case '2':
Fedad.mes--,Fedad.dia=Fedad.dia+28;
break;
}
(Fedad.mes--,(Fedad.dia=Fedad.dia+31));
printf ("\n La edad es ...: %d Meses / %d Dias \n" ,Fedad.mes,Fedad.dia);
}else
printf ("\n La edad es ...: %d Anyos \n ",Factual.anyo-Fnacimiento.anyo);
system("PAUSE");
return 0;
}
la verdad no se que es lo que esta malo me da solo dos errores en el if bisiesto,, y en el gotoxy (2,2),, ayudenme por favor!!!!!


ayuda por favor y temgo desarrolado esto::
#include<iostream>
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<conio.h>
//crear tabla datos "fecha"
typedef struct {
int dia;
int mes;
int anyo;
}fecha;
int main(int argc, char *argv[])
{
//variables
int Edad;
int error=0;
fecha Fnacimiento;
fecha Factual;
fecha Fedad;
//pantalla presentacion
//ESTRUCTURA VISIBLE - PEDIR FECHAS
//funcion bisiesto
int Bisiesto(int anyo);
{
int error=0;
if((anyo % 4 == 0) && (anyo % 100 !=0 ) || (anyo % 400 == 0))
{
error=0;
}
else
{
error=1;
}
return error;
}
system("cls");
gotoxy (2,3);
printf ("Introducir - Fecha de Nacimiento :");
gotoxy (2,4);
printf ("Introducir - Fecha Actual : \n\n\n\n\n\n");
//Pedir fecha de nacimiento en Fecha de Nacimiento
gotoxy (37,2);
scanf (" %d" ,&Fnacimiento.dia);
gotoxy (39,2);
printf ("/");
gotoxy (40,2);
scanf (" %d" ,&Fnacimiento.mes);
gotoxy (42,2);
printf ("/");
gotoxy (43,2);
scanf (" %d" ,&Fnacimiento.anyo);
//comprobar que este sea correcta la introduccion
if (Fnacimiento.mes<1 || Fnacimiento.mes>12)
error=1;
else if (Fnacimiento.dia<1 || Fnacimiento.dia>31)
error=1;
else
//comprobar dia en mes de 30 dias
switch (Fnacimiento.mes) {
case 4:
case 6:
case 9:
case 11:
if (Fnacimiento.dia>30)
error=1;
break;
//comprobar Febrero
case 2:
if (Fnacimiento.dia>28)
error=1;
break;
}
//Pedir fecha de actual en Fecha de Actual
gotoxy (30,4);
scanf (" %d" ,&Factual.dia);
gotoxy (32,4);
printf ("/");
gotoxy (33,4);
scanf (" %d" ,&Factual.mes);
gotoxy (35,4);
printf ("/");
gotoxy (36,4);
scanf (" %d" ,&Factual.anyo);
//comprobar que este sea correcta la introduccion
if (Factual.mes<1 || Factual.mes>12)
error=1;
else if (Factual.dia<1 || Factual.dia>31)
error=1;
else
//comprobar dia en mes de 30 dias
switch (Factual.mes) {
case 4:
case 6:
case 9:
case 11:
if (Factual.dia>30)
error=1;
break;
//comprobar Febrero
case 2:
if (Factual.dia>28)
error=1;
break;
}
//FIN ESTRUCTURA VISIBLE PEDIR FECHAS
Fedad.dia=Factual.dia-Fnacimiento.dia;
Fedad.mes=Factual.mes-Fnacimiento.mes;
Fedad.anyo=Factual.anyo-Fnacimiento.anyo;
//si es un Bebe ...años menor1
if (Factual.anyo-Fnacimiento.anyo==0) {
if (Factual.dia-Fnacimiento.dia<0);
switch (Fnacimiento.mes){
case '4':
case '6':
case '9':
case '11':
Fedad.mes--,Fedad.dia=Fedad.dia+30;
break;
case '2':
Fedad.mes--,Fedad.dia=Fedad.dia+28;
break;
}
(Fedad.mes--,(Fedad.dia=Fedad.dia+31));
printf ("\n La edad es ...: %d Meses / %d Dias \n" ,Fedad.mes,Fedad.dia);
}else
printf ("\n La edad es ...: %d Anyos \n ",Factual.anyo-Fnacimiento.anyo);
system("PAUSE");
return 0;
}
la verdad no se que es lo que esta malo me da solo dos errores en el if bisiesto,, y en el gotoxy (2,2),, ayudenme por favor!!!!!
Valora esta pregunta


0