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

Множественный выбор - C++

Восстановить пароль Регистрация
 
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 15:47     Множественный выбор #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
#include <iostream>
using namespace std;
class korabl{
public:
    float vod, mas, pas; //vodoizmewenie,massa,kol-vo passagirov
    void opkorabl(void);
    void fizika(void);
    void vvod(void);
};
void korabl:: fizika(void)
{ 
  cout<<("Vvedite vodoizmewenie korabl9")<<endl;
  cin>>vod;
  cout<<("Vvedite massu korabl9")<<endl;
  cin>>mas;
  cout<<("Vvedite kol-vo passagirov")<<endl;
  cin>>pas;
}
void korabl:: opkorabl(void)
{
    cout<<("Prisposoblenie dl9 plavani9")<<endl;
    cout<<("Vodoizmewenie - ")<<vod<<(" Massa - ")<<mas<<(" Kol-vo passagirov - ")<<pas<<endl;
}
class parus: public korabl
{
public:
    float ma,par;//kol-vo macht,kol-vo parusov
    void opparus(void);
    void fizika1(void);
};
void parus::opparus(void)
{ 
korabl*kr;
kr = new korabl;
kr->fizika();
kr->opkorabl();
cout<<("Dl9 peredvigeni9 ispol'zuuts9 parusa. Kol-vo parusov - ")<<par<<(". Kol-vo macht - ")<<ma<<endl;
}
void parus:: fizika1(void)
{ 
  cout<<("Vvedite kol-vo macht")<<endl;
  cin>>ma;
  cout<<("Vvedite kol-vo parusov")<<endl;
  cin>>par;
}
class shuna: public parus
{
public:
    float ves;//kol-vo vesel
    void opshuna(void);
    void fizika2(void);
};
void shuna::opshuna(void)
{
parus*pr;
pr= new parus;
pr->fizika1();
pr->opparus();
cout<<("Malen'koe bistrohodnoe sudno s ")<<ves<<(" veslami")<<endl;
}
void shuna::fizika2(void)
{
    cout<<("Vvedite kol-vo vesel")<<endl;
    cin>>ves;
}
class teplo: public korabl
{
public:
    float ob,wes; //ob'em baka, ves dvigatel9
    void opteplo(void);
    void fizika3(void);
};
void teplo::opteplo(void)
{
    korabl*kr;
    kr= new korabl;
    kr->fizika();
    kr->opkorabl();
    cout<< ("Rabotaet na dizel'nom toplive. Ob'em baka ")<<ob<<(" Massa dvigatel9 ")<<wes<<endl;
}
void teplo::fizika3(void)
{
    cout<<("Vvedite ob'em baka")<<endl;
    cin>>ob;
    cout<<("Vvedite massu dvigatel9")<<endl;
    cin>>wes;
}
int main()
{
    float a;
    cout<<("Vvedite simvol T(teplohod),K(korabl), S(shuna) ili P(parusnik)")<<endl;
    cin>>a;
    if (a='K')
    {
    korabl vv;
vv.fizika();
vv.opkorabl();
    }
    else
    if (a='P')
    {
parus zz;
zz.fizika1();
zz.opparus();
    }
    else
    if (a='S')
    {
shuna uu;
uu.fizika2();
uu.opshuna();
    }
    else
    if (a='T')
    {
teplo tt;
tt.fizika3();
tt.opteplo();
    }
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2010, 15:47     Множественный выбор
Посмотрите здесь:

Выбор C++
Выбор СИ++ C++
C++ Использовать множественный выбор
C++ Выбор (y/n)
Множественный выбор. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RUSya82
 Аватар для RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
14.12.2010, 16:11     Множественный выбор #2
Цитата Сообщение от N-t0z Посмотреть сообщение
float a; cout<<("Vvedite simvol T(teplohod),K(korabl), S(shuna) ili P(parusnik)")<<endl;
если символ, то почему float?
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
14.12.2010, 16:17     Множественный выбор #3
Ну и в довесок - в проверках условий стоит не проверка равенства, а присваивание.

З.Ы. в таких случаях лучше switch/case пользоваться.
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 17:27  [ТС]     Множественный выбор #4
А как проверка равенства реализуется? Я только начал с изучать, с синтаксисом совсем туго=)
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
14.12.2010, 17:49     Множественный выбор #5
Цитата Сообщение от N-t0z Посмотреть сообщение
А как проверка равенства реализуется?
if (a == 'K')
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
14.12.2010, 19:04     Множественный выбор #6
Цитата Сообщение от N-t0z Посмотреть сообщение
Я только начал с изучать, с синтаксисом совсем туго=)

Не по теме:

Зачем же сразу в классы?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2010, 20:46     Множественный выбор
Еще ссылки по теме:

Выбор программы C++
C++ Множественный выбор (switch)
C++ множественный выбор

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

Или воспользуйтесь поиском по форуму:
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 20:46  [ТС]     Множественный выбор #7
завтра надо сдать три лабы по ООП на си+++)
Две уже замучил, осталась ещё одна с полиморфизмом

Добавлено через 37 минут
Пля, меня уже перекрывает. Помогите плз.

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
#include <string>
#include <iostream>
using namespace std;
class odejda
{
public:
    float razm,razm1,pug,mas;
    const char opis;
    odejda(const char opis1);
    void parametr(void);
    virtual void info(void);
};
odejda::odejda(const char opis1)
{ const char opis=opis1;
}
void odejda:: parametr(void)
{
    cout<<("Zadajte diapazon razmerov ot ")<<endl;
    cin>> razm;
    cout<<(" do ")<<endl;
    cin>>razm1;
    cout<<("Zadajte kol-vo pugovic")<<endl;
    cin>> pug;
    cout<<("Zadajte massu izdeli9")<<endl;
    cin>>mas;
  const char*opis="To, 4to ludi odevaut po verh bel'9";
}
int main()
{
    odejda vv;
    vv.parametr();
}
Вот такие ошибки

1>------ Построение начато: проект: oop_zad3, Конфигурация: Debug Win32 ------
1> odejka.cpp
1>c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(15): error C2758: odejda::opis: требуется инициализация в списке инициализации базовых классов и членов
1> c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(9): см. объявление "odejda::opis"
1>c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(31): error C2512: odejda: нет подходящего конструктора по умолчанию
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Yandex
Объявления
14.12.2010, 20:46     Множественный выбор
Ответ Создать тему
Опции темы

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