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

Ошибка expected constructor, destructor, or type conversion before ';' token - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ работа с файлами на Code::Blocks С++ http://www.cyberforum.ru/cpp-beginners/thread646783.html
Добрый вечер, Уважаемые Форумчани. Помогите мне пожалуйста в поисках информации по работе с файлами С++ на Code::Blocks В частности меня очень интересует как можно переписать код: Программа...
C++ Оператор new Приветствую. Есть такой вопрос. Почему одни программисты используют оператор new, а другие нет? Ведь если создавать объект этими способами class test { /* code */ } void test_function(){ ... http://www.cyberforum.ru/cpp-beginners/thread646782.html
#include <iostream> Очень Подробно =) C++
Помогите пожалуйста, добрые люди :cry: Вот такая вот проблема .... искал инфу повсюду, но к сожалению она минимальна. Что такое <iostream>? В Википедии написано, что это файл, который содержит классы...
C++ Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next).
Добрый вечер. Попрошу помочь с следующим кодом : #include <cstdlib> #include <iostream> #include <list> using namespace std; struct { int inf;
C++ Работа с классом и объектом Вектор http://www.cyberforum.ru/cpp-beginners/thread646776.html
Являюсь студентом,и по долгу учебы приступил к обучению премудростям "оСей с двумя плюсами". И обломался. получил задание на создание массива - вектора и определенную его обработку ...
C++ Новые прибабахи в 2012 Вот получаю такую фиговину в новой студии 2012 1>c:\users\ramyb\documents\visual studio 2012\projects\detla\detla\detla.cpp(15): error C4996: 'strcpy': This function or variable may be unsafe.... подробнее

Показать сообщение отдельно
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2012, 06:07
В 54 строке объявляете указатель, а на что он указывает? Под это память не выделена. В 67 в эту невыделенную память пытаетесь поместить значение. Ошибка. В 28 строке та же история. Есть указатель naimenovanie, но память под то, на что он указывает не выделена. В эту память будет попытка копирования. Ошибка. 89 строка: delete [] a; Тогда a должен быть указателем на динамический массив. В коде этого нет.

Вариант кода
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
#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>
#include <Windows.h>
 
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
 
 
class prisList 
{
      string naimenovanie;
      string tipTovara;
      float cena;
      size_t min;
 
  public:
       prisList(string &m, string &j, float k, size_t c);
       void get(string &m, string &j, float &k, size_t &c);
       void show ();
};
       
prisList::prisList(string &m, string &j, float k, size_t c) 
{
     naimenovanie = m;
     tipTovara = j;
     cena = k;
     min = c;
}
 
void prisList::get(string &m, string &j, float &k, size_t &c) 
{
     m = naimenovanie;
     j = tipTovara;
     k = cena;
     c = min;
}
     
void prisList::show()
{
     cout.width(34);
     cout.setf(std::ios::left);
     cout << "Наименование товара " << naimenovanie << endl;
     cout.width(34);
     cout << "Тип товара " << tipTovara << endl;
     cout.width(34);
     cout << "Цена товара " << cena << endl;
     cout.width(34);
     cout << "Минимальное количество в партии " << min << endl;
}
 
int main()
 {
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  
  string  a;
  string  b;
  float f;
  size_t d;
 
vector<prisList> obj;
 
system("cls");
cout << "              Заполните прайс-лист\n";
char ch;
do 
{
    cout << endl;
    cout.width(34);
    cout.setf(std::ios::left);
    cout << "Наименование товара ";
    getline(cin, a);
    cout.width(34);
    cout << "Тип товара ";
    getline(cin, b);
    cout.width(34);
    cout << "Цена товара ";
    cin >> f;
    cout.width(34);
    cout << "Минимальное количество в партии ";
    cin >> d;
    
    obj.push_back(prisList(a, b, f, d));
    
    cout << "\nПродолжить? (д/н) ";
    cin >> ch;
    while (cin.get() != '\n');
} while ( ch != 'н');
 
system("cls");
cout << "\n              Прайс-лист\n" << endl;
 
for (size_t p = 0; p < obj.size(); p++) 
{
    obj[p].show();
    cout << "\n";
}
 
cout << "\n              Вывести данные о товаре? (д/н)\n\n";
cin >> ch;
while (ch != 'н')
{
cout << "\n              Введите номер товара в прайс-листе (максимальный = " << obj.size() << ")" << endl;
int n;
cin >> n;
 
    obj[n - 1].get(a, b, f, d);
    
    cout << endl;
    cout.width(34);
    cout.setf(std::ios::left);
    cout << "Наименование товара " << a << endl;
    cout.width(34);
    cout << "Тип товара " << b << endl;
    cout.width(34);
    cout << "Цена товара " << f << endl;
    cout.width(34);
    cout << "Минимальное количество в партии " << d << endl;
 
    cout << "\nПродолжить? (д/н) ";
    cin >> ch;
} 
 
cout << endl;
system("PAUSE");
return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru