Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 10418
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3929
∙ повысить рейтинг »
CradleA
Статус: Бакалавр
Рейтинг: 2500
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1736
Дата выхода:27.04.2012, 14:30
Администратор рассылки:Киселёва Алёна aka Verena (Академик)
Подписчиков / экспертов:144 / 96
Вопросов / ответов:2 / 2

Консультация # 185886: Здравствуйте! Прошу помощи в следующем вопросе: Программа на С. Ввести с клавиатуры строчки до тех пор пока введенная строка не будет соответствовать команде выхода(указать в коде). Способ ввода свободный. Каждую введеную строку вводить в файл в виде: 1) 2) 3) ......


Консультация # 185887: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Программу на С. С клавиатуры вводим строку. Проверить может ли являтся строка именем текстового файла (наличие в строке .txt) . В именах не может быть скобок. Если может являться то обнаружить и распечатать. Если нет, то сообщить об ошибке. С комментариями. ...

Консультация # 185886:

Здравствуйте! Прошу помощи в следующем вопросе:
Программа на С.
Ввести с клавиатуры строчки до тех пор пока введенная строка не будет соответствовать команде выхода(указать в коде). Способ ввода свободный. Каждую введеную строку вводить в файл в виде:
1)
2)
3)
...

Дата отправки: 23.04.2012, 17:21
Вопрос задал: Посетитель - 393219 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Александр Чекменёв {vanger} (Профессор):

Здравствуйте, Посетитель - 393219!

C++:

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

int	main()
{
	const std::string stop_string = "stop";
	std::string curr_string;

	std::ofstream file;
	file.open( "log.txt", std::ios::out );
	if( file.fail() )
		return -1;

	std::cin >> curr_string;
	for( int i = 1; curr_string != stop_string; ++i )
	{
		file << i << ")" << curr_string << "\n";
		std::cin >> curr_string;
	}

	//system("pause");

	return 0;
}


C:

Код :
#include <stdio.h>
#include <string.h>

int	main()
{
	const int BUF_SIZE = 64;

	const char* stop_string = "stop";
	char curr_string[BUF_SIZE];

	FILE* file;
	file = fopen( "log.txt", "w" );
	if( 0 == file )
		return -1;

	scanf( "%s", curr_string );
	for( int i = 1; 0 != strcmp(curr_string, stop_string); ++i )
	{
		fprintf( file, "%i)%s\n", i, curr_string );

		scanf( "%s", curr_string );
	}

	fclose( file );

	//system("pause");

	return 0;
}

Консультировал: Александр Чекменёв {vanger} (Профессор)
Дата отправки: 23.04.2012, 17:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 185887:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Программу на С.
С клавиатуры вводим строку. Проверить может ли являтся строка именем текстового файла (наличие в строке .txt) . В именах не может быть скобок. Если может являться то обнаружить и распечатать. Если нет, то сообщить об ошибке.
С комментариями.

Дата отправки: 23.04.2012, 17:38
Вопрос задал: Посетитель - 393219 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Александр Чекменёв {vanger} (Профессор):

Здравствуйте, Посетитель - 393219!

Код :
#include <stdio.h>
#include <string.h>

// для setlocale
#include <locale.h>

int	main()
{
	const int BUF_SIZE = 64;

	char str[BUF_SIZE];

	FILE* file;

	//setlocale( LC_ALL, "Russian" );	// чтобы нормально выводилась кириллица. может и без этой строчки работать

	printf( "Введите имя файла: " );
	scanf( "%s", str );

	if( 0 == strstr( str, ".txt" ) ||	// если не содержит .txt
		0 != strstr( str, "(" ) ||		// или содержит (
		0 != strstr( str, ")" ) )		// или )
	{									// то считаем, что такое имя файла недопустимо
		printf( "Введённая строка не является допустимым именем файла\n" );
		return 0;
	}

	file = fopen( str, "r" );
	if( 0 == file )
	{
		printf( "Не получилось открыть файл %s\n", str );
		return -1;
	}

	while( 0 != fgets( str, BUF_SIZE, file ) )
	{
		printf( "%s", str );
	}

	fclose( file );

	return 0;
}

Консультировал: Александр Чекменёв {vanger} (Профессор)
Дата отправки: 23.04.2012, 18:04
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное