Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Moonlit
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 36
#1

Проверьте, пожалуйста, код (выдает ошибку "Не удается найти указанный файл") - C++

10.10.2016, 07:55. Просмотров 286. Ответов 10

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
///////////////////////////////////////////////////////////////////////////////
//В текстовом файле специальные термины выделены
//кавычками. Переписать файл так, чтобы термины выделялись
//прописными буквами.
///////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <cctype>
#include <fstream>
#include <iostream>
#include <string>
typedef std::string         T_str;
typedef T_str::size_type    T_pos;
///////////////////////////////////////////////////////////////////////////////
enum    T_symb_state
{
    OTHER_SYMB,
    QUOTE_SYMB,
    SPACE_SYMB
};
///////////////////////////////////////////////////////////////////////////////
enum    T_term_state
{
    NO_TERM,
    START_TERM,
    IN_TERM,
    FINISH_TERM
};
///////////////////////////////////////////////////////////////////////////////
T_symb_state    get_symb_state(char    symb)
{
    T_symb_state    res{ OTHER_SYMB };
 
    if (
        symb == '"'
        )
    {
        res = QUOTE_SYMB;
    }
    else if (
        std::isspace(symb)
        )
    {
        res = SPACE_SYMB;
    }
 
    return  res;
}
///////////////////////////////////////////////////////////////////////////////
T_term_state    get_term_state
(
    T_symb_state    symb_state,
    T_term_state    term_state
)
{
    T_term_state    res{ NO_TERM };
 
    switch (symb_state)
    {
    case    QUOTE_SYMB:
        res = term_state == IN_TERM
            ? FINISH_TERM
            : START_TERM;
        break;
 
    case    OTHER_SYMB:
        if (
            term_state == START_TERM
            || term_state == IN_TERM
            )
        {
            res = IN_TERM;
        }
 
    default:
        ;
    }//switch
 
    return  res;
}
///////////////////////////////////////////////////////////////////////////////
void    process_terms(T_str    &   str)
{
    T_term_state    term_state{ NO_TERM };
    T_pos           left_quote_ind{};
 
    for (T_pos i{}; i < str.size(); ++i)
    {
        auto
            symb_state = get_symb_state(str[i]);
 
        term_state = get_term_state
        (
            symb_state,
            term_state
        );
 
        switch (term_state)
        {
        case    START_TERM:
            left_quote_ind = i;
            break;
 
        case    FINISH_TERM:
            for (
                T_pos
                j = left_quote_ind + 1;
                j   <   i;
                ++j
                )
            {
                str[j] = std::toupper(str[j]);
            }
            break;
 
        default:
            ;
        }//switch
    }//for
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    std::ifstream   ifile("f.txt");
 
    if (!ifile)
    {
        std::cout << "bad file" << std::endl;
 
        exit(1);
    }//if
 
    std::ofstream   ofile("ff.txt");
 
    T_str       cur_str;
 
    while (
        getline(ifile, cur_str)
        )
    {
        process_terms(cur_str);
        ofile << cur_str << '\n';
    }
    ofile << std::endl;
 
    std::cout << "finish" << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2016, 07:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверьте, пожалуйста, код (выдает ошибку "Не удается найти указанный файл") (C++):

Не удается запустить программу в VS2010: "Не удается найти указанный файл" - C++
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Неужели это титанический труд...

Выдает ошибку "Не удается открыть файл include: iostream.h" - C++
fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory #include &lt;iostream.h&gt; class base { ...

Ошибка при компиляции: "Не удается найти указанный файл" - C++
Всех С Новым Годом!!! При компиляции в VS 12 у меня выдает ошибку. Пробовал в VS 10 аналогично. Код #include &lt;iostream&gt; ...

Программа не выполняется: "Не удается найти указанный файл" - C++
Добрый день, у меня такая вот проблема, начинаю изучать С++ и, как полагается начал с примитивной программы &quot;Hello world&quot;, но при...

Visual studio 2015: "Не удается найти указанный файл" после компиляции - C++
что делать ?

Ошибка "Не удается найти указанный файл" - C++
Здравствуйте,помогите разобраться пожалуйста,я запускаю программу , но выдается ошибка :&quot;не удается найти указанный файл &quot; , заголовочный...

10
nd2
2384 / 1973 / 691
Регистрация: 29.01.2016
Сообщений: 6,421
10.10.2016, 08:28 #2
Кто и когда выдаёт ошибку? При компиляции есть ошибки?
0
Moonlit
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 36
10.10.2016, 08:32  [ТС] #3
Цитата Сообщение от nd2 Посмотреть сообщение
Кто и когда выдаёт ошибку? При компиляции есть ошибки?
выдавал ошибку при компиляции. Но сейчас комплируется, но пишет только bad file и не перезаписывает
0
nd2
2384 / 1973 / 691
Регистрация: 29.01.2016
Сообщений: 6,421
10.10.2016, 08:33 #4
Цитата Сообщение от Moonlit Посмотреть сообщение
но пишет только bad file
Файл f.txt должен быть в папке проекта (там, где файл с main() находится).
0
Moonlit
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 36
10.10.2016, 08:43  [ТС] #5
Цитата Сообщение от nd2 Посмотреть сообщение
Файл f.txt должен быть в папке проекта (там, где файл с main() находится).
спасибо, переложила. Но теперь выходит вот такая ошибка при попытке скомпилировать
0
Миниатюры
Проверьте, пожалуйста, код (выдает ошибку "Не удается найти указанный файл")  
gru74ik
10.10.2016, 08:44
  #6

Не по теме:

Зато сразу понятно, кто автор кода

0
Moonlit
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 36
10.10.2016, 08:47  [ТС] #7
Цитата Сообщение от gru74ik Посмотреть сообщение
Не по теме:
Зато сразу понятно, кто автор кода
и можно ли узнать кто?)
0
nd2
2384 / 1973 / 691
Регистрация: 29.01.2016
Сообщений: 6,421
10.10.2016, 08:49 #8
Цитата Сообщение от Moonlit Посмотреть сообщение
str[j] = std::toupper(str[j]);
Там, где используешь функции cctype, приводи параметр к unsigned char, иначе, при кириллице и знаковом char, будет эта ошибка.
0
Moonlit
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 36
10.10.2016, 08:52  [ТС] #9
Цитата Сообщение от nd2 Посмотреть сообщение
Там, где используешь функции cctype, приводи параметр к unsigned char, иначе, при кириллице и знаковом char будет эта ошибка.
извините, если честно, я не очень поняла...
0
nd2
2384 / 1973 / 691
Регистрация: 29.01.2016
Сообщений: 6,421
10.10.2016, 08:54 #10
Цитата Сообщение от Moonlit Посмотреть сообщение
при попытке скомпилировать
Это при запуске происходит, а не при компиляции. Сначала скомпилируй, потом, если нет ошибок, запускай.

