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

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

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

нужно исправить ошибки в коде - C++

04.05.2012, 16:22. Просмотров 404. Ответов 4
Метки нет (Все метки)

вобщем, я уже писала по поводу этого задания:

Описать класс, реализующий стек. Написать программу, использующую этот класс
для моделирования Т-образного сортировочного узла на железной дороге. Про*
грамма должна разделять на два направления состав, состоящий из вагонов двух
типов (на каждое направление формируется состав из вагонов одного типа).
Предусмотреть возможность формирования состава из файла и с клавиатуры.

У меня вот такой код:

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.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
class Stek{
int m[100],chet[100],nechet[100],n,kch,kn;
public:
 void iz_fail();
 void s_klav();
 void prosm();
 void razdelenie();
 void prosm_chet();
 void prosm_nechet();
};
void main()
{ Stek s;int vibor;
randomize();
clrscr();
while (vibor!=7)
 {
cout<<"\n"<<endl;
cout<<"Выберите нужный пункт меню:";cout<<endl;
cout<<"\n1. Заполнить стек из файла;";cout<<endl;
cout<<"2. Заполнить с клавиатуры;";cout<<endl;
cout<<"3. Просмотреть содержимое стека;";cout<<endl;
cout<<"4. Разделение содержимого стека;";cout<<endl;
cout<<"5. Просмотреть массив из четных данных;";cout<<endl;
cout<<"6. Просмотреть массив из нечетных данных;";cout<<endl;
cout<<"7. Закончить выбор пунктов меню.";cout<<endl;
cout<<"\n";
cin>>vibor;
switch (vibor)
  {
case 1:{s.iz_fail();break;}
case 2:{s.s_klav();break;}
case 3:{s.prosm();break;}
case 4:{s.razdelenie();break;}
case 5:{s.prosm_chet();break;}
case 6:{s.prosm_nechet();break;}
case 7:{break;}
default:{cout<<"Такого пункта меню нет!"<<endl; }
  }
 }
}
void Stek::iz_fail()
{FILE *f;int a,i;
 f=fopen("s", "wb");
 cout<<"Заполнение файла данными -";
 cout<<endl;
 cout << "Введите количество элементов: ";
 cin >> n;
for (i=1; i<=n; i++)
 { //cout << "Значение элемента: ";
   //cin>>a;
   a=random(50)-25;
   fwrite(&a, sizeof(int), 1, f);
 }
 fclose(f);
f=fopen("s", "rb");
i=0;
while (fread(&a,sizeof(int),1,f))
{
m[i]=a;
i++;
}
fclose(f);
cout<<endl<<”Файл заполнен!!!;<<endl;
};
void Stek::s_klav()
{ int i,a;
 cout << "Введите количество элементов: ";
 cin >> n;
 for (i=1; i<=n; i++)
 { cout << "Значение элемента: ";
   cin>>a;
   //a=random(50)-25;
   m[i-1]=a;
 }
}
void Stek::prosm()
{ int i;
if (n==0) cout<<"Элементов в стеке нет!";
else
   {
cout<<"Содержимое стека на данном этапе:";cout<<endl;
for (i=0; i<n; i++) { cout<<m[i]<<" "; }
cout<<"Просмотр выполнен!!!"<<endl;
   }
}
void Stek::razdelenie()
{int i;
if (n==0) cout<<" Элементов в стеке нет!";
else
   {
i=n-1;
kch=0;
kn=0;
while (i>=0)
  {
  if (m[i]%2==0) {chet[kch]=m[i];kch++;n--;}
  else {nechet[kn]=m[i];kn++;n--;}
  i--;
  }
cout<<"Разделение выполнено!!!"<<endl;
   }
}
void Stek::prosm_chet()
{int i;
if (kch==0) cout<<"Элементов в массиве нет!";
else
 {
 cout<<"Содержимое массива четных чисел:"<<endl;
  for  (i=0; i<kch; i++)
    {
    cout<<chet[i]<<" ";
    }
 }
}
void Stek::prosm_nechet()
{int i;
if (kn==0) cout<<" Элементов в массиве нет!";
else
 {
 cout<<" Содержимое массива нечетных чисел endl;
  for  (i=0; i<kn; i++)
    {
    cout<<nechet[i]<<" ";
    }
 }
}
Помогите исправить ошибки в коде
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2012, 16:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нужно исправить ошибки в коде (C++):

Нужно исправить 2 ошибки в коде - C++
собственно, САБЖ. нужно исправить 2 ошибки в коде, чтобы его можна было скомпилить и сделать из него ехе-шник. код немалый, тому залил...

