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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


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

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Problemas con ELSE
« Respuesta #10 en: 1 Abril 2013, 13:55 pm »

Si un bucle que permita realizar más compras.

El array 'nom' era muy peque, sólo 10 podés usar uno más grande XD

Código
  1. int main()
  2. {
  3.        char nom[128];
  4. float Compra, Desc, Total;
  5.        int a, opc;
  6. for(a=0;; a++)
  7.        {
  8.    if(a>0){
  9. printf("\n\tDesea Realizar una nueva compra?\n");
  10. fflush(stdin);
  11.                scanf("%d",&opc);
  12. if(opc==0) break;
  13.            }
  14.  
  15.            // Declaración para introducir el nombre del cliente
  16.    printf("Ingrese el nombre del cliente: \n",nom);
  17. fflush(stdin);
  18.    scanf("%9s", nom);
  19.    printf("El nombre del cliente es %s \n", nom );
  20.  
  21.    // Declaración para introducir total de la compra
  22.    printf ("Ingrese el total de su compra: \n", Compra);
  23. fflush(stdin);
  24.    scanf ("%f", &Compra);
  25.  
  26.    // Operaciones para aplicar descuento
  27.    if(Compra >= 8000)
  28.            {
  29. Total = Compra-(Compra*0.12);
  30. printf("El total a  pagar es de: %6.2f \n", Total);
  31.    }
  32.            else if(Compra == 7999 && Compra >=5500)
  33.            {
  34. Total = Compra-(Compra*.10);
  35. printf("El total a pagar es de: %5.2f \n", Total);
  36.            }
  37.            else if(Compra ==5499 && Compra >=3100)
  38.            {
  39. Total = Compra-(Compra*.07);
  40. printf("El total a pagar es de:%6.2f \n", Total);
  41.            }
  42.            else if(Compra == 3099 && Compra >=1500)
  43.            {
  44. Total = Compra-(Compra*.05);
  45. printf("El total a pagar es de: %6.2f \n", Total);
  46.            }
  47.  
  48.    if (Compra !=1500)
  49.    {
  50. if (Compra < 1500)
  51.    printf("Su compra no aplica descuento \n");
  52.  
  53.  
  54. printf("El total a pagar es de: %5.2f \n",Compra);
  55.    }
  56.        }
  57.  
  58. return 0;
  59. }
  60.  

cuando pongas las etiquetas de código, tenés que poner code=cpp
hasta luego



« Última modificación: 1 Abril 2013, 14:01 pm por 85 » En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Problemas con ELSE
« Respuesta #11 en: 2 Abril 2013, 00:54 am »

Excelente por las sugerencias y gracias por el ejemplo 85, muy amable de tu parte y ahora si, mil gracias a todos por su ayuda.

¡Saludos!


En línea

Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Problemas con ELSE
« Respuesta #12 en: 11 Abril 2013, 06:50 am »

Hola de nuevo a todos.

Retomando este programa, ahora me piden que le añada arreglos (arrays), pero la verdad no sé como es que encajarían aquí, les pido sugerencias de cómo lo podría agregar, es decir, que parte del programa puedo modificar para este asunto.

Espero que me hayan entendido y gracias de antemano.

Saludos.
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Problemas con ELSE
« Respuesta #13 en: 11 Abril 2013, 16:39 pm »

