Mình mới học c, cần giúp đỡ

Khai báo thì cứ “int a,b,c;” thôi bạn ơi. Đóng ngoặc mở ngoặc v đâu có đc

Cho bạn tham khảo nè:
Link 1: http://www.mediafire.com/download/c0t375k6pbh06at/Release.rar (file.rar)
Link 2: http://www.mediafire.com/download/uy752npu3a4yebi/Super_Calculator.exe (file.exe)
(nếu file.exe không run được thì chạy file.rar)

Download file.exe trên về và dùng thử nhé, có thể cộng, trừ, nhân, chia 2 số nguyên cực đại và tính giai thừa với thừa số cực lớn (tối đa 1000).

Bạn có thể lấy code này tham khảo và phát triển thêm. Dòng 16 trong hình 2 bạn gõ sai tên biến, cách khai báo biến của bạn cũng ngộ nữa.
Tui ý kiến 1 chút về cách code là bạn code hơi xấu, nhớ dùng tab và có chú thích cho nhiều màu mè vào để dễ đọc và sau này có coi lại cũng dễ hiểu, khi muốn hỏi người khác thì người ta cũng biết chỗ đó bạn muốn làm gì với nó.

#include <stdio.h>
#include <stdlib.h>
// Include cái thư viện này thì cái markdown nó với có màu giống C -_-

int main() {
    int cmd, n1, n2;
    while(1) {
        printf("===================== Menu =====================\n");
        printf("1. Add        2. Sub        3. Mul        4. Div\n");
        printf("Choose one: ");
        scanf("%d", &cmd);
        
        // Người dùng nhập sai, yêu cầu nhập lại
        if(cmd < 1 || cmd > 4) {
            printf("Error: Invalid command number, try again.\n");
            continue;
        }
        
        printf("Enter value for n1: "); scanf("%d", &n1);        
        printf("Enter value for n2: "); scanf("%d", &n2);
        switch(cmd) {
            case 1:
                printf("Add: %d + %d = %d\n", n1, n2, n1 + n2);
                break;
                
            case 2:
                printf("Sub: %d - %d = %d\n", n1, n2, n1 - n2);
                break;
            
            case 3:
                printf("Mul: %d * %d = %d\n", n1, n2, n1 * n2);
                break;
            
            default:
                printf("Div: %d / %d = %f\n", n1, n2, (float) n1 / n2);
                break;
        }
        
        break;
    }
    return 0;
}


cảm ơn các bạn mình học theo tài liệu down về từ mạng

cho hỏi cái markdown với cmd là gì vậy,con dấu || ở đâu trên bàn phím vậy, các bạn send mình những tài liệu phù hợp cho người mới được mình cảm ơn, mình tự nhập có lệnh continue bị báo lỗi

Về markdown thì bạn đọc ở đây. cmd chỉ là tên biến thôi :slight_smile: Dấu || là khi ấn shift + \ (= `` | ) 2 lần (bạn cũng gõ được con dấu đó mà -_- ) . Mình test trên máy xong copy code qua mà, máy mình chạy bình thường (đừng nhập chữ là ok).
Tài liệu thì mình chỉ tự giao bài tập cho bản thân rồi tìm đáp án trên các trang youtube, daynhauhoc, stackoverflow, superuser, stackexchange, … :wink: mình đã chán đọc các tài liệu kia rồi, 10 cũng như 1.

của bạn vẫn chạy nhưng khi tui tự đánh lại vướn phải continue báo lỗi
C:\Users\PC\Desktop\123123123\main.c|6|error: continue statement not within a loop|

@@ bạn thử kiểm tra cái ngoặc nhọn {} có đầy đủ không? Vẫn báo lỗi thì bạn thay continue; bằng exit(1); luôn cũng được :))

1 Like

cảm ơn bạn, mình thiếu dấu

mình bị vướng phải dấu enter thừa trong lúc nhập từ bàn phím xóa nó thảo nào vậy các bạn.

mình nhập lên nó hay in ra số ở d khi nhập số lớn nhất ở c, các bạn chỉ mình khắc phục với, nhập 2 chữ số thì in hết ra màn hình trù số ở d.

ai biết chỉ mình với

Bạn xem kỹ lại di :kissing_heart:, cái này là do bạn giải thuật chưa đúng đó ;).

cảm ơn bạn mình sai lỗi cơ bản, lại mặc dù không biết giải thuật là gì

#include <iostream>

using namespace std;

int main()
{
    int a, b, c, d;
    int max;

    cout << "Nhap so a: ";
    cin >> a;

    max = a;

    cout << "Nhap so b: ";
    cin >> b;

    if (b > max)
    {
        max = b;
    }

    cout << "Nhap so c: ";
    cin >> c;

    if (c > max)
    {
        max = c;
    }

    cout << "Nhap so d: ";
    cin >> d;

    if (d > max)
    {
        max = d;
    }

    cout << "Max: " << max << endl;

    system("pause");
}

Bạn thử xem sao nhé! :kissing_heart:


Giải thuật (hay còn gọi là thuật toán - tiếng Anh là Algorithms) là một tập hợp hữu hạn các chỉ thị để được thực thi theo một thứ tự nào đó để thu được kết quả mong muốn.

các bạn giúp mình bài này với

: Nhập vào ba số a, b, c (là các số thực không âm). Kiểm tra xem đó có phải là ba cạnh của một tam giác hay không. Nếu có thì tam giác đó thuộc loại tam giác gì? (Thường, cân, vuông, vuông cân, hay đều).

Bài toán này áp dụng kiến thức cấp 2 về hình học.
Trên diễn đàn không có vụ giải dùm bài toán, mà từ mình viết code ra rồi chạy xem bị sai chỗ nào thì đưa lên đây hỏi.

2 Likes

nó báo lỗi gì vậy mọi người

Thứ nhất: Bạn học cách post code và dùng markdown.
Thứ hai: Chụp màn hình thì IDE của bạn nên hiện số dòng. 100 lines mà nó lỗi ở line thứ 44 thì chả lẽ người gỡ rối cho bạn phải ngồi đếm số dòng à? Bạn cũng nên xuống dòng hợp lý ở cái “tam giác vuông cân” vì không thấy được code đằng sau, làm sao người khác thấy được phía đó có lỗi hay không chứ?
Thứ ba: Không phải lỗi nào bạn cũng nên đem lên diễn đàn. Lỗi trong hình rất cơ bản:

  • unsigned không đi với double, xét tam giác thì chỉ dùng kiểu int hoặc float là được.
  • Bạn xem lại toán tử so sánh ==, bạn gặp lỗi do dùng a*a + b*b = c*c (đây không phải so sánh).

Tự làm việc với lỗi giúp bạn nhanh thành thục code hơn đó. Sau khi bạn kiểm tra không có lỗi cú pháp mà còn gặp lỗi khi build hoặc khi chạy thì hãy đăng lên xem sao.

1 Like

floating point thì không có unsigned nhé.
Mà thread bá đạo thật :v đã cám ơn góp ý của bạn kia, mà vẫn không thay đổi hay tiếp thu gì cả :joy:

1 Like

ặc chỉnh lại nó báo unsigned float hay int điều báo lỗi,lỗi thiếu wdjoy 3.0 gì đó cua visual kiem o dau vay

đây là lỗi gì vậy

NHẮC LẠI kiểu số thực không để unsigned @@~
Nói thì giống như spam nhau, nhưng mà hình như thread post bài xong không thèm đọc commend ==’

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?