Нужно исправить ошибки в коде и дописать функцию - C++
В 17-ой строке компилятор выдает ошибку invalid operands of types 'int()' and 'int()' to binary 'operator+' В идеале программа должна...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Исправить ошибки в коде - C++
Я тут на писал правильно скажите? #include &quot;stdafx.h&quot; #include &lt;iomanip&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cmath&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
04.05.2012, 16:41 #2
исправленный код
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
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
class Stek{
    int m[100],chet[100],nechet[100],n,kch,kn;
public:
    void iz_fail();
    void s_klav();
    void prosm();
    void razdelenie();
    void prosm_chet();
    void prosm_nechet();
};
void main()
{ Stek s;int vibor=0; //vibor надо проинициализировать!
srand (time(NULL)); //дсч инициализируем так
//randomize(); 
clrscr();
while (vibor!=7)
{
    cout<<"\n"<<endl;
    cout<<"Выберите нужный пункт меню:";cout<<endl;
    cout<<"\n1. Заполнить стек из файла;";cout<<endl;
    cout<<"2. Заполнить с клавиатуры;";cout<<endl;
    cout<<"3. Просмотреть содержимое стека;";cout<<endl;
    cout<<"4. Разделение содержимого стека;";cout<<endl;
    cout<<"5. Просмотреть массив из четных данных;";cout<<endl;
    cout<<"6. Просмотреть массив из нечетных данных;";cout<<endl;
    cout<<"7. Закончить выбор пунктов меню.";cout<<endl;
    cout<<"\n";
    cin>>vibor;
    switch (vibor)
    {
    case 1:{s.iz_fail();break;}
    case 2:{s.s_klav();break;}
    case 3:{s.prosm();break;}
    case 4:{s.razdelenie();break;}
    case 5:{s.prosm_chet();break;}
    case 6:{s.prosm_nechet();break;}
    case 7:{break;}
    default:{cout<<"Такого пункта меню нет!"<<endl; }
    }
}
}
void Stek::iz_fail()
{FILE *f;int a,i;
f=fopen("s", "wb");
cout<<"Заполнение файла данными -";
cout<<endl;
cout << "Введите количество элементов: ";
cin >> n;
for (i=1; i<=n; i++)
{ //cout << "Значение элемента: ";
    //cin>>a;
    a=rand()%51-25;
    fwrite(&a, sizeof(int), 1, f);
}
fclose(f);
f=fopen("s", "rb");
i=0;
while (fread(&a,sizeof(int),1,f))
{
    m[i]=a;
    i++;
}
fclose(f);
cout<<endl<<"Файл заполнен!!!"<<endl;
};
void Stek::s_klav()
{ int i,a;
cout << "Введите количество элементов: ";
cin >> n;
for (i=1; i<=n; i++)
{ cout << "Значение элемента: ";
cin>>a;
//a=random(50)-25;
m[i-1]=a;
}
}
void Stek::prosm()
{ int i;
if (n==0) cout<<"Элементов в стеке нет!";
else
{
    cout<<"Содержимое стека на данном этапе:";cout<<endl;
    for (i=0; i<n; i++) { cout<<m[i]<<" "; }
    cout<<"Просмотр выполнен!!!"<<endl;
}
}
void Stek::razdelenie()
{int i;
if (n==0) cout<<" Элементов в стеке нет!";
else
{
    i=n-1;
    kch=0;
    kn=0;
    while (i>=0)
    {
        if (m[i]%2==0) {chet[kch]=m[i];kch++;n--;}
        else {nechet[kn]=m[i];kn++;n--;}
        i--;
    }
    cout<<"Разделение выполнено!!!"<<endl;
}
}
void Stek::prosm_chet()
{int i;
if (kch==0) cout<<"Элементов в массиве нет!";
else
{
    cout<<"Содержимое массива четных чисел:"<<endl;
    for  (i=0; i<kch; i++)
    {
        cout<<chet[i]<<" ";
    }
}
}
void Stek::prosm_nechet()
{int i;
if (kn==0) cout<<" Элементов в массиве нет!";
else
{
    cout<<" Содержимое массива нечетных чисел" << endl;
        for  (i=0; i<kn; i++)
        {
            cout<<nechet[i]<<" ";
        }
}
}
1
Арианна
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 22
19.05.2012, 17:58  [ТС] #3
Большое СПАСИБО!!!
Вот только у меня в 22 строчке ошибка и я не знаю как исправить(((
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
19.05.2012, 18:05 #4
Цитата Сообщение от Арианна Посмотреть сообщение
Большое СПАСИБО!!!
Вот только у меня в 22 строчке ошибка и я не знаю как исправить(((
исправь на system("cls");
1
Арианна
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 22
20.05.2012, 16:19  [ТС] #5
АРИГАТО!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2012, 16:19
Привет! Вот еще темы с ответами:

Исправить ошибки в коде. - C++
Выдает ошибку, на скрине все есть

Исправить ошибки в коде - C++
#include &lt;iostream&gt; using namespace std; int main() { int n; int i; int e = 0; int l = 0;

Исправить ошибки в коде - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;conio.h&gt; using namespace std; void MessageBo() { int MB_1 =...

Исправить ошибки в коде - C++
#include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char *argv) { int p; float...


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

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

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