Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
1

Не компилируется программа

11.06.2015, 19:54. Просмотров 440. Ответов 12
Метки нет (Все метки)

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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
// Students.cpp: определяет точку входа для консольного приложения.
//
#include <stdlib.h> // Для работы со структурой
#include <ctype.h>
#include <iostream> // Для работы с потоками входа - выхода
#include <windows.h> // Для работы с курсором
#include <cstdlib> // Для вызова системной функции очистки экрана
#include <conio.h> // Для применения функции getch()
#include <stdio.h>
#include <fstream> // Для работы с файловыми потоками
#include <algorithm> // Для библиотечной сортировки массива строк
#include <string> // Для работы с объектами типа-класса string
#include <iomanip>
 
const int MAX_SIZE = 100;
 
struct TOVAR{
    char Name[50];
    double rashod;
    double dohod;
};
struct FIRMA{
    char Name[50];
    char type_of_deal[30];
};
struct CH_PRED{
                TOVAR tovar;
                FIRMA firma;
                double prodaji;
                double sebestoimost;
                };
 
CH_PRED massiv[MAX_SIZE];
 
 
using namespace std;
void allout(CH_PRED * massiv,int size); // Функция вывода на экран всех записей (прототип)
void save_exit(CH_PRED * massiv,int size); // Функция выхода из программы, сохраняя данные на диск (прототип)
void add_func(CH_PRED * massiv,int &size);// Функция добавления записи (прототип)
void selectBankrot(CH_PRED * massiv, int size); // Функция выбора фирм у которых прибыль ниже чем расход
void help(); // Функция "О программе и её авторе"
int menu(); // Функция экранного меню (прототип)
 
////////////////////////////////////////////////////////////////////////////////
//////////////////////// ПРЕОБРАЗОВАНИЕ ИЗ СТРОКИ С ПРОБЕЛАМИ В СТРОКУ /////////
//////////////////////// С ПОДЧЕРКИВАНИЯМИ И ОБРАТНО ///////////////////////////
void ReplaceChar(char* str, bool inverse = false){
    char strnew[100];
    OemToCharA(str,strnew);
    for (int i = 0; i<strlen(strnew); i++){
        if (inverse)
        {
            if (strnew[i] == '_')
             strnew[i] = ' ';
        }
        else
            if (strnew[i] == ' ')
             strnew[i] = '_';
 
    }
    CharToOem(strnew,str);
}
 
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
 
int main()
{
    char str[100];
    // Считывание из файла:////////////////////////////////////////////
    ifstream in("zavod.txt"); // Открываем файл для чтения
    int size = 0;
    if (in.is_open())
    {
        while (!in.eof())
        {
            in >> massiv[size].firma.Name;
            ReplaceChar(massiv[size].firma.Name,true);
            in >> massiv[size].firma.type_of_deal;
            ReplaceChar(massiv[size].firma.type_of_deal,true);
            in >> massiv[size].tovar.Name;
            ReplaceChar(massiv[size].tovar.Name,true);
            in >> massiv[size].tovar.dohod;
            in >> massiv[size].tovar.rashod;
            in >> massiv[size].prodaji;
            in >> massiv[size].sebestoimost;
            char c;
            in.get(c); //Удаляем символы переноса строки
            c = in.peek();
            size++;
        }
        in.close(); // Закрываем файл
    }
//////////////////////////////////////////////////////////////////////
    for (; ; ) { // Бесконечный цикл до выбора "выход из программы"
        switch(menu())
        {
            case 1: add_func(massiv, size); break; // добавление записей
            case 2: selectBankrot(massiv, size);  break; // сортировка по алфавиту
            case 3: allout(massiv, size); break; // вывод всех строк
            case 4: help(); break; // о программе и её авторе
            case 0: save_exit(massiv, size); break; // выход из программы в самой функции save_exit()
            default: cout<<"Выбран неверный пункт меню!"<<endl;
        }
    }
    return 0;
}
 