Retomando este programa, ahora me piden que le añada arreglos (arrays), pero la verdad no sé como es que encajarían aquí, les pido sugerencias de cómo lo podría agregar, es decir, que parte del programa puedo modificar para este asunto.
Primero declaras las variables "Compra", "Desc" y "Total" como arrays:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define NUM_COMPRAS  10
  5.  
  6. int main(void)
  7. {
  8.   char nom[10];
  9.   float Compra[NUM_COMPRAS];
  10.   float Desc[NUM_COMPRAS];
  11.   float Total[NUM_COMPRAS];

A continuación creas un bucle donde realizas las operaciones por cada una de las compras:
Código
  1. int i;
  2.  
  3. for (i = 0; i < NUM_COMPRAS; i++){
  4.  
  5.   /*
  6.    ** Procesamos la compra utilizando
  7.    **
  8.    ** Compra[i]
  9.    ** Desc[i]
  10.    ** Total[i]
  11.    */
  12.  
  13. }
Como indica el comentario debes tratar a las tres variables como arrays indicando su nombre así como el indice del elemento a procesar.

No tiene uso practico, supongo te piden eso para practicar con arrays.

Por ultimo evita el uso de la biblioteca conio de Borland, el porque se explica en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

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
Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Problemas con ELSE
« Respuesta #14 en: 12 Abril 2013, 06:17 am »

Gracias por la idea rir3760, yo también pensé que los arreglos no le quedan bien a este programa en particular, pero pues lo tengo que hacer.
Estoy adaptándolo para subirlo y que me compartan sus opiniones.
En línea

Xgirl12

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Problemas con ELSE
« Respuesta #15 en: 14 Abril 2013, 23:52 pm »

Hola a todos.
Siguiendo con lo mismo y espero en verdad no aburrirlos, pero es que se me complica porque aunque me lo piden a si, no le encuentro la lógica para poder dejarlo bien.

El compañero rir3760 me aconsejo usar un bucle, pero ¿de qué forma lo utilizo para poder aplicar el descuento que le toque?

Tengo otros detalles que vienen en el código, pero me interesa saber si estoy demasiado pérdida o todavía hay alguna solución.

Les paso el código actual:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6.  
  7. main(){
  8.  
  9. float Total, Compra;
  10.  
  11.  
  12. struct Cliente {
  13. char nombre[10];
  14. char apellido[15];
  15. }Nom;
  16. /* En esta estructura quise poner Cat1 = 0.12 es decir, el porcentaje que le
  17. corresponde, pero me marca error... solamente quitando la igualdad sigue*/
  18. struct Categoria{
  19. float Cat1, Cat2, Cat3, Cat4;  
  20. };
  21.  
  22. /*Menu principal */
  23. printf("Categoría 1 corresponde de 8000 o mas\n");
  24. printf("Categoría 2 corresponde de 7999 a 5500\n");
  25. printf("Categoría 3 corresponde de 5499 a 3100\n");
  26. printf("Categoria 4 corresponde de 3099 a 1500\n");
  27.  
  28. float Descuento[5]={12,10,7,5};/* Aqui lo que quiero hacer es que me de una tabla donde
  29. se ven los descuentos que se otorgan por categoria */
  30.  
  31.  
  32.            // Declaración para introducir el nombre del cliente
  33.    printf("Ingrese el nombre del cliente: \n",Nom);
  34. fflush(stdin);
  35.    scanf("%9s", Nom);
  36.    printf("El nombre del cliente es %s \n", Nom );
  37.  
  38.    // Declaración para introducir total de la compra
  39.    printf ("Ingrese el total de su compra: \n", Compra);
  40. fflush(stdin);
  41.    scanf ("%f", &Compra);
  42.  
  43.    // Operaciones para aplicar descuento
  44.    if(Compra >= 8000)
  45.            {
  46. Total = Compra-(Compra*0.12);
  47. printf("El total a  pagar es de: %6.2f \n", Total);
  48.    }
  49.            else if(Compra == 7999 && Compra >=5500)
  50.            {
  51. Total = Compra-(Compra*0.10);
  52. printf("El total a pagar es de: %5.2f \n", Total);
  53.            }
  54.            else if(Compra ==5499 && Compra >=3100)
  55.            {
  56. Total = Compra-(Compra*0.07);
  57. printf("El total a pagar es de:%6.2f \n", Total);
  58.            }
  59.            else if(Compra == 3099 && Compra >=1500)
  60.            {
  61. Total = Compra-(Compra*0.05);
  62. printf("El total a pagar es de: %6.2f \n", Total);
  63.            }
  64.  
  65.    if (Compra !=1500)
  66.    {
  67. if (Compra < 1500)
  68.    printf("Su compra no aplica descuento \n");
  69.  
  70.  
  71. printf("El total a pagar es de: %5.2f \n",Compra);
  72.    }
  73.  
  74. system("pause");
  75. return 0;
  76.  
  77.  
  78. }

Saludos.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

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