, имеющие проблем с Scanf характером ... при запуске программы не препятствует мне ввести символ программу, когда я вхожу целое число печатает Printf и перейти к последним еще ...C программирование: символ в Scanf
#include <stdio.h>
#include <stdlib.h>
#define EG 0.23
#define AG 0.70
#define TG 0.15
main() {
int posothta;
char eidos;
float poso;
printf("Dwse posothta grammatosimwn: ");
scanf("%d",&posothta);
printf("Dwse to eidos grammatoshmou: ");
scanf("%c",&eidos);
if(eidos=='E' || eidos=='e'){
poso=posothta*EG;
printf("To poso pou plirwnoume einai: %f",poso);
}else if(eidos=='A' || eidos=='a'){
poso=posothta*AG;
printf("To poso pou plirwnoume einai: %f",poso);
}else if(eidos=='T' || eidos=='t'){
poso=posothta*TG;
printf("To poso pou plirwnoume einai: %f",poso);
}else{
printf("Kapou exei gine kapoio la9os");
}
return 0;
}
'scanf ("% d ", & posothta);' оставляет строку новой строки в буфере, которая будет потребляться следующим 'scanf'. Позвольте мне найти обман, это обычная проблема. –
Вы можете всегда использовать getchar() вместо scanf() для чтения одного символа. –