Форум программистов, компьютерный форум CyberForum.ru

Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
mustang96
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 16
25.05.2013, 16:37     Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв #1
Голова не соображает, выведите, пожалуйста, строку "Слов, начинающихся на гласные английские буквы, нет"
Задание:
"Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <fstream>
#include <cstring>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"rus");
    char slovo[15]; 
    ifstream in("tr.txt"); 
    cout << "Слова,начинающиеся с гласных английских букв: \n";
    while(!in.eof()){ 
        in >> slovo; 
        if( slovo[0] == 'A'
    || slovo[0] == 'a' 
    || slovo[0] == 'E'
    || slovo[0] == 'e'  
    || slovo[0] == 'Y'
    || slovo[0] == 'y' 
    || slovo[0] == 'U'
    || slovo[0] == 'u' 
    || slovo[0] == 'I'
    || slovo[0] == 'i'
    || slovo[0] == 'O'
    || slovo[0] == 'o') 
    cout << slovo << endl;
    }
 
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 16:37     Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв
Посмотрите здесь:

C++ Программа , которая считает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв
Написать программу,которая считывает текст с клавиатуры и выводит на экран слова начинающиеся с гласных букв C++
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы. C++
Написать программу, которая считывает английский текст и выводит на экран слова, начинающиеся с гласных букв. C++
Списки и файлы. Программа, которая считывает английский текст и выводит на экран слова, начинающиеся с гласных букв C++
C++ Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв
C++ Написать программу, которая считывает английский текст из файла и выводит на экран слова текста
C++ Написать программу, которая считывает текст из файла и выводит на экран количество гласных букв в строке текст

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
25.05.2013, 17:37     Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <fstream>
#include <cstring>
 
using namespace std;
 
bool isVowel(char c)
{
    return c == 'A' || c == 'a' || c == 'E' || c == 'e' ||
           c == 'Y' || c == 'y' || c == 'U' || c == 'u' ||
           c == 'I' || c == 'i' || c == 'O' || c == 'o';
}
 
int main()
{
    setlocale (LC_ALL,"rus");
    ifstream in("tr.txt");
    if (!in.good()) return -1;
    char word[15];
    size_t words_vowel_count = 0;
    cout << "Слова,начинающиеся с гласных английских букв: \n";
    while (in >> word) {
        if ( isVowel(word[0]) ) {
            cout << word << endl;
            ++words_vowel_count;
        }
    }
    if (!words_vowel_count)
        cout << "Слов, начинающихся на гласные английские буквы, нет";
    system ("pause");
    return 0;
}
и не используйте eof(), функция сильно глючная
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
25.05.2013, 20:57     Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв #3
Мой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//============================================================================
// Name        : vowel_in_text.cpp
// Author      : UranFlex
// Version     : 0.1 alpha
// Copyright   : GNU GPL
// Description : 1) Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.
//               2) Гласными считаются A, a, E, e, I, i, O, o, U, u, Y, y.
//               3) Программе при запуске требуется указать имя файла, в котором английский текст
//============================================================================
 
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <cstdlib>
 
using namespace std;
 
// функция открывает указанный файл и связывает с ним свой аргумент типа "ifstream &"
ifstream &OpenFile( ifstream &, const string & );
 
// функция ищет в тексте файла все слова, начинающиеся на гласные буквы и выводит эти слова на экран,
// а если таких слов нет, то функция выводит об этом сообщение.
void PrintVowelWords( ifstream & );
 
// функция исходную строку очищает от знаков препинания
void CleanupStr( string & );
 
int main( int argc, char **argv ) {
 
    // несвязанный поток файла для ввода
    ifstream inFile;
 
    // попробовать открыть файл к тексту которого осуществляется запрос
    if ( argc < 2 || !OpenFile( inFile, argv[ 1 ] ) ) {
        cerr << "Не найден входной файл" << endl;
        return EXIT_FAILURE;
    }
 
    PrintVowelWords( inFile );
 
    return 0;
}
 
ifstream &OpenFile( ifstream &in, const string &file ) {
    in.close(); // закрыть на случай если ранее уже был открыт
    in.clear(); // восстановить состояние после любых ошибок
    // при сбое открытия поток окажется в недоступном состоянии
    in.open( file.c_str() ); //открыть указанный файл
    return in;
}
 
void PrintVowelWords( ifstream &in ) {
 
    const string VowelStr( "AaEeIiOoUuYy" ); // набор, содержащий все гласные буквы
    string bufStr; // очередная строка текста файла
    size_t counter = 0; // переменная счетчик - для подсчета слов, начинающихся с гласных
 
    // осуществить построчную обработку файла
    while ( getline( in, bufStr ) ) { // читаем из файла очередную строку
 
        CleanupStr( bufStr );// и очишаем ее от знаков препинания
        string bufToken; // переменная для хранения очердного слова строки
        // строковый поток для разбиения очередной строки на слова
        istringstream iSStream( bufStr ); // связать поток с очередной строкой
 
        while ( iSStream >> bufToken ) // осуществить обработку по одному слову
            if ( VowelStr.find( bufToken[ 0 ] ) != string::npos ) { // попробовать найти первую букву очередного слова в наборе гласных букв
                // если нашли, значит слово начинается с гласной
                ++counter; // увеличиваем счетчик слов
                cout << counter << ") " << bufToken << endl; // и выводим очередное слово, начинающееся с гласной буквы
            }
    }
 
    // если нет слов, начинающихся с гласных букв, то выводим соответствующее сообщение
    if ( counter == 0 )
        cout << "В файле нет слов, начинающихся с гласных букв!" << endl;
 
}
 
void CleanupStr( string &word ) {
 
    string ret; // строка, в которую мы скопируем все символы исходной строки кроме знаков препинания
 
    for ( string::const_iterator it = word.begin(); it != word.end(); ++it ) { // цикл по всем символам строки
        if ( !ispunct( *it ) ) // если очередной символ не знак пунктуации,
            ret += ( *it ); // то копируем его в новую строку
    }
    // в исходной строке теперь остались только слова, разделенные пробелами ( пробелов между словами м.б. один или несколько )
    word = ret; // без каких-либо знаков препинания
}
1)
Содержимое файла:
Their, possible, carrot!!? +--Lost
))((09Great
88Astra


Вывод программы:
В файле нет слов, начинающихся с гласных букв!

2)
Содержимое файла:
This is English text. Underwater,.-=+ )) ops:-)
Sample text, orange color! And, and space.
Wovel char - apple?


Вывод программы:
1) is
2) English
3) Underwater
4) ops
5) orange
6) And
7) and
8) apple
Yandex
Объявления
25.05.2013, 20:57     Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв
Ответ Создать тему
Опции темы

Текущее время: 07:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru