【发布时间】:2020-10-22 15:43:13
【问题描述】:
我在 char 类型变量中输入了一个数字。像 12 或 22。但是,控制台显示 1 或 2。 我如何在控制台中获得整数 12 ,22?
#include <iostream>
int main()
{
using namespace std;
char a = 0;
cin >> a;
cout << a << endl;
return 0;
}
这是控制台结果。
12
1
C:\Users\kdwyh\source\repos\MyFirstProject\Debug\MyFirstProject.exe(프로세스 18464개)이(가) 종료되었습니다(코드: 0개).
이 창을 닫으려면 아무 키나 누르세요...
我不使用 int、string 和其他东西的原因是因为我想在一个变量中同时获取数字和字符。 所以我想同时看到组合数字和字符的结果。 在那个过程中,我无法得到一个整数。
#include <iostream>
using namespace std;
int index = 0;
constexpr int pagenum = 10;
void chapterlist(void);
void nextlist(void);
void beforelist(void);
void movechapter(char a);
int main(void)
{
char userin = 0;
bool toggle = 0;
cout << "결과를 볼 챕터를 고르시오." << endl;
chapterlist();
cout << "다음 페이지로 이동: n" << endl;
cin >> userin;
if (userin == 'n')
{
backflash:
while(toggle == 0)
{
nextlist();
cin >> userin;
if (userin == 'b')
{
toggle = 1;
goto backflash;
}
else if (userin == 'n')
continue;
else
{
system("cls");
movechapter(userin);
break;
}
}
while(toggle == 1)
{
beforelist();
cin >> userin;
if (userin == 'n')
{
toggle = 0;
goto backflash;
}
else if (userin == 'b')
continue;
else
{
system("cls");
movechapter(userin);
break;
}
}
}
else
{
system("cls");
movechapter(userin);
}
return 0;
}
void chapterlist(void)
{
int x = 0;
for (x = index + 1; x <= index + 10; x++)
cout << "Chapter." << x << endl;
}
void nextlist(void)
{
system("cls");
cout << "결과를 볼 챕터를 고르시오." << endl;
index = index + pagenum;
chapterlist();
cout << "다음 페이지로 이동: n" << endl;
cout << "이전 페이지로 이동: b" << endl;
}
void beforelist(void)
{
system("cls");
cout << "결과를 볼 챕터를 고르시오." << endl;
index = index - pagenum;
chapterlist();
cout << "다음 페이지로 이동: n" << endl;
cout << "이전 페이지로 이동: b" << endl;
}
void movechapter(char a)
{
cout << "선택한 Chapter." << a << "의 결과입니다." << endl;
}
在 movechapter() 中,控制台显示 a 是 1 还是 2,而不是 12、22。
【问题讨论】:
-
因为
'1'是一个字符,'2'在字符串"12"中也是如此。您读取“字符”,任何转换(例如到int)都会在读取字符后发生。 -
嗯,我必须决定我想问什么。如此复杂,即使我看到了。
-
情况变得更糟了。 ASCII 是基本字符集,但非常有限。于是 UTF-8、unicode 和 UTF-16 出现了。 (多字节字符)。 C 和 C++ 都提供基本输入例程,允许读取各种字符和数字类型,为您处理从 char 到数字类型的转换。宽字符类型需要对输入进行特殊处理(尽管 UTF-8 通常由基本输出例程自动处理)
-
如果你能评论一下那些韩文字母的意思就好了,这样我们可以更好地理解你的代码
-
不确定我是否正确理解您的代码,您希望用户输入
n或b转到下一页或上一页,并输入一个数字转到相应的章节号码?