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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2012, 18:19   #1
Skull_psyhothik
Пользователь
 
Регистрация: 07.09.2012
Сообщений: 18
Вопрос C++.Корректность ввода строки!

Доброго времени суток!
Нужно сделать так, чтобы можно было ввести строку только из букв!
вот мой нерабочий( вариант:
...
void input()
{
int i=0,j=0,prov=0;
char chis[]={'1','2','3','4','5','6','7','8',' 9','0'};
char a[20];
while(prov==0)
{
printf("Avtor (max size 20 symbols) - ");
gets(a);

for(i=0;i<=strlen(a);i++)
{

for(j=0;j<=9;j++)
{
if (a[i]==chis[j]);
{

prov=1;

}

}

}

if (prov==1){printf("Input error: only symbols for this field\n");}
}
...
}

Что не так а?
Skull_psyhothik вне форума Ответить с цитированием
Старый 01.10.2012, 18:38   #2
ultimatet41
Форумчанин
 
Аватар для ultimatet41
 
Регистрация: 08.04.2012
Сообщений: 104
По умолчанию

А если так
Код:
#include <iostream>
#include <string>
using namespace std;

int main()
{
	string str = "0123456789";
	char symbol;

	while (cin >> symbol){
		for (int i=0; i < str.size(); i++){
			if (symbol == str[i]){
				cout << "Error";
				return 0;
			}
		}
	}
}
ultimatet41 вне форума Ответить с цитированием
Старый 01.10.2012, 19:40   #3
Skull_psyhothik
Пользователь
 
Регистрация: 07.09.2012
Сообщений: 18
По умолчанию

Всё) сам допёр) из-за одной точки с запятой такой геморой(((
void input()
{
int i=0,j=0,prov=0,k=0,q,w;
char chis[]={'1','2','3','4','5','6','7','8',' 9','0'};
char symbols[]={'q','w','e','r','t','y','u','i',' o','p','a','s','d','f','g','h','j', 'k','l','z','x','c','v','b','n','m' ,'Q','W','E','R','T','Y','U','I','O ','P','A','S','D','F','G','H','J',' K','K','L','Z','X','C','V','B','N', 'M','-'};
while((prov==0)&&(k==0))
{
printf("Avtor - ");
gets(a);
for(i=0;i<=strlen(a);i++)
{

for(j=0;j<=9;j++)
{
if (a[i]==chis[j])
{

prov=1;

}

}

}

if(prov==0)
{
k=1;
}
else
{
printf("Input error: only symbols for this field\n");
prov=0;
}
if(strlen(a)>20)
{
printf("Input error: max size 20 symbols\n");
k=0;
}
}
...
{

Последний раз редактировалось Skull_psyhothik; 01.10.2012 в 21:33.
Skull_psyhothik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Корректность ввода на СИ glebast Помощь студентам 4 14.09.2012 22:42
Функция для ввода строки в Python 2.7 или 3.2 Ibanez Wizard PHP 1 09.11.2011 22:35
Форма для ввода строки Ksy JavaScript, Ajax 2 16.05.2011 10:01
защита строки после ввода данных Akmal-Sharipov Microsoft Office Excel 5 09.12.2010 08:40
Диалог ввода строки. Alex Cones Общие вопросы Delphi 2 03.12.2009 18:17