У меня возникли проблемы с реализацией функции, которая подсчитывает и отображает количество гласных в файле.
Вот код, который у меня есть до сих пор.
#include <iostream>
#include <fstream>
#include <string>
#include <cassert>
#include <cstdio>
using namespace std;
int main(void)
{int i;
string inputFileName;
string s;
ifstream fileIn;
char ch;
cout<<"Enter name of file of characters :";
cin>>inputFileName;
fileIn.open(inputFileName.data());
assert(fileIn.is_open() );
i=0;
while (!(fileIn.eof()))
{
????????????
}
cout<<s;
cout<<"The number of vowels in the string is "<<s.?()<<endl;
return 0;
}
Обратите внимание на вопросительные знаки в коде. Вопросы: Как я должен считать гласные? Должен ли я преобразовывать текст в нижний регистр и вызывать системные элементы управления (если возможно)? Кроме того, что касается вывода количества гласных в конце, какую строковую переменную следует использовать (см. s.?)?
Спасибо
while (!(fileIn.eof()))
. Если вы планируете прочитать файл и просто предполагаете, что чтение прошло успешно и что содержимое соответствует вашим ожиданиям, вам следует переосмыслить это решение. Если вы не планируете этого делать, тоeof
будет неправильным условием, если только вы не собираетесь игнорировать каждый неверный ввод. - person chris   schedule 13.03.2015