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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.91
skbbk
0 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 3
#1

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

04.09.2012, 20:58. Просмотров 7959. Ответов 6
Метки нет (Все метки)

выдает ошибку 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 20:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка expected constructor, destructor, or type conversion before ';' token (C++):

Expected constructor, destructor, or type conversion before '.' token - C++
struct Gf3 { GLfloat x; GLfloat y; GLfloat z; } p1,p2,p3,t; t.x = 0.0; t.y = 0.0; t.z = 1.0; p1.x = 0.0; p1.y =...

Ошибка expected constructor, destructor, or type conversion before '(' toke - C++
Возникает ошибка expected constructor, destructor, or type conversion before '(' toke в 7 и 16 строчке. #include &lt;iostream&gt; #include...

Ошибка "expected constructor, destructor, or type conversion" - C++
//ourfunc.cpp - îïðåäåëÿåò âàøó ñîáñòâåííóþ ôóíêöèþ #include &lt;iostream&gt; using namespace std; void simon(int); //ïðîòîòèï ôóíêöèè ...

Ошибка: forbids declaration of 'magic' with no type expected ';' before '.' token - C++
пишет &quot;forbids declaration of 'magic' with no type expected ';' before '.' token&quot; не могу найти где ? #include &lt;iostream&gt; #include...

Ошибка: expected unqualified-id before '{' token - C++
выходит такая ошибка error: expected unqualified-id before '{' token в чем проблема? #include&lt;stdio.h&gt; #include&lt;math.h&gt; float d=5.3;...

Expected unqualified-id before '(' token . ошибка - C++
Не могу понять, как убрать ошибку. In member function `matrica matrica::operator=(massiv&amp;)': Expected unqualified-id before '('...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
04.09.2012, 21:01 #2
У тебя на 59 строчке лишняя скобка
1
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
04.09.2012, 21:02 #3
Скопируй точно код ошибки.
А, ну да, лишняя фигурная скобка.
0
skbbk
0 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 3
04.09.2012, 21:13  [ТС] #4
спасибо, еще один вопрос:
говорит, что clrscr(); не объявлена функция хотя директиву я прописала.
и 70. [Warning] passing `float' for converting 4 of `void prisList::set(char*, char, float, int)' ?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.09.2012, 21:32 #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) Отсюда передупреждение.
1
skbbk
0 / 0 / 0
Регистрация: 04.09.2012
Сообщений: 3
05.09.2012, 01:01  [ТС] #6
большое спасибо,программа компилится, но после введения введения первой строки данных выкидывает окно с текстом "прекращена работа программы"...в чем может быть причина...
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2012, 06:07 #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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2012, 06:07
Привет! Вот еще темы с ответами:

Ошибка в коде. expected ';' before ')' token - C++
не пойму что за ошибка пишет кто может посмотреть код C:\Users\Âëàä\Desktop\PROJECT\g++.exe ../¦º¨¸þòvõ/Lòðýþòð/fun1.cpp: No such file...

Ошибка expected class-name before '{' token - C++
Помогите пожалуйста, при запуске программы выходят такие ошибки Ошибки: main #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Ошибка. Expected primary-expression before ';' token - C++
код в 3 файлах zag.h: #ifndef ZAG_H_INCLUDED #define ZAG_H_INCLUDED #include &lt;iostream&gt; #include &lt;cstdlib&gt; class pair{ ...

Ошибка expected primary-expression before ';' token - C++
Помогите разобраться, пожалуйста, вот ошибка: #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iomanip&gt; using...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.09.2012, 06:07
Ответ Создать тему
Опции темы

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