Консультация № 174965
07.12.2009, 02:31
0.00 руб.
0 1 1
Написать программу выполняющую следующие действия:
1) Считывание текста из файла
2) Выводит на экран только строки содержащие двузначные числа.
Оформить в виде функции пользователя. Все необходимые данные передавать функциям в качестве параметров.

___________________________________________
Программы должна быть написана на C++ и работать на Microsoft Visual C++ 6.0
Прошу написать как можно более доступным языком и закоментировать каждую строчку по максимуму. (ну почти каждую)
Еще ОЧЕНЬ ОЧЕНЬ нужна БлокСхема (пожалуйста хотя бы ручкой на бумаге набросайте как она должна выглядеть) (ну или кистью в пэйнте)
Плииз очень нужно.

Обсуждение

Неизвестный
07.12.2009, 11:31
общий
это ответ
Здравствуйте, Иванов Евгений Витальевич.
Программа. C++. MS VS 2008.
Код:
#include <iostream>
#include <sstream>
#include <string>
#include <cstring>

using namespace std;

// true если слово соответствует условию(двузначное число)
bool isValidWord(const wstring& str)
{
// Длина слова равна двум
if(str.length()==2)
{
// Пытаемся конвертировать в число
int num=_wtoi(str.c_str());
return !errno && num>9 && num<100;
}
else
{
return false;
}
}

// true если строка содержит только правильные(согласно условия) слова
bool isValidString(const wstring& str)
{
bool res=false;
// Поток
wstringstream wstr(str);
wstring word;
// Читаем каждое слово из потока
while(wstr>>word && (res=isValidWord(word)));
return res;
}

int main()
{
wstring str;
// Читаем по строкам
getline(wcin,str);
while(wcin)
{
// Если строка соответствует условию
if(isValidString(str))
{
// Выведем ее
wcout<<str<<endl;
}
getline(wcin,str);
}
}

Программа читает данные из stdin и выводит на stdout. Запускать надо используя перенаправление ввода "'имя программы'.exe < 'имя текстового файла'"
Пример работы:
Код:
E:\...\Debug>174965.exe < e:\test.txt
12 23 45
11

Блок-схемы
Форма ответа