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

Считывание с файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Тройки пифогора http://www.cyberforum.ru/cpp-beginners/thread897129.html
(Тройки Пифагора) Прямоугольный треугольник может иметь все стороны, выраженные целыми числами. Множество троек целых значений сторон прямоугольного треугольника называется тройками Пифагора. Эти три стороны должны удовлетворять соотношению, по которому сумма квадратов двух сторон (катетов) равна квадрату третьей стороны (гипотенузы). Найдите все тройки Пифагора, в которых и катеты, и...
C++ Структурированные типы данных. Массивы (найти суммы S отрицательных элементов каждого столбца) В двумерном массиве найти суммы S отрицательных элементов каждого столбца. http://www.cyberforum.ru/cpp-beginners/thread897123.html
C++ Вычесления суммы элементов одномерного массива (типа флот)
Здравствуйте, ув. Киберформофцы)) Помогите написать программу, суть которой: Нужно вычеслить сумму элементов одномерного массива (типа флот). P.S. Количество элементов можно задать с клавиатуры
C++ Проверить программу на соответствие числа открывающихся и закрывающихся круглых и фигурных скобок
Дан текстовый файл, содержащий программу на языке С++. Проверить эту программу на соответствие числа открывающихся и закрывающихся круглых и фигурных скобок.
C++ Задача. Указать номер покупателя, для обслуживания которого продавцу потребовалось самое малое время http://www.cyberforum.ru/cpp-beginners/thread897111.html
У прилавка выстроилась очередь из N покупателей. Время обслуживания продавцом каждого покупателя в минутах занесено в вещественный массив T. Получить массив С, содержащий время пребывания каждого покупателя в очереди. Указать номер покупателя, для обслуживания которого продавцу потребовалось самое малое время.
C++ Изменить код Здравствуйте. Помогите, пожалуйста, по этому коду создать класс #include <iostream> #include <vector> #include <string> #include <algorithm> #include <numeric> #include <functional> using namespace std; подробнее

Показать сообщение отдельно
gulllak
44 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 66
10.06.2013, 10:41     Считывание с файла
Задание 1: Считать с файла и найти количество слов из 4 и менее букв. (test.txt по умолчанию в папке с программой)
Вопрос: Почему он считывает с файла, выводит на экран текст, а во втором цикле while не считает количество слов. А если удалю первый цикл то нормально считает количество слов. Как быть?

Задание 2: Оформить программу в виде функций законченные последовательности действий. Все данные должны передаваться им в качестве параметров. Глобальные переменные запрещены.

Вот что я написал, помогите исправить ошибки:

Задание 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
33
34
35
36
37
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    setlocale(0,"rus");
 
    char s=0;
    ifstream f("test.txt");
    if (!f)
    {
        cout<<"Документ отсутствует!"<<endl<<endl;
        system ("pause");
    }
 
    cout<<"Текст в файле:"<<endl;
    while(!f.eof())
    {
        s=f.get();
        cout<<s;
    }
 
    string t;
    int kol=0;
    while(!f.eof())
    { 
        f>>t;
        if(t.length()<=4) 
        kol++;
    }
    cout<<endl<<"Количество слов из 4 и менее букв: "<<kol<<endl<<endl;
 
    system("pause");
    return 0;
}
Задание 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
void out()
{
    char s=0;
    ifstream f("test.txt");
    if (!f)
    {
        cout<<"Документ отсутствует!"<<endl<<endl;
        system ("pause");
    }
    cout<<"Текст в файле:"<<endl;
    while(!f.eof())
    {
        s=f.get();
        cout<<s;
    }
    cout<<endl;
}
 
void kolvo()
{
    ifstream f("test.txt");
    if (!f)
    {
        cout<<"Документ отсутствует!"<<endl<<endl;
        system ("pause");
    }
    string t;
    int kol=0;
    while(!f.eof())
    { 
        f>>t;
        if(t.length()<=4) 
        kol++;
    }
    cout<<endl<<"Количество слов из 4 и менее букв: "<<kol<<endl<<endl;
}
 
int main()
{
    setlocale(0,"rus");
 
    out();
    kolvo();
 
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru