Загрузка...

Script to validate user input

Thread in C/C++ created by SaintStellar Jan 29, 2022. 233 views

  1. SaintStellar
    SaintStellar Topic starter Jan 29, 2022 0 Nov 17, 2021
    У кого есть скрипт что проверяет пользовательский ввод и отсеевает все что не есть цифрами, даже виражения что состоят из цифр и букв, после чего просит ввести значение повторно?
     
  2. throwyourfears
    throwyourfears Jan 29, 2022 Banned 386 Apr 8, 2021
    SaintStellar, Тебе нужно чтобы пользователь ввёл исключительно число?
     
    1. View previous comments (1)
    2. throwyourfears
      SaintStellar,
      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;
      }

      Вывод:
      Code
      Test
      Wrap
      150
      int: 150
    3. SaintStellar Topic starter
      throwyourfears, спасибо, но есть несколько вопросов:
      1. Зачем объявлять это #define _CRT_SECURE_NO_WARNINGS
      2. Что означает параметр %d в sscanf
    4. Replacer
      SaintStellar,
      Макрос отключает предупреждения о использовании небезопасных функций из CRT (C Run Time)
      Флаг для вывода целого числа, если грубо. Вот так и кресты учите, хуле
  3. LVV
    ничего не понятно, нужно чтобы из строки убирались все кроме цифр?
     
  4. unnamed001
    unnamed001 Feb 1, 2022 5996 Sep 2, 2020
    Скрипты на си не пишут
     
    1. View previous comments (3)
    2. unnamed001
    3. RendeR_inactive4180717
      unnamed001, не скриптовый но писать можно

      #!/bin/bash msg_file=/dev/null #msg_file=/dev/stdout tmp_path=$HOME"/.cache/c++/" mkdir -p $tmp_path tmp_file=$1".c++" exe_file=$1".bin" if test $1 -nt $tmp_path$exe_file; then echo "Need to recompile.." > $msg_file tail -n +2 $1 > $tmp_path$tmp_file eval "g++ -o $tmp_path$exe_file $tmp_path$tmp_file > /dev/null 2>&1" if [ $? -eq 0 ] then echo "Compiled ok" > $msg_file else echo "Compile error" > $msg_file exit 255 fi fi eval "$tmp_path$exe_file $@1"
Top
Loading...