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

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

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

Вывести ориентацию локатора после выполнения команд - C++

03.06.2013, 16:58. Просмотров 1027. Ответов 2
Метки нет (Все метки)

Всем привет! Есть задачки которые нужно сделать в C++:

2) CASE11: Локатор ориентирован на одну из сторон света ("С" - север, "З" - запад, "Ю" - юг, "В" - восток) и может принимать три цифровые команды поворота: 1 - поворот налево, -1 - поворот направо, 2 - поворот на 180 градусов.
Дан символ C - исходная ориентация локатора и целые числа N1 и N2 - две посланные команды. Вывести ориентацию локатора после выполнения этих команд.


Не могу разобраться с операторами switch и case.

Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести ориентацию локатора после выполнения команд (C++):

Дано символ C - исходная ориентация локатора и целые числа N1 и N2 - две посланные команды. Вывести ориентацию после выполнения этих команд - C++
Здравствуйтевот само условие в C++ сколкьо думал,сам то я начинающий но к правильному решению прийти немогу,прошу помощи. Локатор...

Где окажется робот после выполнения заданных команд? - C++
Робот находится в точке с целочисленными координатами X0, Y0. Ему дистанционно посылается N команд. Каждая команда может быть одной из...

Где окажется робот после выполнения заданных команд? - C++
Робот находится в точке с целочисленными координатами X0, Y0. Ему дистанционно посылается N команд. Каждая команда может быть одной из...

Вывести направление робота после выполнения полученной команды. - C++
Case. Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые...

Вывести направление робота после выполнения полученной команды - C++
Здравствуйте! Условие задачи: Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и...

Ответить клиенту через именованный канал результатом выполнения команд сервером, к примеру dir на сервере - C++
Есть сервер и клиент для обмена сообщениями при помощи именованных каналов. Клиент посылает серверу запрос на выполнение одной из команд:...

2
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
03.06.2013, 19:13 #2
+1: +90 гр.
-1: -90 гр.
-3: -270 гр.
и тд
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    const string Direction_names[] { "North", "East", "South", "West" };
    char dir, d;
    cin >> d;
    switch (d) {
        case 'N': dir = 0; break;
        case 'E': dir = 1; break;
        case 'S': dir = 2; break;
        case 'W': dir = 3; break;
        default: cout << "bad input"; return -1;
    }
 
    short choise;
    cout << "-n: -90 * n\n n: 90 * n\nChoise:";
    cin >> choise;
 
    if (choise > 4) choise = choise % 4;
    if (choise < 0) choise = - ( - choise % 4);
    dir = (dir + choise + 4) % 4;
    cout << "New direction is " << Direction_names[dir];
 
    return 0;
}
0
Naudiz
14 / 12 / 1
Регистрация: 04.11.2011
Сообщений: 137
03.06.2013, 19:15 #3
Твоя задача:
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char C; int N1, N2, N;
    cout << "Введите исходное положение локатора"<<endl<<"(С - север, З - запад, Ю - юг, В - восток): ";
    cin >> C;
    switch(C)
    {
        case 'С': N=0; break;
        case 'Ю': N=2; break;
        case 'В': N=-1; break;    
        case 'З': N=1; break;
    }
    cout << "Введите первую команду: "; cin >> N1;
    cout << "Введите вторую команду: "; cin >> N2;
    cout << "Текущая ориентация локатора: ";
    switch(N+N1+N2)
    {
        case 0: cout<<"север\n"; break;
        case 1: cout<<"запад\n"; break;
        case -1: cout<<"восток\n"; break;
        case 2: cout<<"юг\n"; break;
        case -2: cout<<"юг\n"; break;
        case 3: cout<<"восток\n"; break;
        case -3: cout<<"запад\n"; break;
        case 4: cout<<"север\n"; break;
        case 5: cout<<"запад\n"; break;
        case 6: cout<<"юг\n"; break;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

Цитата Сообщение от Mariniel Посмотреть сообщение
Не могу разобраться с операторами switch и case.
В чем именно проблема?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 19:15
Привет! Вот еще темы с ответами:

Реализация команд до и после пробела через функцию gets_s() - C++
Хочу реализовать смену текущей директории, без нажатия клавиши &quot;Enter&quot;, иными словами, введя команду 'cd new_home' (и только после этого...

Вывести список команд,набравших более Z очков - C++
Вывести список команд,набравших более Z очков. Мой пример проверьте плз и подскажите что исправить.Нет вывода.Уверен что ошибка в if...

Выходи из программы после ее выполнения - C++
Как сделать чтобы программа не выходила при окончании ее выполнения и не писала &quot;&quot; Для продолжения...&quot;. Пробовал cin.get(); не работает. А...

Ошибка после выполнения программы - C++
Как исправить? Программа выполняется правильно, но после нажатья Энтера вот это выскакивает (очень сильно раздражает). Причем если нет ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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