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

Посимвольное считывание из файла и проверка на наличие (+ показать количество операторов) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объясните программу сложения строк с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread1765671.html
// Программа на СИ ))) #include <stdio.h> int main() { char string1; char string2; scanf("%s%s",string1,string2);
C++ Ошибка использования неиницилизированных переменных const int D_petrol = 100; double D, petrol, petrol_D; double Cost_petrol_1,Cost_petrol_2,Cost_petrol_3; double Price1, Price2, Price3; cout << "Distance is " << D; cin >> D; cout << "Petroleum used per 100 km- " << petrol; cin >> petrol; cout << "Costs of different petroleums " << Cost_petrol_1 << Cost_petrol_2 << Cost_petrol_3; cin >> Cost_petrol_1 >> Cost_petrol_2 >>... http://www.cyberforum.ru/cpp-beginners/thread1765651.html
C++ Программа не использует цикл for
Объясните пожалуйста почему программа просто пропускает цикл и что нужно сделать для того чтобы она его использовала.Она просто выдает http://prntscr.com/bhv9cw #include "stdafx.h" #include <iostream> #include <cstdlib> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int num;
C++ Впечатления от прочтения стандарта
Сколько у вас уходило времени на прочтение стандарта? Тяжело ли он читается? Если человек до этого читал всякие вводные книги по С++, типа Праты, Лафоре, Липпмана и прочих, то после прочтения стандарта насколько много вопросов пропадает? И, что лучше: читать много книг по плюсам или прочесть стандарт?
C++ Удаление и добавление элементов динамической структуры данных http://www.cyberforum.ru/cpp-beginners/thread1765595.html
Структура "Абитуриент": - фамилия, имя, отчество; - год рождения; - оценки вступительных экзаменов (3); - средний балл аттестата. 1. Удалите элемент c указанным номером. 2. Добавьте элемент после элемента с указанной фамилией. Объявление структуры:
C++ Какой способ работы с файлами лучше? Мне известно по крайней мере три способа: 1 TStringList::LoadFromFile 2 std::ofstream 3 FILE *fp = fopen Чем отличаются эти способы? Какой из них самый быстрый и почему? Какой способ использовать если требуется пробежаться один раз по всем символам файла? подробнее

Показать сообщение отдельно
sebis
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 8
18.06.2016, 14:07     Посимвольное считывание из файла и проверка на наличие (+ показать количество операторов)
Условия задачи:
Из файла необходимо считывать посимвольно (нельзя прочитать сразу весь файл или по строкам). Так же нельзя дублировать все содержимое файла в оперативную память.
Задача:
Дан текстовый файл, в котором находится синтаксический правильный текст программы на с++. необходимо сосчитать количество if операторов а так же сколько операторов цикла (for, while) есть в данном тексте. Следует считать что текст программы не будет содержать комментариев и что символы не будут отображаться в текстовых литералах.
И вот до чего пока дошла моя логика:

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
#include <iostream>
#include <fstream>
using namespace std;
 
int main(int argc, const char * argv[])
{
    fstream file;
    char b='\n', d='\n', f, c;
    int count_if=0, count_cik=0;
    file.open ("prog.txt", ios::in);
    file.get(f);
    while(file)
    {
        if(b=='if') count_if++;
        cout<<f;
        b=f;
        file.get(f);
    };
    file.get(c);
    while(file)
    {
        if(d=='for' or d=='while') count_cik++;
        cout<<c;
        d=c;
        file.get(c);
    };
    
    file.close();
    cout<< endl << count_if << endl << count_cik << endl;
    
    return 0;
    
}
данный код для поиска в тексте допустим ( * , / , +, -, =) должен работать вроде. однако для (if, for ,while) появляется проблема.

не подскажите, где я свернул не туда? или если есть решения подобных задач, буду благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru