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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 16:21   #1
F1nt
Пользователь
 
Регистрация: 11.09.2011
Сообщений: 41
Смущение Задача с файлами

Дан текстовый файл, его содержимое вывел на экран. Вот как сделать чтобы рядом с каждой строкой выводило сообщение, является ли она правильной записью шестнадцатеричного числа или нет. В define сам описал свою директиву, т.к. не нашел нужную функцию.
Вот данный код:
Код:
#include <fstream.h>
#include <conio.h>
#define isdigit(ch) ((ch)>='0' && (ch)<='9' && (ch)>='a' && (ch)<='f')
void main()
{
 clrscr();
 char ch,s[80];
 ifstream f("txt.txt");
 while (1)
      {
       f.get(ch);
       if (f.eof()) break;
       if (isdigit(ch));
       cout<<ch;
      }
 f.close();
 getch();
}
F1nt вне форума Ответить с цитированием
Старый 20.05.2012, 17:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

предположу что так:
Код:
 while (f.getline(s))
      {
       cout<<s;
       bool b=true; 
       for(int i=0;s[i] && b;i++) if(!isdigit(s[i]) b=false;
       if(!b) cout<<"не хекс"; else cout<<"HEX"; cout<<'\n';
      }
Не проверял...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2012, 18:09   #3
F1nt
Пользователь
 
Регистрация: 11.09.2011
Сообщений: 41
По умолчанию

Пока что не получается. Много ошибок. Мб додумаю.
F1nt вне форума Ответить с цитированием
Старый 20.05.2012, 18:18   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Удачи. Если что пиши сюда )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2012, 19:23   #5
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Код:
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>

int main() 
{
	std::string fileName;
	std::cout << "Enter file name: ";
	std::getline(std::cin, fileName, '\n');
	std::ifstream input(fileName);
	std::string buf;
	if (input.is_open())
	{
		while (std::getline(input, buf, '\n'))
		{
			int num;
			std::stringstream stream(buf);
			if (stream >> std::hex >> num && stream.eof())
				std::cout << "Yes: ";
			else
				std::cout << "No: ";
			std::cout << buf << std::endl;
		}
		input.close();
	}
	else
	{
		std::cout << "File not found\n";
		system("pause");
		return 1;
	}
	system("pause");
	return 0;
}
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Си с файлами Alexxl2009 Помощь студентам 7 03.01.2010 20:52
Задача с файлами old slon Помощь студентам 1 26.10.2009 12:53
Задача с файлами. bygoga Паскаль, Turbo Pascal, PascalABC.NET 9 05.12.2008 21:45
Задача с файлами Наташа Общие вопросы C/C++ 4 05.01.2007 20:23