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

Из Pascal в C++ - C++

Восстановить пароль Регистрация
 
Denistrator
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 12
17.06.2013, 19:29     Из Pascal в C++ #1
Нужно с паскаля на C++ перевести вот это:
Pascal
1
2
3
4
5
6
7
8
9
10
11
var x, y:byte;
act:char;
begin
while act <> 'q' do begin
act:=readkey; 
if act='a' then begin plr:=chr(17); x:=x-1; end;
if act='d' then begin plr:=chr(16); x:=x+1; end;
if act='w' then begin plr:=chr(30); y:=y-1; end;
if act='s' then begin plr:=chr(31); y:=y+1; end;
gotoxy(x, y); write('*');
end; end.
Плз. помогите!

P.S. Для меня вся сложность в том что не могу найти аналог readkey в C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 19:29     Из Pascal в C++
Посмотрите здесь:

C Pascal на C++ C++
C++ Pascal to C++
C++ С Pascal на C++
C++ Pascal to c++
Выведите номер дня недели для данного дня года C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Denno
50 / 50 / 6
Регистрация: 21.10.2012
Сообщений: 185
Завершенные тесты: 3
17.06.2013, 19:38     Из Pascal в C++ #2
Цитата Сообщение от Denistrator Посмотреть сообщение
не могу найти аналог readkey в C++
C++
1
std::cin.get();
Denistrator
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 12
17.06.2013, 19:53  [ТС]     Из Pascal в C++ #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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h> 
#include <conio.h>
using namespace std;
 
void gotoxy(int xpos, int ypos)
    {
    COORD scrn;    
    HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
    scrn.X = xpos; scrn.Y = ypos;
    SetConsoleCursorPosition(hOuput,scrn);
    }   
int _tmain(int argc, _TCHAR* argv[])
{
    int x, y;
    char act;
    x=1; y=1;
    while (act!='q')
    {
    act=cin.get();
    if (act=='a'){x--;}
    if (act=='d'){x++;}
    if (act=='w'){y--;}
    if (act=='s'){y++;}
    gotoxy(x, y); cout<<"*";
    }
    getch();
return 0;
}
но все же так как надо не работает(просто выводит на экран нажатые символы)
я в C++ новичок(<недели) так что наверно вся прога не правильно написана...

Добавлено через 10 минут
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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h> 
#include <conio.h>
using namespace std;
 
void gotoxy(int xpos, int ypos)
    {
    COORD scrn;    
    HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
    scrn.X = xpos; scrn.Y = ypos;
    SetConsoleCursorPosition(hOuput,scrn);
    }   
int _tmain(int argc, _TCHAR* argv[])
{
    int x, y;
    char act;
    x=1; y=1;
    act=cin.get();
    while (act!='q')
    {
     switch(act)
     {
     case 'a': {x--;}
     case 'd': {x++;}
     case 'w': {y--;}
     case 's': {y++;}
     gotoxy(x, y); cout<<"*";
     }
    }
    getch();
return 0;
}
как бы v 0.1
Naudiz
 Аватар для Naudiz
14 / 12 / 1
Регистрация: 04.11.2011
Сообщений: 137
17.06.2013, 20:19     Из Pascal в C++ #4
Denistrator, после каждого case поставьте break;
Yandex
Объявления
17.06.2013, 20:19     Из Pascal в C++
Ответ Создать тему
Опции темы

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