01/10/2018, 09:23

Giải bài toán trong C, giúp mình với

chào anh em!
mình được ra 1 đề bài tự tạo 1 Menu máy tính trên cửa sổ console, người dùng ấn lựa chọn phép tính và số cần tính, mới học đến bài điều kiện, đọc lý thuyết thì có vẻ hiểu lắm nhưng khi động bài toán thực tế thì thôi bó tay giờ bị rối. đây là code của mình:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int tong = 0, so1 = 0, so2 = 0;
    printf("===Menu===
");
    printf("1.+
");
    printf("2.-
");
    printf("3.*
");
    printf("4./
");
    printf("lua chon phep tinh cua ban
");
    if(1)
    {
        printf("nhap 2 so cho phep cong cua ban
");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1+so2;
        printf("ket qua = %d
",tong);
    }
    else if(2)
    {
        printf("nhap 2 so cho phep tru cua ban
");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1-so2;
        printf("ket qua = %d
",tong);
    }
    else if(3)
    {
        printf("nhap vao 2 so cho phep nhan cua ban
");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1*so2;
        printf("ket qua = %d",tong);
    }
    else if(3)
    {
        printf("nhap vao 2 so cho phep nhan cua ban
");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1/so2;
        printf("ket qua = %d", tong);
    }
    else
    {
        printf("phep tinh chua cap nhat
");
    }

    return 0;
}

nhưng mà toàn ra phép tính đâu đâu tùm lum không theo lựa chọn gì hết, ai giúp mình với, mình gà mờ nhưng vẫn thích code, ngu đến đâu cũng đừng ai kêu mình từ bỏ code nha.

Hoàng Trung viết 11:37 ngày 01/10/2018

Bạn cho người ta nhập vào, sau đó scan cái người ta nhập vào đó rồi lần lượt so sánh với lựa chọn 1 hoặc hai hoặc 3, chứ bạn không lưu người ta nhập vào cái gì thì làm sao có thể so sánh bằng if được :p.

St Marshy viết 11:39 ngày 01/10/2018
#include <stdio.h>
#include <math.h>
int main()
{
    int tong=0, so1=0, so2=0;
    printf("Nhap 2 so cho phep tinh cong");
    scanf("%d",&so1);
    scanf("%d",&so2);
    tong=so1+so2;
    printf("ket qua %d + %d = %d\n",so1,so2,tong);
    return 0;

}

mình làm đơn giản như này thấy được, tại mình chưa hieur bài lắm, bạn chỉ mình hiểu hơn được không?

St Marshy viết 11:26 ngày 01/10/2018

lưu cái người ta nhập vào là như nào vậy, đang dùng internet công cộng không có tài liệu, chán ghê.

Hoàng Trung viết 11:37 ngày 01/10/2018

Ý của bạn là cho người khác nhập vào sau đó thì kiểm tra, vậy thì mình phải lưu lại cái của người ta nhập vào sau đó kiểm tra với điều kiện của mình, nếu người ta nhập vào đúng với điều kiên nào thì chạy điều kiện đó. Việc lưu dữ liệu người ta nhập vào thì bạn dùng scanf giống như lúc bạn yêu cầu nhập hai số

St Marshy viết 11:27 ngày 01/10/2018

mình thử làm bằng cả switch case rồi nhưng mà nó cứ sao sao á pls TT

St Marshy viết 11:30 ngày 01/10/2018

bạn code mẫu giúp mình được không? 1 xíu thôi, mình ngu nhưng vẫn cố hiểu được :))

Hoàng Trung viết 11:25 ngày 01/10/2018
#include <stdio.h>
#include >stdlib.h>
#include <math.h>
int main()
{
    int tong = 0, so1 = 0, so2 = 0, luachon;
    printf("===Menu===\n");
    printf("1.+\n");
    printf("2.-\n");
    printf("3.*\n");
    printf("4./\n");
    printf("lua chon phep tinh cua ban\n");
    scanf("%d", &luachon);
    if(luachon == 1)
    {
        printf("nhap 2 so cho phep cong cua ban\n");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1+so2;
        printf("ket qua = %d\n",tong);
    }
    else if(luachon == 2)
    {
        printf("nhap 2 so cho phep tru cua ban\n");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1-so2;
        printf("ket qua = %d\n",tong);
    }
    else if(luachon == 3)
    {
        printf("nhap vao 2 so cho phep nhan cua ban\n");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1*so2;
        printf("ket qua = %d",tong);
    }
    else if(luachon == 4)
    {
        printf("nhap vao 2 so cho phep nhan cua ban\n");
        scanf("%d",&so1);
        scanf("%d",&so2);
        tong=so1/so2;
        printf("ket qua = %d", tong);
    }
    else
    {
        printf("phep tinh chua cap nhat\n");
    }

    return 0;
}
Bùi Thế Khải viết 11:35 ngày 01/10/2018

code bạn quá mơ hồ về điều kiện , nếu bạn ghi như vậy nó = vòng lặp vĩnh cữu vì đk luôn đúng, bạn nên (phải) sử dụng một biến để đọc yêu cầu thì hơn -_-

Hoàng Trung viết 11:28 ngày 01/10/2018

Ở đây đâu có vòng lặp đâu :p.

St Marshy viết 11:25 ngày 01/10/2018

oh! == là rối rối đó ^^! nhưng mình cũng hiểu được phần nào vậy nếu mình muốn dùng switch case thì code như nào vậy bạn, cũng như này lun hả?

Hoàng Trung viết 11:31 ngày 01/10/2018

Ừ, bạn cũng cho người ta nhập vào rồi scanf, sau đó lại switch cái biến người ta vừa nhập vào là được, nhớ là break; sau mỗi case nhé

St Marshy viết 11:33 ngày 01/10/2018

yeah! cảm ơn bạn nhiều

Hoàng Trung viết 11:37 ngày 01/10/2018

Hehe, không có gì, chỉ cần cho mình 1 like là được rồi

Bài liên quan
0