Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 11:04   #1
Oleg34
Пользователь
 
Регистрация: 09.09.2011
Сообщений: 48
По умолчанию функцию для проверки типа данных ее аргументов

Здравствуйте знатоки, подскажите, возможность проверки данных. То есть, если по условию вводятся буквы, а введена цифра или другой символ, то выдается предупреждение. На языке РНР это выглядит приблизительно так:


PHP код:
<?php
//Создадим функцию для проверки типа данных ее аргументов. Считаем, что проверка 
//прошла успешно, если первый аргумент функции – целое число, второй – строка.
  
function DataCheck()
  {
    
$check =true;
    
// число аргументов, переданных в функцию
    
$n func_num_args(); /*Функция func_num_args() возвращает число аргументов, переданных в текущую функцию.
    /* проверяем, является ли первый
       переданный аргумент целым числом */
    
if ($n >= 1) if (!is_int(func_get_arg(0))) $check false;
    
/* проверяем, является ли второй
       переданный аргумент строкой */
    
if ($n >= 2) if (!is_string(func_get_arg(1))) $check false;
    return 
$check;
  }
  if (
DataCheck(123"text")) echo "Проверка прошла успешно<br>";
  else echo 
"Данные не удовлетворяют условиям<br>";
  if (
DataCheck(324)) echo "Проверка прошла успешно<br>";
  else echo 
"Данные не удовлетворяют условиям<br>";
?>
Как можно реализовать такое на С++? Я в только в начале изучения языка, поэтому если не трудно, то пишите комментарии в коде.
Заранее Всем спасибо!
Oleg34 вне форума Ответить с цитированием
Старый 15.12.2011, 13:16   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

Oleg34

для проверки отдельных символов можно юзать функции из ctype.h

isdigit, isalpha и т.д

для проверки строк - потоки из sstream

Код:
std::string input;
std::stringstream ss(input);

int i;
if (ss >> i) { в строке сидит число }
Rififi вне форума Ответить с цитированием
Старый 20.12.2011, 17:46   #3
Oleg34
Пользователь
 
Регистрация: 09.09.2011
Сообщений: 48
По умолчанию

Я попробовал получить проверку вводимых цифр. Но вот проблема, ну никак не соображу как организовать проверку букв.
вот код с проверкой цифр:
PHP код:
#include<iostream>
#include<cstring>
#include<ctype.h>
using namespace std;


int GetDigit() //определили ф-ию, для анализа
{  
  
bool r=true;   
  
char c[20]; //задали массив СТРОКА 20-ть символов
  
cout<<"Введите число "
  while (
r)   // основной цикл   
  

   
cin>>c;    // ввод 
   
for(int i=0;c[i]!='\0';i++)    // цикл анализа 
   

    if(
isdigit(c[i]))  // проверка цифра или символ 
    

     
r=false
    } 
    else 
    { 
     
r=true
     
cout<<"Повторите ввод (число давай) "
     break;    
// принудительное завершение цикла анализа 
    

   } 
  } 
int iatoi(c); 
  return 
i;    // возврат числа 
}
int sum(int aint b)    //определение(реализация) функции вместо ее обьявления. 

  return 
b
}
void main() //основная ф-ия

  
setlocale(0,""); 
  
int aa2
  
a=GetDigit();    // ввод первого числа 
  
a2=GetDigit();    // ввод второго числа 
  
cout<<"Сума двух чисел "<< sum(a,a2)<<endl;    // вызов функции 
  
  
system("Pause");

А вот с буквенными символами не получается.
Oleg34 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача в функцию неограниченного количества аргументов pronaks Общие вопросы C/C++ 4 13.12.2011 22:54
Передача аргументов в функцию. C++ Kholmansky Помощь студентам 2 15.09.2011 01:02
Проблема с пепедачей аргументов в функцию (массивы + указатели) sekator Общие вопросы C/C++ 2 09.08.2010 13:03
Изменение типа данных для поля Diamand Microsoft Office Access 6 04.03.2010 23:36
Простейшая задача на функцию со сменным количеством аргументов iFireFly Общие вопросы C/C++ 1 07.01.2010 12:21