мне нужно, чтобы иметь возможность хранить номер в полукокса с помощью переменной, а затем в состоянии обнаружить, если это число или символ для печати, будет пытаться объяснить с ниже пример кода:C++ номер магазина в полукокса с помощью INT переменной
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<char> vChar;
int testInt = 67;
char testChar = 'x';
char printChar;
vChar.push_back(testInt);
vChar.push_back(testChar);
while (!vChar.empty()) {
printChar = vChar.back();
vChar.pop_back();
cout << printChar << endl;
}
return 0;
}
Выше кода выводит «x C», что неверно, поскольку «cout» печатает «printChar» как char не как int, а 67 - C в ASCII.
Я мог бы наложить «int» поверх «printChar», но это сделает вывод «120 67», который по-прежнему неверен. Я также пытался использовать условия, чтобы определить, какой из них является номером, который является символом.
while (!vChar.empty()) {
printChar = vChar.back();
vChar.pop_back();
if (isdigit(printChar)) {
cout << int(printChar) << endl;
}
else {
cout << printChar << endl;
}
}
но «isdigit()» никогда не срабатывает, и результат такой же, как и без «ИНТ» гипсе ...
Как правильно печатать строку вывода/для обоих чисел и символов с помощью «полукокса " тип?
PS. Я делаю это для своего школьного проекта для вычисления матриц, и использование char для символических матриц принудительно, поэтому я должен как-то уметь хранить как символ, так и целое число, используя char, дифференцируя их друг от друга.
Сохранить данные в виде строк вместо 'char'? – NathanOliver
Что делать, если вы хотите сохранить число, например 256 или 1000? Или академик, который установил ограничения, связанные с реальным миром, уже покрывает то, что вы здесь не упомянули? – WhozCraig
@WhozCraig, если быть честным с тобой, я понятия не имею, почему они ограничивают нас таким образом ... Я борюсь за эту проблему в течение нескольких часов без ясного представления, как ее решить –