Code chạy không đúng khi dùng kiểu char và string

#include <iostream>
#include <math.h>
using namespace std;

int main ()
{
    cout<< "             CHAO BAN DA DEN VOI CHUONG TRINH CAU CHUNG TOI    \n "<< endl<<endl;
    char a ;
    cin >> a ;

    if (a ==  " start " )
        {
        cout<< "chuong trinh bat dau";
    }
    else
    {
        cout<< "chuong trinh ket thuc tam biet ban ";
    }

}

Anh có thể nêu xem kiểu char để lưu những dữ liệu như thế nào dựa trên những kiến thức anh đã được học không nhỉ :grin:

3 Likes

kiểu char là kiểu kí tự . vậy ấy b.

Kiểu kí tự thì nhận vào những giá trị như thế nào anh có thể ví dụ được không nè. :no_mouth:

1 Like

nó nhận sâu kí tự . Mà bạn cứ như thầy giáo ấy.

Cái này thì sai rồi nè. Một biến kiểu kí tự chỉ có thể nhận 1 kí tự ví dụ như b, a, c… Còn abcde là 1 xâu kí tự . Lệnh cin >> a sẽ nhânj vào 1 kí tự.
Do đó a chỉ là 1 kí tự. Việc so sánh 1 kí tự với 1 xâu kí tự có gì không ổn thì phải :thinking:.

3 Likes

Mình làm vậy nó báo lỗi nên . Nhanh tay chuyển thành string
nhưng nó lại ra kq sai . mn thử chạy xem.

đã là 1 KÍ TỰ (single) mà còn nhận 1 xâu KÍ TỰ (sequence)
hả? bạn có vững kiến thức về kiểu dữ liệu không?

KQ mong đợi? KQ thực tế?

3 Likes

Hmmmm
“A” với " A " có khác nhau cái gì không ta :thinking:. Nếu anh nhận ra gì rồi thì nói cho mọi người biết nhé :grin:

3 Likes

thực ra mk chỉ học mót trên mạng thôi
Mà mình nghĩ a là một biến theo kiểu string thì nó nhớ cả sâu chứ . Với lại bạn nói cũng hơi khó
hiểu

ông bạn nhiệt tình nhất hệ mặt trời

2 Likes

char nhận ký tự mà ?, mà lỗi đơn giản này thì lúc chạy nó báo ra sai kiểu dữ liệu rồi cần gì lên đây hỏi trời.

2 Likes

đúng với string
KHÔNG đúng với char

3 Likes

thì mk dùng string rồi mà

dùng string chạy ra sai kết quả thì xem lại thuật toán đúng yêu cầu hay chưa là được

1 Like

cin >> string là nó bỏ từ khoảng cách trở đi nhé

ví dụ như bạn có đoạn này

string str; cin >> str;

thì khi bạn nhập “Pham Tien Dat” thì nó chỉ nhận mỗi chữ “Pham” thôi

3 Likes


mk muốn hỏi là khi nhập start thì nó phải chại lệnh trong if chứ sao nó lại chạy trong else

“start” có bằng " start " không?

5 Likes

không để ý . cám ơn nhiều nhá ông bạn

1 Like

Bạn luôn dùng dấu cách với cách kí tự không cần cách, trong văn viết của bạn.
Dấu chấm kết thúc câu không có dấu cách phía trước. <==
Có lẽ do quên vậy nên các dấu câu khác bạn đều đặt dấu cách trước và sau nên "A" thành " A ".
Nếu trong trình bày văn bản thì khó nhìn lắm.

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