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

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

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

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

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

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

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


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

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

Вывести направление робота после выполнения полученной команды. C++
Дано символ C - исходная ориентация локатора и целые числа N1 и N2 - две посланные команды. Вывести ориентацию после выполнения этих команд C++
C++ Вывести список команд,набравших более Z очков
Выходи из программы после ее выполнения C++
Ошибка после выполнения программы C++
C++ Ответить клиенту через именованный канал результатом выполнения команд сервером, к примеру dir на сервере
Данные после выполнения конструктора меняются C++
C++ После выполнения программы появляется ошибка
C++ Реализация команд до и после пробела через функцию gets_s()
Где окажется робот после выполнения заданных команд? C++
Где окажется робот после выполнения заданных команд? C++
Вывести направление робота после выполнения полученной команды C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
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;
}
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.
В чем именно проблема?
Yandex
Объявления
03.06.2013, 19:15     Вывести ориентацию локатора после выполнения команд
Ответ Создать тему
Опции темы

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