Добавлено через 1 минуту
Цитата Сообщение от Moonlit Посмотреть сообщение
я не очень поняла...
Вот так пиши:
C++
1
str[j] = std::toupper((unsigned char)str[j]);
C++
1
std::isspace((unsigned char)symb)
и т.д.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,990
Записей в блоге: 22
10.10.2016, 09:27 #11
Цитата Сообщение от Moonlit Посмотреть сообщение
и можно ли узнать кто?)
Известно кто. Сравните Ваш код с кодом вот в этой теме, например. Больше так на нашем форуме никто код не форматирует.

Цитата Сообщение от Moonlit Посмотреть сообщение
извините, если честно, я не очень поняла...
В гугле что ли забанили? Заголовочный файл cctype содержит объявление функций toupper(), isspace() и т.п.

Цитата Сообщение от nd2 Посмотреть сообщение
приводи параметр к unsigned char
Moonlit, читайте про приведение типов, оно же typecasting (type conversions).
0
10.10.2016, 09:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2016, 09:27
Привет! Вот еще темы с ответами:

Ошибка "системе не удается найти указанный путь" - C++
// 133333.cpp: вывод предложения // #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int _tmain(int argc,...

IlLoadImage возвращает ошибку, что указанный файл не найден. "IL_COULD_NOT_OPEN_FILE" - C++
Здравствуйте, в общем есть функция ilLoadImage(const wchar_t *FileName) из библиотеки DevIL (OpenIL). Функция эта принимает путь к...

Компилятор выдает ошибку: error C2041: недопустимая цифра "8" для основания "8" - C++
Собственно код: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main(){ long double gramm; long double...

Выдает ошибку c:\proect\8\8\8.cpp(60): error C2040: ==: "char [20]" отличается по уровням косвенного обращения от "int" - C++
Программа должна выводить фамилии всех нападающих с датой рождения из основного состава #include&quot;stdafx.h&quot; #include&quot;iostream&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru