Problemas con ELSE

Iniciado por Xgirl12, 30 Marzo 2013, 22:36 PM

0 Miembros y 1 Visitante están viendo este tema.

85

#10
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 (cpp) [Seleccionar]

int main()
{
       char nom[128];
float Compra, Desc, Total;
       int a, opc;
for(a=0;; a++)
       {
   if(a>0){
printf("\n\tDesea Realizar una nueva compra?\n");
fflush(stdin);
               scanf("%d",&opc);
if(opc==0) break;
           }

           // Declaración para introducir el nombre del cliente
   printf("Ingrese el nombre del cliente: \n",nom);
fflush(stdin);
   scanf("%9s", nom);
   printf("El nombre del cliente es %s \n", nom );

   // Declaración para introducir total de la compra
   printf ("Ingrese el total de su compra: \n", Compra);
fflush(stdin);
   scanf ("%f", &Compra);

   // Operaciones para aplicar descuento
   if(Compra >= 8000)
           {
Total = Compra-(Compra*0.12);
printf("El total a  pagar es de: %6.2f \n", Total);
   }
           else if(Compra == 7999 && Compra >=5500)
           {
Total = Compra-(Compra*.10);
printf("El total a pagar es de: %5.2f \n", Total);
           }
           else if(Compra ==5499 && Compra >=3100)
           {
Total = Compra-(Compra*.07);
printf("El total a pagar es de:%6.2f \n", Total);
           }
           else if(Compra == 3099 && Compra >=1500)
           {
Total = Compra-(Compra*.05);
printf("El total a pagar es de: %6.2f \n", Total);
           }

   if (Compra !=1500)
   {
if (Compra < 1500)
   printf("Su compra no aplica descuento \n");


printf("El total a pagar es de: %5.2f \n",Compra);
   }
       }

return 0;
}


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

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

Xgirl12

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!

Xgirl12

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.

rir3760

Cita de: Xgirl12 en 11 Abril 2013, 06:50 AMRetomando 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:
#include <stdio.h>
#include <stdlib.h>

#define NUM_COMPRAS  10

int main(void)
{
   char nom[10];
   float Compra[NUM_COMPRAS];
   float Desc[NUM_COMPRAS];
   float Total[NUM_COMPRAS];


A continuación creas un bucle donde realizas las operaciones por cada una de las compras:
int i;

for (i = 0; i < NUM_COMPRAS; i++){
   
   /*
   ** Procesamos la compra utilizando
   **
   ** Compra[i]
   ** Desc[i]
   ** Total[i]
   */
   
}

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
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

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.

Xgirl12

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:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>



main(){

float Total, Compra;


struct Cliente {
char nombre[10];
char apellido[15];
}Nom;
/* En esta estructura quise poner Cat1 = 0.12 es decir, el porcentaje que le
corresponde, pero me marca error... solamente quitando la igualdad sigue*/
struct Categoria{
float Cat1, Cat2, Cat3, Cat4; 
};

/*Menu principal */
printf("Categoría 1 corresponde de 8000 o mas\n");
printf("Categoría 2 corresponde de 7999 a 5500\n");
printf("Categoría 3 corresponde de 5499 a 3100\n");
printf("Categoria 4 corresponde de 3099 a 1500\n");

float Descuento[5]={12,10,7,5};/* Aqui lo que quiero hacer es que me de una tabla donde
se ven los descuentos que se otorgan por categoria */


            // Declaración para introducir el nombre del cliente
    printf("Ingrese el nombre del cliente: \n",Nom);
fflush(stdin);
    scanf("%9s", Nom);
    printf("El nombre del cliente es %s \n", Nom );

    // Declaración para introducir total de la compra
    printf ("Ingrese el total de su compra: \n", Compra);
fflush(stdin);
    scanf ("%f", &Compra);

    // Operaciones para aplicar descuento
    if(Compra >= 8000)
            {
Total = Compra-(Compra*0.12);
printf("El total a  pagar es de: %6.2f \n", Total);
    }
            else if(Compra == 7999 && Compra >=5500)
            {
Total = Compra-(Compra*0.10);
printf("El total a pagar es de: %5.2f \n", Total);
            }
            else if(Compra ==5499 && Compra >=3100)
            {
Total = Compra-(Compra*0.07);
printf("El total a pagar es de:%6.2f \n", Total);
            }
            else if(Compra == 3099 && Compra >=1500)
            {
Total = Compra-(Compra*0.05);
printf("El total a pagar es de: %6.2f \n", Total);
            }

    if (Compra !=1500)
    {
if (Compra < 1500)
    printf("Su compra no aplica descuento \n");


printf("El total a pagar es de: %5.2f \n",Compra);
    }
       
system("pause");
return 0;


}


Saludos.