Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: marjogr en 30 Octubre 2016, 06:10 am



Título: Estructuras/validacion de fecha
Publicado por: marjogr en 30 Octubre 2016, 06:10 am
Hola que tal, estoy haciendo un programa con estructuras, tengo un par de dudas ya que el programa consta de un menú y una de las opciones es ingresar los datos del empleado: nombre, salario y fecha de ingreso.. y Bueno la fecha de ingreso debo validarla.. la cuestión es que tengo un máximo para esos empleados que es 5. Mi primer problema es que si voy a ingresar todos de una sola vez uso un for y bueno chévere me almacena todo en el arreglo, pero en el caso de que quisiera solo almacenar 1 y regresar al menú y luego otro y regresar al menú.. no se como hacer para que se guarden en el arreglo pq otra de las opciones del menú es mostrar los datos de todos los empleados y si no uso el for para almacenar me imprime bien solo el ultimo empleado y luego una locura...
La otra duda que tengo es para validar la fecha.. pq si ingresa un dia 87 por ejemplo necesito que pida otra vez el dia hasta que este bien.. trate de hacerlo con un do while pero no tuve mucho éxito.. cualquier consejo seria maravilloso! gracias de antemano!
AHHHH solo puedo usar stdio.h y nada de funciones ...


Título: Re: Estructuras/validacion de fecha
Publicado por: eduardo1012 en 30 Octubre 2016, 08:57 am
Para ir almacenando de uno por uno, haz paso por referencia creando una función en la que i<5 y al salir de la función retorne un i++ a la variable en el main. Ya que si la inicializas en la función en i=0, y al salir i++, y vuelvas a entrar a la función esta será 0 siempre, y para la fecha puedes intentar algo asi:
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. main(){
  5. int dia,mes,año;
  6. do{
  7. printf("Ingresa: ");
  8. scanf("%d/%d/%d",&dia,&mes,&año);
  9. }while(dia>31 || mes>12 || año>25);
  10.  
  11.  
  12. printf("%d/%d/%d",dia,mes,año);
  13.  
  14. getch();
  15. }
Si lo logras mejorar avisame