cargas de cliente de a uno c++

Iniciado por alefox123, 8 Noviembre 2012, 18:14 PM

0 Miembros y 1 Visitante están viendo este tema.

alefox123

hola yo tengo que hacer una carga de cliente por consola el problema es que logro hacer la carga pero que pasa lo que yo quiero es cargar los cliente de a uno y lo que pude hacer es que carga pero si coloco que la estructura es de 3 cliente me carga los 3 de una y yo quiero cargarlos de uno como puedo hacer nose si me explique bien... ak le dejo el codigo

#include <stdio.h>
#include<conio.h>

typedef struct {
int dia,mes,año;
}fecha;
struct{
int nro_socio;
fecha fecha_ing;
}socio[3];

void cargar(int i);
void menu ();

int i=0;
int cant=0;
int cantidad=0;

void main(){

  menu();
     clrscr();
     menu();



}

void menu (){
int opcion;
printf("seleccione una opcion\n");
printf("1.cargar de datos:\n");

scanf("%d", & opcion);
switch(opcion){
case 1:
cargar(i);
break;

}
}
void cargar(int i){
while (i<3){
printf ("cargue numero de socio:");
scanf ("%d",& socio.nro_socio);
printf("cargue dia:");
scanf ("%d",& socio.fecha_ing.dia);
printf("cargue mes:");
scanf ("%d",& socio.fecha_ing.mes);
printf("cargue año:");
scanf ("%d",& socio.fecha_ing.año);
    i++  ;
   }

}

desde ya muchas gracias!!!

C_1^N

Hola alefox123!!
El codigo que estas poniendo es de C..
Lo que podes hacer (si no entendi mal lo que queres hacer) es poner el while en el main y dentro del bucle la funcion cargar, de esta manera podras cargar de a uno los clientes y no los tres juntos.

int main(void)
{
    ....

    while(i < 3){
        cargar()
        ++i
    }
    return 0;
}

o poner el bucle dentro de la funcion menu para que cada vez que retorne de cargar pregunte si desea cargar otro o salir.

PD: es mejor poner tu codigo entre etiquetas de C

Espero haberte ayudado. Saludos!
La gestión manual de bloques de memoria en C es como hacer malabarismos con pastillas de jabón en la ducha de la prisión: todo diversión hasta que cometes un fallo

alefox123

hola C_1^N primero de todo gracias por haber respondido.. pero no entendí mucho por que yo tengo declarado como un procedimiento el cargar no retorna ningun valor..igual intente poner el cargar dentro de el main pero me sigue cargando los 3 juntos...

igualmente muchas gracias!

C_1^N

lo que interprete que queres hacer es cargar de a uno los clientes y que el programa te deje elegir si cargar otro cliente o terminar la carga y no cargar los 3 clientes seguidos por eso dije que si eso es lo que buscas pongas cargar() en un bucle asi antes de entrar en la funcion podes determinar si cargas otro cliente o salis del programa

Saludos!
La gestión manual de bloques de memoria en C es como hacer malabarismos con pastillas de jabón en la ducha de la prisión: todo diversión hasta que cometes un fallo

alefox123

si eso es exactamente lo que quiero hacer. ahora te entendí porque no te entendia hacia cualquier cosa jaj y me salio ...

MUCHAS GRACIAS!!!!