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

Выделить вещественные константы другим цветом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удаление файлов http://www.cyberforum.ru/cpp-beginners/thread560256.html
Вот условие задачи: Написать программу удаления файлов. Имена файлов задаются в командной строке. Заранее благодарен тому кто поможет.
C++ Добавление в середину списка. У меня двунапраленный, кольцевой список с головным элментом. Ниже представлен код добавления элементов в середину этого списка. Этот код не очень понравился преподавателю из-за его длины и сложности. Он сказал, что этот код можно упростить настолько, что самого добавление в середину будем занимать около 5-10 строк. Сделайте, пожалуйста, такое добавление.#include "stdafx.h" #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread560248.html
Задача на вставку элемента после первого отриц. эл. C++
Вставить число k, которое вводится с клавиатуры после первого отрицательного элемента одномероного массива.Учесть ситуацию если массив не имеет отрицательных элементов или имеет только один отрицательный элемент. я сделал только она не правильно работает #include<iostream.h> #include<stdlib.h> #define n 10 main() {randomize(); int a,p,i,k,x; cout<<"enter massiv"<<endl; for (i=0;i<n;i++)
Разбивка на лексемы и состовление из лексем строк C++
Мне уже пользователи форума уже помогли. Ну есть еще маленькая проблема. Стоит задача считать текстовый файл с учетом пробелов между словами. Потом записать этот фрагмент в файл который состоит из 7 строк и содержит в каждой строке по 40 символов. Вот к примеру исходный файл: Си (англ. C) — стандартизированный процедурный язык программирования. Си был создан для использования в операционной...
C++ Visual Studio - ошибка в функции scanf http://www.cyberforum.ru/cpp-beginners/thread560203.html
Задумал решить задачку.Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить, сколько у...
C++ Перевести символ верхнего регистра в нижний и наоборот Подскажите, что не так: нужно введенную строку преобразовать так: символы верхнего регистра в символы нижнего регистра, и наоборот, а цифры(десятичные знаки) не печатать, строка читается до символа @. #include "stdafx.h" #include <iostream> #include <cctype> using namespace std; int main() { setlocale(LC_ALL, "Russian"); подробнее

Показать сообщение отдельно
iTD
 Аватар для iTD
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 29
27.04.2012, 16:43     Выделить вещественные константы другим цветом
Доброго времени суток !

В лр задание: выделить все вещественные константы другим цветом. (их 2 типа const float & const double)
Не могу придумать сам алгоритм, который можно было бы запрограммировать

Вот фрагмент кода где я прохожу по символьному файлу и нахожу имена всех вещ. констант (записываю их в многомерный массив). Далее я пытался сравнивать все слова из файла с записанными именами констант и красить это слово если оно равно записанной константе.

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
FILE *f;
    char string[N];
    char w[N];
    char word[N]; // необработанное имя вещественной константы 
    char words[M][N]; // многомерный массив обработанных имен вещественных констант
    int k=0;
    char *wordPtr;
    char *tc = "const";
    char *tf = "float"; 
    char *td = "double";
    
    if((f = fopen("L10.txt", "r")) == NULL)
    {
        puts("ERROR");
        getch();
    }
    else
    {
        while(!feof(f))
        {
            fgets(string, N, f);
            wordPtr = strtok (string, " ");
            while (wordPtr != NULL)
            {   
                if (strcmp(wordPtr, tc) == NULL) // начинаем искать вещественные константы (const float\double)
                {
                        wordPtr = strtok (NULL, " "); 
                        if (strcmp(wordPtr, tf) == NULL)
                        {
                            wordPtr = strtok (NULL, " "); 
                            strcpy (word, wordPtr);
                            for (int i=0; i<strlen(word); i++) // обрабатываем слово word
                            {
                                if (word[i] == '=')
                                    word[i] = '\0';
                            }
                            for (int i=0; i<strlen(word); i++) // запись обработанного слова word в многомерный массив words
                                words[k][i] = word[i];
                            k++;
                        }
                        if (strcmp(wordPtr, td) == NULL)
                        {
                            wordPtr = strtok (NULL, " "); 
                            strcpy (word, wordPtr);
                            for (int i=0; i<strlen(word); i++) // обрабатываем слово word
                            {
                                if (word[i] == '=')
                                    word[i] = '\0';
                            }
                            for (int i=0; i<strlen(word); i++) // запись обработанного слова word в многомерный массив words
                                words[k][i] = word[i];
                            k++;    
                        }
                }
                if (wordPtr != NULL)
                wordPtr = strtok (NULL, " ");
            }
        }
    }
Далее тяжело запрограммировать что бы в тексте подсвечивал константы (например имя константы "pi":
pi=3.14 \ ...pi)\ (pi.... \ pi=pi+x; и тд.

Ребят, подскажите пожалуйста, как можно облегчить работу ? Уже всю голову сломал. Сейчас думаю, чтобы посимвольно идти по файлу и там как нибудь реализовать

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