/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

como arreglo esto!

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
cazador



Registrado: 03 May 2007
Mensajes: 4

MensajePublicado: 07/10/2007 12:05 pm
Título: como arreglo esto!

holas mi problema es el dato de codigo de articulo del ejercicio lo use como entero y no como cadena. pasa que que no sabia como igresar en la matriz que necesitaba para resolver el ejercicio. weno ese es mi problema tengo que convertir la cadena o entero?

1er lote una empresa dispone de un lote de registros con la siguiente informacion de sus 200 articulos.

codigo de articulo (char[4])
precio unitario

ordenado por codigo de articulo

2do lote informacion de las provincias en las que trabaja cada vendedor.son 300 registros en total con los siguientes datos.

numero de vendedor (1 a 300)
numero de provincia (1 a 24)

este lote esta desordenado

3er lote con las ventas efectuadas duante el año anterior, con estos datos

mes(1 a 12)
numero de vendedor(1 a 300)
codigo de articulo(char[4])
cantidad vendidad
este lote esta desordenado y finaliza con un registro con mes igual a 0.

determine e informe

a) la recaudacion mes por mes, discriminada por provincia

mes: enero

provincia total recaudado
99 900

b)para cada mes indicar los codigos de articulos que no se vendieron
mes:enero
codigos de art, sin ventas en el mes
XXXX
c)los numeros de los vendedores inactivos (sin ventas) durante 3 o mas meses consecutivos. si el mismo vendedor estuvo inactivo mas de una ves en el año se lo informara una sola ves.
Código:

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

void main(void)
{
   int i,j,ca,m,np,imp,cant,cont=0,nv;
   int mr[12][24]={0};
                int mca[3][4]={0};
   int mnv[20][12]={0};

   clrscr();

   printf("\n mes (1 a 12) ");
   scanf("%d",&m);
   printf("\n nro de vendedor (1 a 300) ");
   scanf("%d",&nv);
   printf("\n cod art (1 a 200) ");
   scanf("%d",&ca);
   printf("\n cantidad vendida  ");
   scanf("%d",&cant);
   printf("\n nro de provincia  ");
   scanf("%d",&np);
   printf("\n importe  ");
   scanf("%d",&imp);

   while(m!=0)
   {
      mr[m-1][np-1]+=imp;
      mca[m-1][ca-1]+=cant;
      mnv[nv-1][m-1]+=cant;

   printf("\n mes (1 a 12) ");
   scanf("%d",&m);
   printf("\n nro de vendedor (1 a 300) ");
   scanf("%d",&nv);
   printf("\n cod art (1 a 200) ");
   scanf("%d",&ca);
   printf("\n cantidad vendida  ");
   scanf("%d",&cant);
   printf("\n nro de provincia  ");
   scanf("%d",&np);
   printf("\n importe  ");
   scanf("%d",&imp);

   }

   for(i=0; i<3; i++)
   {
      for(j=0; j<4; j++)
         {
            if(mca[i][j]==0)
               printf("\n el mes es %d el codigo de art que no se vendio es %d",i+1,j+1);
         }
   }

   for(i=0; i<12; i++)
   {
      printf("\n para el mes %d",i+1);
      for(j=0; j<24; j++)
         {
               printf("\n de la provincia %d la rec es %d",j+1,mr[i][j]);

         }
   }

   for(i=0; i<20; i++)
   {
      cont=0;
      for(j=0; j<12; j++)
         {
            if(mnv[i][j]==0)
               cont++;
         }
         if(cont>=3)
           printf("\n el nro de vendedor sin ventas durante 3 o mas meses es %d",i+1);
          }
getch();
}
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3588
Ubicación: Mexico

MensajePublicado: 10/10/2007 6:15 am
Título: Re: como arreglo esto!

cazador escribió:
mi problema es el dato de codigo de articulo del ejercicio lo use como entero y no como cadena. pasa que que no sabia como igresar en la matriz que necesitaba para resolver el ejercicio. weno ese es mi problema tengo que convertir la cadena o entero?

Tienes que explicarte de una forma mas clara y precisa porque honestamente no se entiende lo que quieres hacer.

Con relacion al programa aqui van unas recomendaciones sobre como implementarlo.

cazador escribió:
1er lote una empresa dispone de un lote de registros con la siguiente informacion de sus 200 articulos.

codigo de articulo (char[4])
precio unitario

ordenado por codigo de articulo

Esto se implementa con un array de estructuras de tipo "struct articulo":
Código:
#define NUM_ARTICULOS  200

struct articulo {
   char id[4];
   double precio_unitario;
};

/* ... */

struct articulo articulo[NUM_ARTICULOS];

Para ordenarlos puedes utilizar cualquiera de los metodos mas sencillos de ordenacion como son seleccion e insercion, ejemplos de estos se encuentran en la base de datos de los foros.

cazador escribió:
2do lote informacion de las provincias en las que trabaja cada vendedor.son 300 registros en total con los siguientes datos.

numero de vendedor (1 a 300)
numero de provincia (1 a 24)

este lote esta desordenado

Esto en realidad es informacion sobre los vendedores y se implementaria mediante un array de tipo "struct vendedor":
Código:
#define NUM_VENDEDORES  300

struct vendedor {
   int id;
   int provincia;
};

/* ... */

struct vendedor vendedor[NUM_VENDEDORES];


cazador escribió:
3er lote con las ventas efectuadas duante el año anterior, con estos datos

mes(1 a 12)
numero de vendedor(1 a 300)
codigo de articulo(char[4])
cantidad vendidad
este lote esta desordenado y finaliza con un registro con mes igual a 0.

Y esto seria un array de articulos de tipo "struct articulo":
Código:
#define NUM_MAX_VENTAS  4000

struct venta {
   int mes;
   int id_vendedor;
   char id_articulo[4];
   int cantidad;
};

/* ... */

struct venta venta[NUM_MAX_VENTAS];


cazador escribió:
determine e informe

Por ultimo tienes que implementar un test para automatizar la entrada de datos ya que aun con un numero pequeño seria un dolor de cabeza tener que introducir los datos una y otra vez para verificar que el programa funcione correctamente.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com