////////////////////////////////////////////////////////////////////////////
/////////////////////// ВЫВОД ВСЕХ СТРОК НА ЭКРАН //////////////////////////
void allout(CH_PRED * massiv, int size)
{
    system("cls");
    char str[100];
 
    for (int i=0; i<size; i++)
    {
            cout << "===============================================================================\n";
            CharToOem("Фирма:",str);
            cout << str <<massiv[i].firma.Name<<endl;
            CharToOem("Тип деятельности:",str);
            cout <<  str<<massiv[i].firma.type_of_deal<<endl;
            CharToOem("Наименование товара:",str);
            cout <<  str<<massiv[i].tovar.Name<<endl;
            CharToOem("Доход с товара:",str);
            cout << str <<massiv[i].tovar.dohod<<endl;
            CharToOem("Расходы на товары:",str);
            cout << str <<massiv[i].tovar.rashod<<endl;
            CharToOem("Продажи:",str);
            cout << str <<massiv[i].prodaji<<endl;
            CharToOem("Себестоимость:",str);
            cout << str <<massiv[i].sebestoimost<<endl;
            cout << "===============================================================================\n";
    }
    CharToOem("Нажмите на любую клавишу для возврата в меню", str);
    cout << str; getch();
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////// ДОБАВЛЕНИЕ ЗАПИСЕЙ //////////////////////////////////
void add_func(CH_PRED * massiv, int  &size)
{
    system("cls"); // Системная очистка экрана (с помощью stdlib.h)
    char str[100];
    int i = size;
    size ++;
    fflush(stdin);
            CharToOem("Введите название фирмы: ", str);
            cout << str;
            cin.getline(massiv[i].firma.Name ,50);
            CharToOem("Введите тип деятельности фирмы: ", str);
            cout << str;
            cin.getline(massiv[i].firma.type_of_deal ,30);
            CharToOem("Введите наименоввание товара: ", str);
            cout << str;
            cin.getline(massiv[i].tovar.Name ,30);
            CharToOem("Введите доходы с товара: ", str);
            cout << str;
            cin >> massiv[i].tovar.dohod;
            CharToOem("Введите расходы на товар: ", str);
            cout << str;
            cin >> massiv[i].tovar.rashod;
            CharToOem("Введите продажи: ", str);
            cout << str;
            cin >> massiv[i].prodaji;
            CharToOem("Введите себестоимость: ", str);
            cout << str;
            cin >> massiv[i].sebestoimost;
            cout << "=====================================\n\n";
            getch();
}
//////////////////////////////////////////////////////////////////////////////
////////////////////////Отбор фирм в которой расходы превышают доходы /////////
void selectBankrot(CH_PRED * massiv, int size){
    CH_PRED selected[100];
    int count = 0;
    for (int i = 0; i<size; i++){
        if (massiv[i].tovar.dohod<massiv[i].tovar.rashod)
            selected[count++] = massiv[i];
    }
    allout(selected,count);
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////// ВЫХОД ИЗ ПРОГРАММЫ, СОХРАНЯЯ ДАННЫЕ НА ДИСК /////////
void save_exit(CH_PRED * massiv, int size)
{
    ofstream out("zavod.txt");
 
    for(int i=0; i<size; i++)
    {
        ReplaceChar(massiv[i].firma.Name);
        ReplaceChar(massiv[i].firma.type_of_deal);
        ReplaceChar(massiv[i].tovar.Name);
        out << massiv[i].firma.Name << "\t" << massiv[i].firma.type_of_deal << "\t" << massiv[i].tovar.Name << "\t" << massiv[i].tovar.dohod << "\t" << massiv[i].tovar.rashod<< "\t" << massiv[i].prodaji << "\t" << massiv[i].sebestoimost<<endl;
    }
    out.close();
    system("cls");
    exit(0);
}
/////////////////////////////////////////////////////////////////////////////
//////////////////////// ЭКРАННОЕ МЕНЮ //////////////////////////////////////
int menu()
{
    int choice;
    system("cls");
    char str[100];
    CharToOem("Частное предприятие\n", str);
    cout << str;
    CharToOem("Выберите необходимое действие:\n", str);
    cout << str;
    cout << "==============================\n";
    CharToOem("1. Добавление записи\n", str);
    cout << str;
    CharToOem("2. Определить фирму в которой расходы превышают чистую прибыль\n", str);
    cout << str;
    CharToOem("3. Просмотр всех записей\n", str);
    cout << str;
    CharToOem("4. О программе и её авторе\n", str);
    cout << str;
    CharToOem("0. Выход из программы с сохранением данных\n\n", str);
    cout << str;
    cout << "> ";
    cin >> choice;
    cout << endl;
    return choice;
}
//////////////////// О ПРОГРАММЕ И ЕЁ АВТОРЕ //////////////////////////////////////////
void help()
{
    system("cls"); // Системная очистка экрана (с помощью stdlib.h)
    char str[100];
    CharToOem("Программа представляет собой средство для учета данных о фирмах,\n", str);
    cout << str;
    CharToOem("которые вводятся в виде обычных строк.\n", str);
    cout << str;
    CharToOem("Все данные сохраняются в файле chastnoe_predpriatie.txt, который создаётся\n", str);
    cout << str;
    CharToOem("в той же папке, где пользователь разместил файл predpriatie.exe.\n", str);
    cout << str;
    CharToOem("Файл chastnoe_predpriatie.txt можно изменять в программе NOTEPAD (БЛОКНОТ),\n", str);
    cout << str;
    CharToOem("Автор программы-Богдан Минин\n\n", str);
    cout << str;
    CharToOem(" Для возврата в меню нажмите любую клавишу", str);
    cout << str; getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2015, 19:54
Ответы с готовыми решениями:

Программа компилируется в Borland 6.0 но не компилируется в Visual Studio 2008
Ета програма компилируетса в борланде 6.0 но не компилируетса в Visualstudio 2008 и в борланде 10-м...

Первая программа. Код не компилируется и не запускается программа.
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming:...

Не компилируется программа
------ Построение начато: проект: Rapid Roll, Конфигурация: Debug Win32 ------ Компиляция......

Не компилируется программа
Здравствуйте. Цель - откомпилировать программу и запустить на WinXP. Проблема в том, что с...

12
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
11.06.2015, 19:55 2
Если не компилируется, то пишет почему. Ошибки какие пишет?
1
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
11.06.2015, 20:07  [ТС] 3
ничего не пишет. просто запускаешь просит компилировать и так по кругу
0
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
11.06.2015, 20:17 4
Цитата Сообщение от ctivTayler Посмотреть сообщение
просто запускаешь
Не нужно запускать пока не скомпилировал. Среда какая?

Добавлено через 2 минуты
Этот код, при компиляции, ошибок не выдаёт.
1
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
11.06.2015, 20:17  [ТС] 5
проверьте у себя пжлст если есть возможность
0
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
11.06.2015, 20:18 6
Цитата Сообщение от lss Посмотреть сообщение
Среда какая?
???
1
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
11.06.2015, 20:20  [ТС] 7
С++. делал в Сode::Blocks 13.12
0
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
11.06.2015, 20:22 8
Цитата Сообщение от ctivTayler Посмотреть сообщение
делал в Сode::Blocks 13.12
В Code Blocks компилируется без ошибок.
1
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
11.06.2015, 20:23  [ТС] 9
А запускается?
0
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
11.06.2015, 20:26 10
Да.
1
Миниатюры
Не компилируется программа  
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
11.06.2015, 20:31  [ТС] 11
можете скинуть как нибудь файл ? debug.exe
0
lss
934 / 862 / 356
Регистрация: 10.10.2012
Сообщений: 2,706
11.06.2015, 20:37 12
...
1
Вложения
Тип файла: rar debug.rar (209.7 Кб, 3 просмотров)
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 7
11.06.2015, 20:44  [ТС] 13
Большое спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2015, 20:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не компилируется программа
Здорова! Не компилируется программа: #include &lt;iostream&gt; using std::cout; using std::endl; ...

Не компилируется программа
#include &quot;StdAfx.h&quot; #include &quot;Line.h&quot; Line::Line(Point* start, Point* end) { this-&gt;Start =...

Программа не компилируется
Установил Borland С+++ 5,5 в папку C:\BCC, в папке bin как положено создал bcc32.cfg и link32.cfg...

Не компилируется программа
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;stdlib.h&gt; using namespace std; int main() ...


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

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

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