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

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

Восстановить пароль Регистрация
 
Арианна
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 22
04.05.2012, 16:22     нужно исправить ошибки в коде #1
вобщем, я уже писала по поводу этого задания:

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

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

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]<<" ";
    }
 }
}
Помогите исправить ошибки в коде
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2012, 16:22     нужно исправить ошибки в коде
Посмотрите здесь:

Нужно исправить 2 ошибки в коде C++
C++ Исправить ошибки в приведенном коде
C++ Исправить ошибки в коде
C++ исправить ошибки в коде
Исправить ошибки в коде C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
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]<<" ";
        }
}
}
Арианна
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 22
19.05.2012, 17:58  [ТС]     нужно исправить ошибки в коде #3
Большое СПАСИБО!!!
Вот только у меня в 22 строчке ошибка и я не знаю как исправить(((
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,396
19.05.2012, 18:05     нужно исправить ошибки в коде #4
Цитата Сообщение от Арианна Посмотреть сообщение
Большое СПАСИБО!!!
Вот только у меня в 22 строчке ошибка и я не знаю как исправить(((
исправь на system("cls");
Арианна
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 22
20.05.2012, 16:19  [ТС]     нужно исправить ошибки в коде #5
АРИГАТО!!!
Yandex
Объявления
20.05.2012, 16:19     нужно исправить ошибки в коде
Ответ Создать тему
Опции темы

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