Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con mi programa

Estas en el tema de Ayuda con mi programa en el foro de C/C++ en Foros del Web. este es mi programa y tengo el problema de q cuando ingreso una mercaderia.... despues vuelvo al menu y voy a ver stock o a ...
  #1 (permalink)  
Antiguo 25/11/2008, 21:11
 
Fecha de Ingreso: noviembre-2008
Mensajes: 37
Antigüedad: 15 años, 5 meses
Puntos: 2
Ayuda con mi programa

este es mi programa y tengo el problema de q cuando ingreso una mercaderia.... despues vuelvo al menu y voy a ver stock o a ver precio de venta, y no veo lo Ingresado anteriormente...

Aparte tampoco me deja ingresar el Nombre de la mercaderia...

espero ayuda ...gracias!!




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

struct mercaderia {
char nombre[40];
char compra[10];
char venta[10];
char cantidad[10];
}x;
int seleccion (void);
void menu_principal (void);
void agregar_mercaderia (struct mercaderia x) ;
void bajar_mercaderia (struct mercaderia x);
void stock_mercaderia (struct mercaderia x);
void pcompra_mercaderia (struct mercaderia x);
void pventa_mercaderia (struct mercaderia x);
void cantidad_mercaderia (struct mercaderia x);
void fin_programa (void);

main ()
{
struct mercaderia;
int ban=1;

printf("\t\t\tUNIVERSIDAD DE MENDOZA \n\n");

printf("Integrantes:\n\n");
printf("\t-*-Sebastian Pulido\n");
printf("\t-*-Martin Videla\n");
printf("\t-*-Rodrigo Lede D`Amico\n");

printf("Tema:\n\n");
printf("\t*Control De Stock de una Libreria\n\n\n");

printf("Curso turno Tarde - 2008\n");

getch();

while(ban==1)
{
menu_principal ( );
switch(seleccion ( ) )
{
case 1:
agregar_mercaderia (x);
break;
case 2:
bajar_mercaderia (x);
break;
case 3:
stock_mercaderia (x);
break;
case 4:
pcompra_mercaderia (x);
break;
case 5:
pventa_mercaderia (x);
break;
case 6:
fin_programa ( );
getch();
return 0;
break;
default: printf("\n Error: seleccione alguna de las otras opciones\n");

}
printf("¿Quiere volver al menu? (si=1 / No=0)\n");
scanf("%d", &ban);
}
getch();
return 0;
}

//empiezan las funciones//

void menu_principal (void)
{
clrscr();

printf("\t\t\tUNIVERSIDAD DE MENDOZA\n\n");

printf("\t\t\tLIBRERIA XXXXXX\n\n");

printf("*****************************************\ n");

printf("** ¿Que desea hacer? **\n");

printf("** 1. Agregar Mercaderia **\n");

printf("** 2. Dar de baja Mercaderia **\n");

printf("** 3. Ver Stock de Mercaderia **\n");

printf("** 4. Precio de Venta **\n");

printf("** 5. Precio de Compra **\n");

printf("** 6. Salir **\n");

printf("*****************************************\ n");
}

int seleccion(void)
{
int opcion;
printf("Seleccione una opcion: ");
scanf("%d", &opcion);
return opcion;
}

void agregar_mercaderia (struct mercaderia x) //case 1// //una variable de nombre X del tipo mercaderia//
{
clrscr();

printf("\nIngrese el Nombre:");

gets(x.nombre); //grabar cadenas //

printf("Precio de Compra:");

gets(x.compra);

printf("Precio de Venta:");

gets(x.venta);

printf("Cantidad:");

gets(x.cantidad);

printf("Mercaderia ingresada.\n\n");


}

void bajar_mercaderia (struct mercaderia x) //case 2//
{
int cant;
int cantidad;
clrscr();
printf("\t-*-Ingresar Nombre de la Mercaderia:\n");
gets(x.nombre);
printf("\t-*-Ingrese la cantidad vendida:\n");
scanf("%d", &cant);
cantidad=cantidad-cant;
gets(x.cantidad);


}


void stock_mercaderia (struct mercaderia x) //case 3 //
{
clrscr();
printf("\t-Nombre:%s\n", x.nombre);
printf("\t*Cantidad:%s\n", x.cantidad);



}

void pventa_mercaderia (struct mercaderia x) //case 4 //
{
clrscr();

printf("\t-Nombre:%s\n", x.nombre);
printf("\t*Precio de Venta:%s\n", x.venta);


getch();

}

void pcompra_mercaderia (struct mercaderia x) //case 5 //
{
clrscr();
printf("\t-Nombre%s\n", x.nombre);
printf("\t*Precio de Compra:%s\n", x.compra);


}

void fin_programa (void) //case 6 //
{
clrscr ();
printf("\nFin del programa");
}
  #2 (permalink)  
Antiguo 02/12/2008, 20:23
 
Fecha de Ingreso: febrero-2006
Mensajes: 49
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Ayuda con mi programa

Buenasss

Probá esto:

Código HTML:
#define BORRA_BUFFER while (getchar() != '\n')
y poné BORRA_BUFFER; despues de cada gets

Capaz es porque queda el enter en el buffer y te saltea datos
Y en la funcion bajar_mercaderia haces cantidad = cantidad - cant cuando cantidad no esta inicializada, y despues un gets habiendo hecho antes un scanf, ese puede ser el porblema tambien

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:19.