elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Pregunta programa en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta programa en c  (Leído 4,447 veces)
KIDRAP1

Desconectado Desconectado

Mensajes: 24



Ver Perfil
Pregunta programa en c
« en: 14 Julio 2013, 18:39 pm »

Hola amigos mi pregunta es la siguiente, tengo 4 vendedores de los cuales debo guardar uno por uno, nombre, numero de ventas, codigo y descripcion y motrarlo por pantalla y mostrar las ventas totales de todos los vendedores, pero al final debo mostrar cual vendedor tiene el record de haber vendido mas articulos y en eso es que tengo el problema por favor ayudenme a solucionarlo se los agradezco, aqui les dejo lo que eh hecho. 
Código:
#include <stdio.h>
#include <stdlib.h>
char codigo1[106];
char nom1[50];
char d1[100];
int n1;
int c1,acumulador;
int main()
{
for(c1=1;c1<=4;c1++){
printf("                      Editorial vida - Gestion de ventas\n\n\n");
printf("                          Ingrese datos de   vendedor\n\n");
printf("\nIngrese nombre de vendedor  ");
scanf("%s",&nom1);

printf("\nIngrese cantidad de productos ");
scanf("%d",&n1);

printf("\n\nIngrese codigo de producto ");
scanf("%s",&codigo1);
printf("\nIngrese descripcion del producto\n\n ");
scanf("%s",&d1);
acumulador=n1+acumulador;
getchar();
system ("cls");

printf("                           Informe de articulos vendidos\n\n\n\n");
printf("Vendedor: %s     Articulos vendidos:%d Codigo: %s\n\n",nom1,n1,codigo1);
printf("Descripcion de productos\n\n%s\n\n\n\n",d1);

printf("Total de artículos vendidos: %d\n\n",acumulador);
system("pause");
system("cls");
}
if(



 
  system("PAUSE");
  return 0;
}
[code=c][code=c]
[/code][/code]


En línea

αиσиyмσυรCร

Desconectado Desconectado

Mensajes: 83


[αиσиyмσυร̲̅Cร̲̅]


Ver Perfil
Re: Pregunta programa en c
« Respuesta #1 en: 14 Julio 2013, 19:36 pm »

Yo ando aprendiendo C poco a poco pero creo que puedes resolver tu duda haciendo las variables de los 4 vendedores ejemplo: w, x, y, z y compararlas al final de tal forma que hacemos una variable para compararlos opino que asi:

Código:
int mayor;

if ((w>x)&&(w>y)&&(w>z)
   mayor=w;
else if ((x>y)&&(x>z))
     mayor=x;
     else if (y>z)
           mayor=y;
           else mayor=z;

Espero haberte sido de ayuda y que te salga el programa :)

Un saludo αиσиyмσυรCร


En línea

Caster


Desconectado Desconectado

Mensajes: 786


Ver Perfil WWW
Re: Pregunta programa en c
« Respuesta #2 en: 14 Julio 2013, 19:45 pm »

Lo mejor sería que hicieras un programa para guardar todos los datos sobre todos los vendedores, y al final los comparases.

Saludos
En línea

αиσиyмσυรCร

Desconectado Desconectado

Mensajes: 83


[αиσиyмσυร̲̅Cร̲̅]


Ver Perfil
Re: Pregunta programa en c
« Respuesta #3 en: 14 Julio 2013, 23:26 pm »

Lo mejor sería que hicieras un programa para guardar todos los datos sobre todos los vendedores, y al final los comparases.

Saludos

A eso me refería yo :P le puse un ejemplo mas o menos
En línea

crksergio

Desconectado Desconectado

Mensajes: 42


Ðevastador


Ver Perfil WWW
Re: Pregunta programa en c
« Respuesta #4 en: 15 Julio 2013, 02:10 am »

Debes hacer un ciclo de comparación empezando por una variable que tenga un valor como 0 (si es que deseas ver quién vendió más) y también tener una variable auxliar para poder hacer el cambio sin perder los datos, para poder hacer algo como lo siguiente.

Código:
int NumVend[4]; //Este es el vector para guardar la ventas de tus 4 vendedores.
int VendMayor=0,VendAux; //VendMayor es donde va a quedar el valor de quién haya vendido más y VendAux es para poder dejar un dato estacionariamente sin perderlo al reescribir las variables.

for(i=0;i<4;i++)
{
 if(NumVend>VendMayor)
 {
  VendAux=VendMayor;
  VendMayor=NumVend[i];
  NumVend[i]=VendAux;
  }
}

De esta manera, en la variable VendMayor queda el valor de quién vendió más.

Espero te sirva, eso fue lo que yo entendí al leer tu problema. Saludos.
« Última modificación: 15 Julio 2013, 03:24 am por cracksergio » En línea

Miky Gonzalez

Desconectado Desconectado

Mensajes: 87

http://mikygonzalez.comule.com/blog/


Ver Perfil WWW
Re: Pregunta programa en c
« Respuesta #5 en: 15 Julio 2013, 11:18 am »

Puedes, para practicar, hacer una función para comparar 4 números y retornar el mayor:

Código
  1. int retornar_mayor(int a, int b, int c, int d) {
  2.    if((a > b) && (a > c) && (a > d)
  3.        return a;
  4.    else if((b > c) && (b > d))
  5.        return b;
  6.    else if(c > d)
  7.        return c;
  8.    else
  9.        return d;
  10. }
  11.  

Si quieres practicar con el preprocesador de C, puedes hacer que en vez de función sea una directiva. Esto lo puedes hacer como:

Código
  1. #define COMPARAR(a, b, c, d) if((a > b) && (a > c) && (a > d) printf("%d", a); \
  2.     else if((b > c) && (b > d)) printf("%d", b); \
  3.     else if(c > d) printf("%d", c); \
  4.     else printf("%d", d);

Para llamar a esta función es muy sencillo; Por ejemplo, podrías hacer:

Código
  1. retornar_mayor(vend_1, vend_2, vend_3, vend_4);

Esto te retornará el valor mayor de todos los vendedores, pero no te dirá cuál es. Puede modificar la función para que te retorne una matriz con el nombre del vendedor y su valor:

Código
  1. char** lista; // char lista[][];
  2. lista[][] = {{"VENDEDOR", "50"}}; // Un ejemplo en bruto

Para retornar una matriz (sea de la dimensión que sea) debes retornar un puntero hacia la matriz.
« Última modificación: 15 Julio 2013, 11:22 am por Miky Gonzalez » En línea

Mi blog personal, con información acerca de programación, seguridad, desarrollo y electrónica:


EN CONSTRUCCIÓN
aguml


Desconectado Desconectado

Mensajes: 378



Ver Perfil
Re: Pregunta programa en c
« Respuesta #6 en: 15 Julio 2013, 11:30 am »

yo no lo habria planteado asi, habria creado un array de 4 estructuras (una por vendedor) y así habria quedado mas ordenado a mi entender.
Luego lo que yo haría tras cada venta sería ordenar el array por el valor de las ventas y así tendria un ranking desde el mejor vendedor al peor y podria consultarlo cuando quisiera.
En línea

Miky Gonzalez

Desconectado Desconectado

Mensajes: 87

http://mikygonzalez.comule.com/blog/


Ver Perfil WWW
Re: Pregunta programa en c
« Respuesta #7 en: 15 Julio 2013, 14:51 pm »

A mi, el programa, a mi entender, podría quedar algo como lo que sigue. Sería una muy buena forma de implementarlo y trabajar con punteros y demás, que es lo que más suele costar al principio:

Citar
Hola amigos mi pregunta es la siguiente, tengo 4 vendedores de los cuales debo guardar uno por uno, nombre, numero de ventas, codigo y descripcion y motrarlo por pantalla y mostrar las ventas totales de todos los vendedores, pero al final debo mostrar cual vendedor tiene el record de haber vendido mas articulos y en eso es que tengo el problema por favor ayudenme a solucionarlo se los agradezco, aqui les dejo lo que eh hecho. 

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define NUM_VENDEDORES 4
  5.  
  6. typedef struct vendedores {
  7.    char *nombre;
  8.    unsigned int numero_ventas;
  9.    unsigned int codigo;
  10.    char *descripcion; // 255chr + \0
  11. } vendedores_t;
  12.  
  13. int main(int argc, char **argv) {
  14.    vendedores_t *vendedor = malloc(sizeof(vendedores_t) * 4);
  15.    unsigned int bucle_i = 0;
  16.  
  17.    while(bucle_i < 4) {
  18. printf("Ingrese los datos para vendedor %d (nombre - ventas - codigo - desc): ", bucle_i + 1);
  19. scanf("%s %i %i %s", vendedor[bucle_i].nombre, &vendedor[bucle_i].numero_ventas, &vendedor[bucle_i].codigo, vendedor[bucle_i].descripcion);
En línea

Mi blog personal, con información acerca de programación, seguridad, desarrollo y electrónica:


EN CONSTRUCCIÓN
crksergio

Desconectado Desconectado

Mensajes: 42


Ðevastador


Ver Perfil WWW
Re: Pregunta programa en c
« Respuesta #8 en: 15 Julio 2013, 15:51 pm »

Aquí ya tienes muchas soluciones. Yo creo que te queda buscar la que más se adecue a tu problema y que consuma menos memoria, obvio.
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Pregunta programa en c
« Respuesta #9 en: 15 Julio 2013, 15:53 pm »

Miky, te has liado con las llaves  :silbar:
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines