Es que la estructura que tu pones para el else-if es esta:
Y la correcta para un else-if es esta:
Y el error es obvio dado que no hay un if anterior sino un else.Quedando tu code así(el while provoca un bucle infinito pero eso ya te lo dejo a tí , te he comentado algunos printf porque dabas argumentos de más):
Código (c) [Seleccionar]
else
{
if ( . . . )
}
Y la correcta para un else-if es esta:
Código (c) [Seleccionar]
else if( . . . )
{
}
Y el error es obvio dado que no hay un if anterior sino un else.Quedando tu code así(el while provoca un bucle infinito pero eso ya te lo dejo a tí , te he comentado algunos printf porque dabas argumentos de más):
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/**¡No es bueno usar variables globales**/
int main()
{
float Compra, Desc, Total;
char nom[10];
/*Declaración para introducir el nombre del cliente */
printf("Ingrese el nombre del cliente: \n");//Aquí no va nom....
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");//Aquí no va Compra...
scanf ("%6f", &Compra);//Aquí da un error si le pones el .2
/* 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);
}
while (Compra !=1500)//Esto provoca un bucle infinito...
{
if (Compra < 1500)
printf("Su compra no aplica descuento \n");
printf("El total a pagar es de: %5.2f \n",Compra);
}
return 0;
}