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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 13:53   #1
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
Печаль с++ командная строка, Вывести все нечисловые аргументы, но выводит все аргументы чего-то,

В командной строке задается произвольное к-во аргументов. Вывести все нечисловые аргументы.
мой код

Код:
#include < iostream >
#include <ctype.h>
#include <conio.h>
#include< math.h >
using namespace std;



 void main(int argc, char* argv[ ])
 {
 int i;

 for(i=0; i< argc; i++)
 {

// if(*argv[i] != 0) { if (isdigit(*argv[i]) ) cout <<"";
 if(*argv[i] != 0) { if ((int(*argv[i]))>80 && (int(*argv[i]))<90 ) cout <<"";
 else cout << argv[ i ]<< endl;
 }}
 getch();

  }

Последний раз редактировалось Stilet; 03.03.2013 в 14:36.
nati_94 вне форума Ответить с цитированием
Старый 03.03.2013, 13:57   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

что такое 80 и 90?
Rififi вне форума Ответить с цитированием
Старый 03.03.2013, 14:12   #3
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
По умолчанию

числа 0-9 в кодировке ANSI
nati_94 вне форума Ответить с цитированием
Старый 03.03.2013, 14:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
числа 0-9 в кодировке ANSI
Мог бы написать понятнее:
Код:
((int(*argv[i]))>'0' && (int(*argv[i]))<'9' )
Си бы это поняло правильно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2013, 15:06   #5
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
По умолчанию

так тоже не работает правильно(
nati_94 вне форума Ответить с цитированием
Старый 03.03.2013, 15:29   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Работает неправильно у тебя не от этого.
Ты каждый аргумент превращай в число с помошью функций конвертации типа atoi() и если это невозможно значит этот элемент не печатать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2013, 17:26   #7
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
По умолчанию

ошибка вообще не в этом была, вот мой код
Код:
#include < iostream >
#include <ctype.h>
#include <conio.h>
#include< math.h >
#include< stdio.h >
using namespace std;



 void main(int argc, char* argv[ ])
 {

 char *ss;
 for(int i=1; i< argc; i++)
 {
	 ss = argv[i];

	 for (int j = 0; j < strlen(ss); j++){
		
		 if (((ss[j]))>='0' && ((ss[j]))<='9' ) cout << "";
		 else cout << ss[j];
	 }
	cout <<" ";
		  
	 
 }
 getch();

  }

Последний раз редактировалось Stilet; 03.03.2013 в 19:19.
nati_94 вне форума Ответить с цитированием
Старый 03.03.2013, 17:49   #8
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

nati_94

числа 0-9 в кодировке ANSI

чтобы это работало, тебе нужно сообщить в международную организацию ISO чтобы они исправили кодировку, а то они до сих пор уверены что код символа '0' равен 48 ):
Rififi вне форума Ответить с цитированием
Старый 03.03.2013, 19:23   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 void main(int argc, char* argv[ ])
 {

 char *ss;
 for(int i=1; i< argc; i++)
 {
	 ss = argv[i];
         bool b=true;
	 for (int j = 0;b && j < strlen(ss); j++){
		 b=(((ss[j]))>='0' && ((ss[j]))<='9' )
	 }
        if(b) printf("%s",ss);
	cout <<" ";
 }
 getch();
}
Так лучше?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++как вывести указатель структуры на экран????? а то все время что-нибудь подчеркивает или просто ничего не выводит(((( nati_94 Помощь студентам 2 20.02.2013 00:14
Аргументы функции main dronchik2010 Помощь студентам 1 23.01.2012 18:44
Аргументы командной строки Sadist989 Общие вопросы C/C++ 9 22.06.2011 12:53
аргументы командной строки ololo-schoolboy Общие вопросы C/C++ 2 19.05.2011 22:50
аргументы функции Levhik Общие вопросы C/C++ 3 04.05.2009 17:17