01/10/2018, 15:48

Hỏi về lỗi hiển thị kí tự trong ascii table C++

Hi mọi người, mình dùng dev c++, code đúng, compile không có lỗi nhưng output phải hiện kí tự. Máy output bình thường nhưng đến phần kí tự thì bị hiện bằng . Mọi người biết cách nào fix được lỗi này mình với nhé! Thanks mọi người!
Mình tạo chương trình in kí tự với giá trị của kí tự được nhập vào từ bàn phím.
Code:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	char c = n;
	cout<<"Nhap gia tri cua ki tu trong bang ascii:__"<<endl;
	cin>>n;
	cout<<"Ki tu la:__"<<endl;
	cout<<c;
}

#Và output:

Mình thử với một số giá trị khác output vẫn bị lỗi.

Florastamine viết 17:51 ngày 01/10/2018

Bạn vui lòng kèm thêm code và output khi đặt câu hỏi.

Anh viết 18:00 ngày 01/10/2018

Cảm ơn bạn đã đóng góp.
Mình tạo chương trình in kí tự với giá trị của kí tự được nhập vào từ bàn phím.
Code:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	char c = n;
	cout<<"Nhap gia tri cua ki tu trong bang ascii:__"<<endl;
	cin>>n;
	cout<<"Ki tu la:__"<<endl;
	cout<<c;
}

#Và output:

Mình thử với một số giá trị khác output vẫn bị lỗi.

rogp10 viết 18:02 ngày 01/10/2018
char c = n;
cin >> n;
cout << c;

Bạn chưa gán vào biến c.

Anh viết 17:59 ngày 01/10/2018

Cảm ơn bạn đã đóng góp.
Mình là newbie trong phần character, bạn có thể giải thích rõ giúp mình hơn được không?
Many thanks!

HK boy viết 17:53 ngày 01/10/2018

Mình là newbie trong phần character

Cái này là do bạn không nắm vững code flow thôi, chẳng liên quan gì đến phần character hết.

int n;
char c = n;

n chưa được khởi tạo, cho nên giá trị của n là rác. Gán n vào c, giá trị của c cũng là giá trị rác.

cin >> n;
cout << c;

Đọc giá trị của n, tuy nhiên biến c không được tác động gì -> giá trị của c vẫn là giá trị rác.

Anh viết 18:02 ngày 01/10/2018

Cảm ơn bạn đã đóng góp!
Mình gán n là giá trị của kí tự c trong ascii table. Nhập n để in c. Bạn có ý tưởng fix lỗi hay làm rõ hơn được không, mình thực sự vẫn chưa hiểu được những ý kiến các bạn vừa nêu ra @@@

HK boy viết 18:03 ngày 01/10/2018

Thì sau khi đọc n thì bạn mới gán c = n là được rồi còn gì?

Anh viết 18:01 ngày 01/10/2018

Cảm ơn bạn! Mình đã fix lỗi thế này:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	char c;
	cout<<"Nhap gia tri cua ki tu trong bang ascii:__"<<endl;
	cin>>n;
	c=n;
	cout<<"Ki tu la:__"<<endl;
	cout<<c;
}

Nhưng máy mình vẫn hiện lỗi như nãy à @@@

HK boy viết 17:56 ngày 01/10/2018

Bạn đã compile lại file chưa? Chụp lại màn hình hiển thị kết quả sau khi thay đổi code cho mình.

Code vẫn chạy ngon:

Ideone.com

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

Anh viết 18:03 ngày 01/10/2018

Đã compile & run lại (F11)
Result:

HK boy viết 17:59 ngày 01/10/2018

Bạn compile và run lại file bằng cách ấn F11.

Anh viết 17:54 ngày 01/10/2018

Cảm ơn bạn! Mình run code online thì ổn rồi nhé! Mình còn chưa mạnh code nhưng không có ai giúp đỡ, thấy bạn rất nhiệt tình và thông thạo code, mong được liên lạc!
Email của mình: anhvuhuyen3107@gmail.com

rogp10 viết 17:55 ngày 01/10/2018

Có cảm giác như nó có liên quan đến chuyện c = n; thì phải đọc là gán c bằng n

Anh viết 17:59 ngày 01/10/2018

Cảm ơn bạn, mình fix lỗi được rồi

Bài liên quan
0