Autor
|
Tema: Mostrar en forma de lista! [solucionado] (Leído 2,810 veces)
|
;c1v!c
Desconectado
Mensajes: 151
Forma parte de esta comunidad gamer!!!
|
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 pm por ;c1v!c »
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
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
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
;c1v!c
Desconectado
Mensajes: 151
Forma parte de esta comunidad gamer!!!
|
claro si entiendo pero mira este es mi ejemplo!! probalo y fijate q no salen bien abajo de cada palabra los resultados. #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 → "); if (producto [strlen(producto )-1] == '\n'); producto [strlen(producto )-1] = '\0'; printf("\tIngrese precio unitario → "); printf("\tIngrese cantidad solicitada → "); //-------------------MOSTRAMOS LOS DATOS--------------// { 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
Mensajes: 1.639
|
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
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
;c1v!c
Desconectado
Mensajes: 151
Forma parte de esta comunidad gamer!!!
|
Buenisimo!! Muchas gracias la verdad que solucione el problema!! aca dejo el codigo: #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 → "); if (producto [strlen(producto )-1] == '\n'); producto [strlen(producto )-1] = '\0'; printf("\tIngrese precio unitario → "); printf("\tIngrese cantidad solicitada → "); //-------------------MOSTRAMOS LOS DATOS--------------// { 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
|
|
|
|
|
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
|
2,267
|
11 Diciembre 2005, 03:47 am
por 1Ale
|
|
|
Problema de mostrar una lista
Java
|
Aeros
|
3
|
2,930
|
10 Agosto 2010, 00:09 am
por Aeros
|
|
|
ha forma de mostrar el 100% zoom
Desarrollo Web
|
maxtextla
|
1
|
2,783
|
3 Septiembre 2011, 15:34 pm
por #!drvy
|
|
|
funcion mostrar lista doble lenguaje c
Programación C/C++
|
spectrumni
|
2
|
3,653
|
26 Enero 2012, 23:39 pm
por spectrumni
|
|
|
Wikipedia experimenta con una nueva forma de mostrar la fecha de actualización..
Noticias
|
wolfbcn
|
0
|
1,159
|
8 Julio 2012, 22:35 pm
por wolfbcn
|
|