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

Строки и символы - C++

Восстановить пароль Регистрация
 
Paramore
0 / 0 / 0
Регистрация: 04.10.2014
Сообщений: 7
22.11.2014, 17:21     Строки и символы #1
С помощью текстового редактора создать файл, содержащий текст, длина которого
не превышает 1000 символов (длина строки текста не должна превышать
70 символов).
Имя файла должно иметь расширение DAT.
Написать программу, которая:
• выводит текст на экран дисплея;
• по нажатию произвольной клавиши поочередно выделяет каждое слово текста,
начинающееся на гласную букву;
• определяет количество слов в тексте, начинающихся на гласную букву.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream> // Библиотека для работы с файлом (ввод/вывод)
#include <sstream>
#include <list>
#include <iterator>
#include <string>
 
using namespace std;
 
int main(){
    setlocale(LC_ALL, "Russian"); // корректное отображение Кириллицы
    string buf, tmp;
    list<string> words;
    ifstream fin("C://Text.1/TextFile.txt"); // открыли файл для чтения
    if ( !fin.is_open() ){  // если файл не открыт
        cerr << "Ошибка файла!" << endl; // сообщить об этом
        return 1; // в случае успешного открытия файла
    }
не могу сделать так, чтобы программа находила слова начинающиеся с гласной буквы. помогите пожалуйста. толком не разбираюсь. только начала учить c++.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4305 / 3726 / 1255
Регистрация: 14.04.2014
Сообщений: 14,591
22.11.2014, 18:08     Строки и символы #2
В C++ локаль устанавливается так
C++
1
2
#include <locale>
locale::global(locale(""));
Если слова разделены пробелами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int count = 0;
while (!fin.eof())
{
  fin >> tmp;
  if (tmp.size() > 0)
    switch(tmp[0])
    {
    case 'а':
    casе 'и':
        ++count;
    }
}
Для остальных гласных case добавь.
Paramore
0 / 0 / 0
Регистрация: 04.10.2014
Сообщений: 7
22.11.2014, 18:18  [ТС]     Строки и символы #3
Спасибо огромное
R0man
Заблокирован
22.11.2014, 18:19     Строки и символы #4
Подскажите, а почему локаль именно так? Нам в универе говорили setlocale(LC_ALL, "Rus"), ну или SetConsoleCP(1251);
SetConsoleOutputCP(1251);
nmcf
4305 / 3726 / 1255
Регистрация: 14.04.2014
Сообщений: 14,591
22.11.2014, 19:58     Строки и символы #5
setlocal() - это по-древнему, в стиле языка C. А вторая и третья функции - это специфика Windows.
Yandex
Объявления
22.11.2014, 19:58     Строки и символы
Ответ Создать тему
Опции темы

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