elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:32  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Mostrar en forma de lista! [solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar en forma de lista! [solucionado]  (Leído 259 veces)
;c1v!c

Desconectado Desconectado

Mensajes: 139


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Mostrar en forma de lista! [solucionado]
« en: 27 Enero 2012, 16:55 »

Hola bueno estaba realizando un programa en  C y necesito mostrar los datos asi.
El tema es que la primera linea la puedo mostrar sin problemas
el tema es mostrar la segunda fila que tiene los guiones y la tercera fila q los resultados vienen de una funcion.

Lo q yo quiero es que me muestre asi centrados los resultados como una lista si alguien me tira una idea o alguna funcion nose, a mi se me ocurrio una matriz pero pensandolo bien nose como mostrar los resultados de la funcion.


       Producto    Cantidad  P.Unitario   Descuento   Subtotal
   --------   --------  ----------      ---------     ---------
   PROD1       1000        1.00          100.00      900.00

Saludos!!

   


« Última modificación: 30 Enero 2012, 14:38 por ;c1v!c » En línea

rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: Mostrar matriz en forma de lista!
« Respuesta #1 en: 27 Enero 2012, 17:06 »

Para ello puedes utilizar la función printf.

Si no tienes material de referencia de calidad es hora de conseguirlo, una referencia en linea (pero en ingles) sobre salida con formato es Formatted Output.

Por ejemplo con los números enteros puedes utilizar "%Nd" que imprime, en un campo de N caracteres el valor de tipo signed int.

Con los números de punto flotante (float y double) puedes utilizar "%N.Mf" donde N es la anchura del campo y M el numero de decimales a mostrar.

Hay mas opciones, es cuestión de leer y practicar.

Un saludo


En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
;c1v!c

Desconectado Desconectado

Mensajes: 139


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Re: Mostrar matriz en forma de lista!
« Respuesta #2 en: 27 Enero 2012, 17:10 »

claro si entiendo pero mira este es mi ejemplo!!
probalo y fijate q no salen bien abajo de cada palabra los resultados.

Código
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
float prod1 (float n1, float f1);
float prod2 (float n1, float f1);
float subtotal (float n1, float f1, float desc);
 
int main()
{
int i,j;
float PreUni,CantSoli,desc;
char p1[6]="prod1";
char p2[6]="prod2";
char p3[6]="prod3";
char producto[7];
//-------------------CARGAMOS DATOS--------------------//
printf("\tIngrese nombre del producto &#8594; ");
fgets(producto,7,stdin);
if (producto[strlen(producto)-1] == '\n');
producto[strlen(producto)-1] = '\0';
printf("\tIngrese precio unitario &#8594; ");
scanf("%f",&PreUni);
printf("\tIngrese cantidad solicitada &#8594; ");
scanf("%f",&CantSoli);
//-------------------MOSTRAMOS LOS DATOS--------------//
 
if(strcmp(producto,p1)==0)
{
desc=prod1(PreUni,CantSoli);
printf("|| producto | Cantidad | P.Unitario | Desc. | Subtotal ||\n");
printf("|| [%s] | [%0.0f] | [%0.2f] | [%0.2f] | [%0.2f] || \n",producto,CantSoli,PreUni,prod1(PreUni,CantSoli),subtotal(PreUni,CantSoli,desc));
}
else if (strcmp(producto,p2)==0)
{
desc=prod2(PreUni,CantSoli);
printf("|| producto | Cantidad | P.Unitario | Desc. | Subtotal || \n");
printf("|| [%s] | [%0.0f] | [%0.2f] | [%0.2f] | [%0.2f] || \n",producto,CantSoli,PreUni,prod2(PreUni,CantSoli),subtotal(PreUni,CantSoli,desc));
}
else
{
printf("|| producto | Cantidad | P.Unitario | Desc. | Subtotal ||\n");
printf("|| [%s] | [%0.0f] | [%0.2f] | [0.00] | [%0.2f] ||\n",producto,CantSoli,PreUni,CantSoli);
}
return 0;
}
/////---------------------FUNCIONESSSSS----------------///////////
float prod1 (float n1, float f1)
{
return ((n1*f1)*10)/100;
}
float prod2 (float n1, float f1)
{
return ((n1*f1)*15)/100;
}
float subtotal (float n1, float f1, float descu)
{
return (n1*f1)-descu;
}
En línea

rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: Mostrar matriz en forma de lista!
« Respuesta #3 en: 27 Enero 2012, 17:54 »

No "sale bien" porque no indicas la anchura del campo "producto" (debes utilizar "%Ns") y si indicas en los demás campos que la anchura es cero (por ejemplo con "%0.0f") es igual a no indicarla.

Un saludo
En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
;c1v!c

Desconectado Desconectado

Mensajes: 139


Forma parte de esta comunidad gamer!!!


Ver Perfil WWW
Re: Mostrar matriz en forma de lista!
« Respuesta #4 en: 30 Enero 2012, 14:36 »

Buenisimo!! Muchas gracias la verdad que solucione el problema!!

aca dejo el codigo:
Código
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
float prod1 (float n1, float f1);
float prod2 (float n1, float f1);
float subtotal (float n1, float f1, float desc);
 
int main()
{
int i,j;
float PreUni,CantSoli,desc;
char p1[6]="prod1";
char p2[6]="prod2";
char p3[6]="prod3";
char producto[7];
//-------------------CARGAMOS DATOS--------------------//
printf("\tIngrese nombre del producto &#8594; ");
fgets(producto,7,stdin);
if (producto[strlen(producto)-1] == '\n');
producto[strlen(producto)-1] = '\0';
printf("\tIngrese precio unitario &#8594; ");
scanf("%f",&PreUni);
printf("\tIngrese cantidad solicitada &#8594; ");
scanf("%f",&CantSoli);
//-------------------MOSTRAMOS LOS DATOS--------------//
 
if(strcmp(producto,p1)==0)
{
desc=prod1(PreUni,CantSoli);
printf("\n||-----------------------------------------------------------||\n|| producto | Cantidad | P.Unitario | Descuento |  Subtotal  ||\n");
printf("|| [%.5s]  | %8.0f | %10.2f | %9.2f | %10.2f || \n||-----------------------------------------------------------||\n",producto,CantSoli,PreUni,prod1(PreUni,CantSoli),subtotal(PreUni,CantSoli,desc));
}
else if (strcmp(producto,p2)==0)
{
desc=prod2(PreUni,CantSoli);
printf("\n||-----------------------------------------------------------||\n|| producto | Cantidad | P.Unitario | Descuento |  Subtotal  || \n");
printf("|| [%.5s]  | %8.0f | %10.2f | %9.2f | %10.2f || \n||-----------------------------------------------------------||\n",producto,CantSoli,PreUni,prod2(PreUni,CantSoli),subtotal(PreUni,CantSoli,desc));
}
else
{
printf("\n||-----------------------------------------------------------||\n|| producto | Cantidad | P.Unitario | Descuento |  Subtotal  ||\n");
printf("||  [%.5s]  | %8.0f | %10.2f |   0.00    | %10.2f ||\n||-----------------------------------------------------------||\n",producto,CantSoli,PreUni,CantSoli);
}
return 0;
}
/////---------------------FUNCIONESSSSS----------------///////////
float prod1 (float n1, float f1)
{
return ((n1*f1)*10)/100;
}
float prod2 (float n1, float f1)
{
return ((n1*f1)*15)/100;
}
float subtotal (float n1, float f1, float descu)
{
return (n1*f1)-descu;
}
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mostrar registros de una tabla con ADODC en forma aleatoria!!
Programación Visual Basic
1Ale 2 863 Último mensaje 11 Diciembre 2005, 03:47
por 1Ale
Problema de mostrar una lista
Java
Aeros 3 862 Último mensaje 10 Agosto 2010, 00:09
por Aeros
[batch] mostrar ip utilizada con el comando net[Solucionado]
Scripting
moikano→@ 2 2,114 Último mensaje 14 Enero 2011, 21:50
por moikano→@
ha forma de mostrar el 100% zoom
Desarrollo Web
maxtextla 1 773 Último mensaje 3 Septiembre 2011, 15:34
por drvy | BSM
funcion mostrar lista doble lenguaje c
Programación C/C++
spectrumni 2 266 Último mensaje 26 Enero 2012, 23:39
por spectrumni
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines