Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Легкий Вопрос!!!

Ответить
Настройки темы
Легкий Вопрос!!!
ZekOm


Сообщения: n/a

Профиль | Цитировать


Подскажите пожалуйста как можно проверить являится ли числом введенная строка!!!???

cout<<"Vvedite zna4enie per "<<p[i].sumboli<<": ";

/////////////тут надо проверить являится введенное пользователем значение числом!!//////////////////////
////////////если да то выполняется записть, если нет то возврошает назат для ввода!!///////////////////

cin>>p[i].znach;

Отправлено: 13:39, 18-05-2006

 

Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


Есть 2 выхода: первый собственный, второй из библиотеки C.
Я опишу ситуацию, когда строка введена в char* in;
Способ 1:
PHP код: Выделить весь код

...

const 
int err_code=-//значение для возврата
int cnt=0;
bool flag=true;
int forfor=0;
while(
in[cnt]!="\0" && flag){
 for(
forfor=0forfor<10forfor++){
  if(
in[cnt]!==forfor){flag=!flag; break;}
 }
}
...
if(!
flag)return(err_code); 

Способ 2:
PHP код: Выделить весь код

#include <ctype.h>

...
const 
int err_code=-//значение для возврата
bool flag=true;
while(
in[cnt]!="\0" && flag)flag=isdigit(in[cnt]);
...
if(!
flag)return(err_code); 

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 14:42, 18-05-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

ZekOm


Сообщения: n/a

Профиль | Цитировать


Спасибо!за помошь но я чтото не разобрался и решил етоу проблему вот так!!!

do
{
char b[20];
double x;
cout<<"Vvedite zna4enie per : ";
cin>>b;
if(Proverka(b)==true)
{
x=atof(b);
}
else
{
cout<<"Vvedeno ne 4islo!";
}
}while(Proverka(b)!=true)

bool Proverka(char *a)
{
int k=0;
if(a[0]>='0' && a[0]<='9' || a[0]=='.' || a[0]=='-' || a[0]=='+')
{

for(int i=1;i<(int)strlen(a);i++)
{
if(a[i]>='0' && a[i]<='9' || a[i]=='.')
{}
else
{
return false;
}
if(a[i]=='.')
{
k++;
}
}
}
else
{
return false;
}
if(k>1)
{
return false;
}
return true;
}

Отправлено: 15:37, 18-05-2006 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Товарищи, будьте проще!
Код: Выделить весь код
double val = double();
do
{
    std::cin.flags(std::ios::goodbit); // иначе цикл заглючит, когда там встанет std::ios::failbit
    std::cout << "ну типа введите там ";
}
while(!(std::cin >> val));

std::cout << "вы ввели: " << val << endl;

Отправлено: 17:25, 21-05-2006 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Легкий Вопрос!!!

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Вопрос - Легкий фаервол f0xyL Защита компьютерных систем 6 23-10-2008 23:16
Легкий програминг rim_muvies Хочу все знать 6 02-09-2007 02:58
Легкий принт сервер SwordRuss Сетевые технологии 3 28-02-2006 18:13
легкий html-viewer bk99 Программное обеспечение Windows 8 28-12-2004 16:54
Самый легкий язык dimon55 Программирование и базы данных 52 19-08-2004 16:27




 
Переход