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

necesito ayuda para terminar un programa en c++

Estas en el tema de necesito ayuda para terminar un programa en c++ en el foro de C/C++ en Foros del Web. el enunciado dice asi..: CASA CORPORACION DE ABASTECIMIENTO Y SERVICIOS AGRICOLAS ha contratado sus servicios para desarrollar un programa que permita administrar las ventas por ...
  #1 (permalink)  
Antiguo 12/04/2010, 17:17
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
necesito ayuda para terminar un programa en c++

el enunciado dice asi..:
CASA CORPORACION DE ABASTECIMIENTO Y SERVICIOS AGRICOLAS ha contratado sus servicios para desarrollar un programa que permita administrar las ventas por mes de los 100 productos que tienen en su stock, para lo cual solicita se cumpla con los siguientes requerimientos:

a): inicialmente se mostrara un menú que permita ingresar, buscar, modificar,ordenar,mostrar y eliminar los datos de los 100 productos que maneja la empresa: código y nombre.

b): se permitirá ingresar las ventas que se realicen por mes.

c): mostrara reportes que reflejen el total de ventas por producto, el total de ventas por mes, el nombre del producto mas vendido por mes y el nombre, el mes y la cantidad del producto mas vendido.

ya yo hice la parte (A).. pero la parte (B)..me confunde me pueden ayudar plz.. Estos es lo que llevo hecho..
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include<stdlib.h>

typedef struct producto{
char nombre[20];
char ubicacion[30];
int codigo;
} Producto;

/* Arreglo que almacena productos */

Producto codigo[100];

/* Contiene el numero de productos actual */
int total = 0;

void cargar(), guardar(), insertar(producto info);
void ingresar(), buscar(), modificar(), eliminar(), ordenar(), mostrar();
char menu(void);

main()
{
system("cls");
cargar();
char op;

for(;;)
{
switch(op=menu())
{
case '1':
ingresar();
getch();
break;
case '2':
buscar();
getch();
break;
case '3':
modificar();
getch();
break;
case '4':
eliminar();
getch();
break;
case '5':
ordenar();
getch();
break;
case '6':
mostrar();
getch();
break;
case '7':
break;
default :
printf("Opcion no valida");
getch();
break;
}

if(op=='7') break;
system("cls");
}

printf("Presione (g) para guardar los cambios: ");

if(getche()=='g')
guardar();
}

void insertar(producto info)
{
strcpy(codigo[total].nombre, info.nombre);
strcpy(codigo[total].ubicacion, info.ubicacion);
codigo[total].codigo = info.codigo;
total++;
}

void cargar()
{
Producto info;
FILE *fp;

fp=fopen("producto.txt","r");
if(fp==NULL)
{
printf("\n");
return;
}

while(!feof(fp))
{
if(fread(&info, sizeof(producto), 1, fp)!=1) break;
insertar(info);
}

fclose(fp);
}

void guardar()
{
producto info;
FILE *fp;

fp=fopen("productos.txt","w");
if(fp==NULL)
{
printf("No se puede abrir el archivo\n");
return;
}

for(int i=0; i<total; i++)
fwrite(&codigo[i], sizeof(producto), 1, fp);

fclose(fp);
}

void ingresar()
{
producto info;

printf("Ingrese Nombre del producto: "); gets(info.nombre);
printf(" \n");
printf("Ingrese La Ubicacion Del Producto: "); gets(info.ubicacion);
printf(" \n");
printf("Ingrese el Codigo del Producto: ");
scanf("%d", &(info.codigo));
insertar(info);
printf(" \n");
printf("Producto ingresado exitosamente");
}

void buscar()
{
char nombre[20];
int i;

printf("Ingrese El Nombre A Buscar: ");
gets(nombre);

for(i=0; i<total; i++)
if(!strcmp(codigo[i].nombre, nombre))
{
printf("--- Datos Del Producto ---\n");
printf("Num.: %d\n", i+1);
printf("Nombre: %s\n", codigo[i].nombre);
printf("Ubicacion: %s\n", codigo[i].ubicacion);
printf("codigo: %d", codigo[i].codigo);

break;
}

if(i==total)
printf("producto no encontrado");
}

void modificar()
{
char nombre[20];
int i;

printf("Ingrese el nombre del a modificar: ");
gets(nombre);

for(i=0; i<total; i++)
if(!strcmp(codigo[i].nombre, nombre))
{
printf("--- Datos actuales del producto ---\n");
printf("Num.: %d\n", i+1);
printf("Nombre: %s\n", codigo[i].nombre);
printf("Ubicacion: %s\n", codigo[i].ubicacion);
printf("Codigo: %d\n\n", codigo[i].codigo);

printf("--- Nuevos datos del producto ---\n");
printf("Ingrese nombre nuevo del producto: "); gets(codigo[i].nombre);
printf("Ingrese Ubicacion: "); gets(codigo[i].ubicacion);
printf("Ingrese el codigo del producto: ");
scanf("%d", &(codigo[i].codigo));
printf(" \n");

printf("\n\nDatos actualizados exitosamente!");

break;
}

if(i==total)
printf("Producto no encontrado");
}

void eliminar()
{
char nombre[20];
int i;

printf("Ingrese nombre del producto a eliminar: ");
gets(nombre);

for(i=0; i<total; i++)
if(!strcmp(codigo[i].nombre, nombre))
{
/* Recorre registros posteriores */
for(int j=i+1; j<total; j++)
{
strcpy(codigo[j-1].nombre, codigo[j].nombre);
strcpy(codigo[j-1].ubicacion, codigo[j].ubicacion);
codigo[j-1].codigo = codigo[j].codigo;
}

printf("Producto eliminado");
total--;
break;
}

if(i==total)
printf("producto no encontrado");
}

void ordenar()
{
int i, j;
producto temp;

for(i=0; i<total-1; i++)
{
for(j=i+1; j<total; j++)
if(strcmp(codigo[i].nombre, codigo[j].nombre)>0)
{
/* Copia en variable temporal datos actuales */
strcpy(temp.nombre, codigo[i].nombre);
strcpy(temp.ubicacion, codigo[i].ubicacion);
temp.codigo = codigo[i].codigo;

/* Intercambia informacion */
strcpy(codigo[i].nombre, codigo[j].nombre);
strcpy(codigo[i].ubicacion, codigo[j].ubicacion);
codigo[i].codigo = codigo[j].codigo;

strcpy(codigo[j].nombre, temp.nombre);
strcpy(codigo[j].ubicacion, temp.ubicacion);
codigo[j].codigo = temp.codigo;
}
}
printf("Se han ordenado los registros");
}

void mostrar()
{
printf("--- Listado de productos ---\n");
printf("Num. - Nombre - Ubicaion - Codigo\n");
for(int i=0; i<total; i++)
{
printf("%d -- ", i+1);
printf("%s -- ", codigo[i].nombre);
printf("%s -- ", codigo[i].ubicacion);
printf("%d\n", codigo[i].codigo);
}
}

char menu(void)
{
char c;
printf("BIENVENIDOS AL SISTEMA PRESIONE UNA OPCION PARA EJECUTAR\n");
printf(" \n");
printf("(1)Ingresar\n");
printf("(2)Buscar\n");
printf("(3)Modificar\n");
printf("(4)Eliminar\n");
printf("(5)Odernar\n");
printf("(6)Mostrar\n");
printf("(7)Salir\n");
printf(" \n");
printf("Introduzca su opcion: ");
c=getche();
printf("\n");
return(c);
}

Gracias de antemano..

Etiquetas: programa, terminar
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 07:20.