2013-08-19 5 views
-1

Напишите программу, которая предложит пользователю ввести цену товара и код цены. Ваша программа должна рассчитать новую скидку и подтвердить ввод.найти скидку со статьи с ценовыми кодами

ВСЕ В ЭТОМ КОДА является корректным, но когда я запускаю Compiler, я ENTER 100 по цене, но затем CURSOR не останавливает ПО КОДЕКСУ ЦЕН И Я ТОГДА НЕ В СОСТОЯНИИ ВХОДА В МОЕМ Желаемая КОД ЦЕН? ПОЧЕМУ КУРСОР НЕ ОСТАНЕТСЯ ПОСЛЕ «ЦЕННОГО КОДА» ???

#include <stdio.h> 
main() 
{ 
float price, discp; 
char code; 
printf("Price Calculator"); 
printf("\n\n========================"); 
printf("\n\nEnter the price: $ "); 
scanf("%f", &price); 
printf("\n\nEnter the pricing code: "); 
scanf("%c", &code); 
if ((code=='C')||(code=='c')) 
{ 
    discp=price-0.3*price; 
    printf("\n\n\nNew discounted price is $%.2f\n\n\n\n\n\n\n", discp); 
} 
if ((code=='A')||(code=='a')) 
{ 
    discp=price-0.5*price; 
    printf("\n\n\nNew discounted price is $%.2f\n\n\n\n\n\n\n", discp); 
} 
if ((code=='B')||(code=='b')) 
{ 
    discp=price-0.4*price; 
    printf("\n\n\nNew discounted price is $%.2f\n\n\n\n\n\n\n", discp); 
} 
if ((code=='D')||(code=='d')) 
{ 
    discp=price-0.1*price; 
    printf("\n\n\nNew discounted price is $%.2f\n\n\n\n\n\n\n", discp); 
} 
if ((code=='E')||(code=='e')) 
{ 
    discp=price; 
    printf("\n\n\nNew discounted price is $%.2f\n\n\n\n\n\n\n", discp); 
} 
else 
{ 
    printf("\n\n\nInvalid Pricing Code\n\n\n\n\n\n\n", discp); 
} 
} 

ответ

0

Проблема, которую вы испытываете, что scanf() только хватает одного символа из входного буфера. Это было бы хорошо, за исключением того, что есть еще новая строка остается в буфере ввода, что в результате удара «введите» после ввода .. Вам нужно очистить буфер ввода после того, как вы используете scanf() так:

сделать

scanf("%c", &code); 
while(code == '\n'){scanf("%c", &code);} 

или сверните буфер

 Смежные вопросы

  • Нет связанных вопросов^_^