Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа.
Код программы:
//--------------------------------------------------------------------------- #include<iostream.h> #include<fstream.h> #include<ctype.h> #include<windows.h> #include<conio.h> #include<vcl.h> #pragma hdrstop #pragma argsused //--------------------------------------------------------------------------- char *rus(const char *text); //функция для распознавания русских символов int main() { const int len=81; //объявление переменных char line[len]; //для работы int count=0,i,temp=0; //с словами ifstream fin("text.txt"); //открываем файл для чтения if(!fin) //если файла нет { cout<<rus("Файла text не существует!"); //выводим сообщение getch(); return 1; } while(fin.getline(line,len)) //считывание строк { temp=0; int l_line=strlen(line); if(isdigit(line[0])&&isdigit(line[1])&&(ispunct(line[2])||isspace(line[2]))) { //если число вначале строки count++; cout<<line<<endl; //выводим строку temp=1; } l_line++; for(i=0;i<l_line;i++) //если число в середине или конце текста { if(ispunct(line[i])||isspace(line[i])) if(isdigit(line[i+1])) if(isdigit(line[i+2])) if(ispunct(line[i+3])||isspace(line[i+3])||(line[i+3]=='\0')) { count++; //увеличиваем счетчик if(temp==0) cout<<line<<endl; //выводим строку temp=1; } } } fin.close(); cout<<rus("\nКоличество двузначных чисел: ")<<count<<endl; getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text, bufrus); return bufrus; } //---------------------------------------------------------------------------
Создаем текстовый файл в папке с проектом с именем text.txt и заполняем его необходимым содержанием.
Результат работы программы: