Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите пожалуйста! Не могу найти ошибку 
:(
    Опции темы
Phoenix13
Дата 26.4.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



Если ввожу 5 или 6 то "ELSE IF" не срабатывает. А от 1 до 4 всё работает. Не пойму почему.  

Код



#include <iostream>
using namespace std;

void main()
{

    int y=100;
    int patron=10;
    int patron1,
        x1,
        y1;

        while (true)
    {
        cout<<"********************\n" ;
    char* z="* GLAVA HOMEP 2... *\n*                  *\n* CXBATKA C 3OM6u! *\n";
    cout<<z;
    cout<<"********************\n\n" ;
    cout<<"BbICTPEL B=>\n          => GOLOVU 1-2\n";
    cout<<"          => TULOVISHE 3-4\n";
    cout<<"          => NOGI 5-6\n\n";
    cout<<"Vistrelit: "<<endl;
    cin>>x1;
    if(x1==1 || x1==2)
    {
        if (x1==1)    
        {y1=y-0; cout<<" Promazal!! Slishkom BbICOKO!! \n \n  ZOMBIE'S HEALS: "<<y1<<"%"<<endl<<endl;}    
        if (x1==2)
        {y1=y-5; cout<<" Otstrelil YXO  \n \n  ZOMBIE'S HEALS: "<<y1<<"%"<<endl<<endl;}
    }
    if(x1==3 || x1==4)
    {
        if (x1==3)
        {y1=y-20;cout<<" Popal v cerdce! \n \n  ZOMBIE'S HEALS: "<<y1<<"%"<<endl<<endl;}
        if (x1==4)
        {y1=y-10; cout<<" Sdelal v jivote dirku \n \n  ZOMBIE'S HEALS: "<<y1<<"%"<<endl<<endl;}
    }
    if(x1==5 || x1==6)
    {
        if (x1==5){y1=y-0; cout<<" Promazal  \n \n  ZOMBIE'S HEALS: "<<y1<<"%"<<endl<<endl;}
        if (x1==6){y1=y-20; cout<<" Pryamo v koleno!  \n \n  ZOMBIE'S HEALS: "<<y1<<"%"<<endl<<endl;}
    }


    else if (x1>0 && x1<8)

    {patron1=patron-1; cout<<"OSTALOS PATRONOV: "<<patron1<<" / "<<patron<<endl<<endl;}



        }


cin.get();
cin.get();

}









PM MAIL Skype   Вверх
mes
Дата 26.4.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Phoenix13 @  26.4.2009,  20:09 Найти цитируемый пост)
Если ввожу 5 или 6 то "ELSE IF" не срабатывает. А от 1 до 4 всё работает. Не пойму почему.  

что написали, то и получили 
Цитата

Код

    if(x1==5 || x1==6)    
    {
       ...  // если 5 или 6
    }
    else if (x1>0 && x1<8) // иначе если 


 smile 


--------------------
PM MAIL WWW   Вверх
Phoenix13
Дата 26.4.2009, 21:45 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



А как мне сделать чтобы от нескольких if происходили одни операции, и ещё здесь же независимо от того как сложится if работала ещё одна операция? Я думал что else это переводится как "ещё".
PM MAIL Skype   Вверх
Данкинг
Дата 26.4.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(Phoenix13 @  26.4.2009,  22:45 Найти цитируемый пост)
ещё здесь же независимо от того как сложится if работала ещё одна операция? 

Ну и пиши её без всяких условий, в чём проблема? smile 

Цитата(Phoenix13 @  26.4.2009,  22:45 Найти цитируемый пост)
Я думал что else это переводится как "ещё". 

А в словарь посмотреть не пробовал? smile Ну или хотя бы прочесть любую книгу по программированию (язык неважен). smile 



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Phoenix13
Дата 26.4.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



Читаю Шилдта smile В словаре смотрел. Я просто новичёк в этом деле, не во всё пока въехал. Ладно, спасибо за помощь.

Добавлено через 2 минуты и 45 секунд
Всё, понял как сделать)) Ещё раз спасибо!)

Добавлено через 3 минуты и 37 секунд
А ты можешь ещё в одном вопросе помочь?)
PM MAIL Skype   Вверх
mes
Дата 27.4.2009, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Phoenix13 @  26.4.2009,  20:54 Найти цитируемый пост)
Я просто новичёк в этом деле, 

Вот с таким подходом, Код Вашей программы станет чище :
Код

const  char * head    =  "********************\n"
                         "* GLAVA HOMEP 2... *\n"
                         "*                  *\n"
                         "* CXBATKA C 3OM6u! *\n"
                         "********************\n\n";

const  char * menu    =  "BbICTPEL B=>\n"
                         "          => GOLOVU 1-2\n"
                         "          => TULOVISHE 3-4\n"
                         "          => NOGI 5-6\n\n"
                         "Vistrelit: ";

int main()
{
    std::cout << head;
    std::cout << menu;


Это сообщение отредактировал(а) mes - 27.4.2009, 01:29


--------------------
PM MAIL WWW   Вверх
Phoenix13
Дата 27.4.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



А можно пояснение как это работает? smile

Добавлено через 2 минуты и 15 секунд
Точнее как тут работает const?
PM MAIL Skype   Вверх
zim22
Дата 27.4.2009, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Phoenix13 @  27.4.2009,  10:55 Найти цитируемый пост)
Точнее как тут работает const?

читаем:
Код

const  char * head

head является указателем на тип char, который является константой.
в данном случае const зпрещает изменять данные.
вы не сможете написать 
Код

head[10] = 'c';

хотя и без const не смогли бы тоже. т.к.здесь создаются константные строковые литералы.
хотите изменять - создавайте строки так:
Код

char head[] = "blablabla";
head[5] = 'x';


Это сообщение отредактировал(а) zim22 - 27.4.2009, 13:49


--------------------
PM MAIL   Вверх
Phoenix13
Дата 27.4.2009, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



А как изменить часть строки "blablabla" скажем на "bla privet bla"?
PM MAIL Skype   Вверх
zim22
Дата 27.4.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(Phoenix13 @  27.4.2009,  14:11 Найти цитируемый пост)
А как изменить часть строки "blablabla" скажем на "bla privet bla"?

никак. массив статический. количество символов в строках "bla privet bla" и "blablabla" не совпадает.


--------------------
PM MAIL   Вверх
mes
Дата 27.4.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Phoenix13 @  27.4.2009,  13:11 Найти цитируемый пост)
А как изменить часть строки "blablabla" скажем на "bla privet bla"? 

используй std::string http://www.cplusplus.com/reference/string/string/



--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.