У кого есть скрипт что проверяет пользовательский ввод и отсеевает все что не есть цифрами, даже виражения что состоят из цифр и букв, после чего просит ввести значение повторно?
SaintStellar, #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; int main(int argc, char* argv[]) { int i; char* value = new char[1024]; for (;;) { cin >> value; if (sscanf(value, "%d", &i) == 1) { delete[] value; break; } } cout << "int: " << i << endl; return 0; } C #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; int main(int argc, char* argv[]) { int i; char* value = new char[1024]; for (;;) { cin >> value; if (sscanf(value, "%d", &i) == 1) { delete[] value; break; } } cout << "int: " << i << endl; return 0; } Вывод: Test Wrap 150 int: 150 Код Test Wrap 150 int: 150
throwyourfears, спасибо, но есть несколько вопросов: 1. Зачем объявлять это #define _CRT_SECURE_NO_WARNINGS 2. Что означает параметр %d в sscanf
SaintStellar, Макрос отключает предупреждения о использовании небезопасных функций из CRT (C Run Time) Флаг для вывода целого числа, если грубо. Вот так и кресты учите, хуле