รบกวนช่วยดูให้หน่อยครับว่าผมพิมพ์ตรงไหนผิด

ผมจะเขียนโปรแกรมเครื่องคิดเลขด้วยภาษาซีโดยใช้คำสั่ง if else โดยให้พิมพ์เลขตัวแรก enter พิมพ์เครื่องหมาย+-*/ enter พิมพ์เลขตัวที่2 enter จากนั้นก็แสดงผลเป็น เลขตัวแรก เครื่องหมาย+-*/ เลขตัวที่2 = ผลลัพธ์ โดยผมเขียน source code แบบนี้ครับ

#include<stdio.h>
#include<conio.h>
int main()
{
    float x,y,z;
    char a;
    printf("ENTER X : ");
    scanf("%f",&x);
    printf("ENTER OPERATOR : ");
    scanf("%c",&a);
    printf("ENTER Y : ");
    scanf("%f",&y);
    if (a==43) z=x+y;
    else if (a==45) z=x-y;
    else if (a==42) z=x*y;
    else if (a==47) z=x/y;
    printf("%.2f %c %.2f = %.2f", x, a, y, z);
    getch();
}

https://goo.gl/BwaBIp

ตอนคอมไพล์ก็ผ่านนะครับ แต่พอรันปุ๊ปพอใส่เลขตัวแรกแล้วกด enter เท่านั้นแหละมันก็มาทั้ง ENTER OPERATOR : แล้วก็ ENTER Y : พร้อมกันเลยครับ แบบนี้
เพิ่งรันโปรแกรม https://goo.gl/K24I50
พิมพ์เลขตัวแรกแล้วกด enter https://goo.gl/tWqgGl
ลองพิมพ์เลขตัวต่อไปแล้วกด enter https://goo.gl/LmMeL9
ช่วยแนะนำหน่อยครับว่าควรจะแก้ตรงไหนดี
อันนี้เป็นไฟล์ .cpp นะครับ https://goo.gl/e3WQsU
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
แก้
scanf("%c",&a);
เป็น
scanf(" %c",&a);
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่