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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.91
skbbk
0 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 3
04.09.2012, 20:58     Ошибка expected constructor, destructor, or type conversion before ';' token #1
выдает ошибку expected constructor, destructor, or type conversion before ';' token с 61-90 строчку.че делать уже не знаю.проверяла код
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
#include <iostream>
#include <cstdlib>
#include <string.h>
#include <stdio.h>
#include <iomanip>
#include <conio.h>
#define N 3
 
using std::cin;
using std::cout;
using std::endl;
 
 
class prisList {
      char *naimenovanie;
      char tipTovara;
      float cena;
      int min;
public:
       void set (char *m, char j, float k, int c);
       void get (char *m, char &j, float &k, int &c);
       void show (void);
};
       
void prisList::set (char *m, char j, float k, int c) 
{
     strcpy(naimenovanie,m);
     tipTovara=j;
     cena=k;
     min=c;
}
 
void prisList::get (char *m , char &j, float &k, int &c) 
{
     delete[] m;
     m=new char [strlen(naimenovanie)+1];
     strcpy(m,naimenovanie);
     j=tipTovara;
     k=cena;
     c=min;
}
     
void prisList::show(void)
{
     cout<<naimenovanie<<" ";
     cout<<tipTovara<<" ";
     cout<<cena<<" ";
     cout<<min<<" ";
}
 
int main()
 {
  char *a;
  char b;
  float f;
  float d;
  short p;
}
 
prisList obj[N];
clrscr();
std::cout<<"F-ya SET \n"<<endl;
for (p=0; p < N; p++) 
{
    cout<<"NaimenovanieTovara, tipTovara, cenaZa1Shtyky, minColichestvoVPartii: "<<endl;
    cin>>a;
    cin>>b;
    cin>>f;
    cin>>d;
   obj[p].set(a,b,f,d);
 }
cout<<"f-ya SHOW"<<endl;
cout<<"NaimenovanieTovara, tipTovara, cenaZa1Shtyky, minColichestvoVPartii: "<<endl;
for (p=0; p < N; p++) {
    obj[p].show();
    cout<<"\n";
}
cout<<"f-ii GET i SHOW"<<endl;
cout<<"NaimenovanieTovara, tipTovara, cenaZa1Shtyky, minColichestvoVPartii: "<<endl;
for (p=0; p < N; p++)
{ 
    obj[p].set(a,b,f,d);
    obj[p].show();
    cout<<"\n";
}
 
system("PAUSE");
delete[] a;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 20:58     Ошибка expected constructor, destructor, or type conversion before ';' token
Посмотрите здесь:

C++ Ошибка: forbids declaration of 'magic' with no type expected ';' before '.' token
C++ Ошибка "expected constructor, destructor, or type conversion"
C++ Списки. Ошибка: expected declaration before '}' token
Expected constructor, destructor, or type conversion before '.' token C++
Expected unqualified-id before '(' token . ошибка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
04.09.2012, 21:01     Ошибка expected constructor, destructor, or type conversion before ';' token #2
У тебя на 59 строчке лишняя скобка
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
04.09.2012, 21:02     Ошибка expected constructor, destructor, or type conversion before ';' token #3
Скопируй точно код ошибки.
А, ну да, лишняя фигурная скобка.
skbbk
0 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 3
04.09.2012, 21:13  [ТС]     Ошибка expected constructor, destructor, or type conversion before ';' token #4
спасибо, еще один вопрос:
говорит, что clrscr(); не объявлена функция хотя директиву я прописала.
и 70. [Warning] passing `float' for converting 4 of `void prisList::set(char*, char, float, int)' ?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.09.2012, 21:32     Ошибка expected constructor, destructor, or type conversion before ';' token #5
clrscr(); не везде работает. Попробуйте:
C++
1
system("cls");
Цитата Сообщение от skbbk Посмотреть сообщение
70. [Warning] passing `float' for converting 4 of `void prisList::set(char*, char, float, int)'
Цитата Сообщение от skbbk Посмотреть сообщение
obj[p].set(a,b,f,d);
тут вы 4 параметром передаёте в метод переменную типа double, а в прототипе тут должен быть тип int (void set (char *m, char j, float k, int c) Отсюда передупреждение.
skbbk
0 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 3
05.09.2012, 01:01  [ТС]     Ошибка expected constructor, destructor, or type conversion before ';' token #6
большое спасибо,программа компилится, но после введения введения первой строки данных выкидывает окно с текстом "прекращена работа программы"...в чем может быть причина...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2012, 06:07     Ошибка expected constructor, destructor, or type conversion before ';' token
Еще ссылки по теме:

Ошибка expected constructor, destructor, or type conversion before '(' toke C++
Ошибка: expected unqualified-id before '{' token C++
Ошибка: expected primary-expression before '.' token C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2012, 06:07     Ошибка expected constructor, destructor, or type conversion before ';' token #7
В 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;
}
Yandex
Объявления
05.09.2012, 06:07     Ошибка expected constructor, destructor, or type conversion before ';' token
Ответ Создать тему
Опции темы

Текущее время: 16:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru