IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Перевод с Pascal на С
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Рамиль

Репутация: -  0  +


Мне нужно чтобы вот эта программа была написана на Си, но с Си у меня проблемы. Помогите пожалуйста

uses crt;
label start, money, exit;
var
x,y:byte;
sum,rez,otv,stavka:integer;
begin
textbackground(1);
textcolor(10);
clrscr;
randomize;
sum:=100;
writeln;
writeln( ' Ћђ…‹ €‹€ ђ…˜ЉЂ ');
while sum>0 do
begin
if sum>=1000 then
begin
writeln;
writeln(' Њ®Ґ Є §Ё­® ®Ў ­Єа®вЁ«®бм, в Є зв® Ё¤Ё Є  вл ®вбо¤  Ї®Є  п вҐЎп ­Ґ гЎЁ«');
writeln;
readln;
goto exit;
end;
start:
writeln;
writeln(' 0-Ћђ…‹ 1-ђ…˜ЉЂ 2-‚›•Ћ„ €‡ €ѓђ›');
writeln;
readln(otv);
if otv>2 then
begin
writeln;
writeln(' ’л зҐ б«ҐЇ®©? Ќ ЇЁб ­® ¦Ґ 0-Ћђ…‹ 1-ђ…˜ЉЂ 2-‚›•Ћ„ €‡ €ѓђ› ');
writeln;
writeln( ' Ђ ' ,otv,' п зв®-в® ­Ґ ўЁ¦г');
writeln;
goto start;
end;
if otv=2 then goto exit;
if otv=0 then
begin
x:=WhereX;
y:=WhereY-1;
gotoXY(x,y);
writeln(' Ћђ…‹');
end;
if otv=1 then
begin
x:=WhereX;
y:=WhereY-1;
gotoXY(x,y);
writeln(' ђ…˜ЉЂ');
end;
money: begin
writeln;
Writeln(' ” ⥡п ',sum,' агЎ«Ґ©. ‘Є®«мЄ® бв ўЁим?');
writeln;
readln(stavka);
if stavka>sum then
begin
writeln;
writeln(' ’л зҐ бзЁв вм зв® «Ё ­Ґ 㬥Ґим, г вҐЎп ­Ґв в ЄЁе ¤Ґ­ҐЈ!!!');
readln;
goto money;
end;
rez:=random(2);
if rez=1 then
begin
writeln;
writeln(' ‚лЇ «  ђ…˜ЉЂ');
end;
if rez=0 then
begin
writeln;
writeln(' ‚лЇ « Ћђ…‹');
end;
if rez=otv then
begin
writeln;
writeln(' ”г и а ');
sum:=sum+stavka;
writeln;
writeln(' ‘зҐв: ',sum);
writeln('-----------------------------------------------------------------');
end
else begin
writeln;
writeln( ' ”г б в ЄЁ¬ ЁЈа вм ¤ ¦Ґ ­Ґ Ё­вҐаҐб­®');
sum:=sum-stavka;
writeln;
writeln(' ‘зҐв: ',sum);
writeln('------------------------------------------------------------------');
end;
end;
end;
if sum<=0 then
begin
writeln;
writeln(' ” вҐЎп § Є®­зЁ«Ёбм Ў ЎЄЁ. Љ Є в®«мЄ® Ї®пўпвбп, § е®¤Ё');
readln;
end;
exit: end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


CORS@R, сомневаюсь, что кто-то возьмется к программе, в которой есть goto... убери эти переходы, тогда и переводить можно будет... или переводи сам..


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Рамиль

Репутация: -  0  +


Вот в этом та и вся трудность: я не знаю как заменить goto.
А че в Си нет аналога goto?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






CORS@R, чистый С или С++ ?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


И еще я думаю все было-бы намного проще, если бы ты просто дал свое задание ... Может и в паскаль - программе что - нибудь поправим ;)


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Рамиль

Репутация: -  0  +


Эта что-то типа курсовой. Задание такое: написать игру типа орел или решка но сделать игру на деньги, данные должны считытваться из файла и потом записываться в этот же файл, т.е в этом файле должны хранится данные об игроках, а именно имя и сколько денег. Работа с файлом у меня есть на Си(не мое), а тело игры написано на Pascale

Сообщение отредактировано: CORS@R -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Ну, что-то вот такое (это работает, но где-то проявляются небольшие глюки с выводом на экран):
#include <conio.h>
#include <stdlib.h>

int main() {

int otv, stavka;

textbackground(BLUE); textcolor(LIGHTGREEN);
clrscr();

randomize();
int sum = 100;

cprintf("\n\r ОРЕЛ ИЛИ РЕШКА \n\r");

while(sum > 0) {

if(sum >= 1000) {
cprintf("\n\r Мое казино обанкротилось, так что вали-ка ты отсюда пока я тебя не убил\n\r");
getch();
break;
}

do {
cprintf("\n\r 0-ОРЕЛ 1-РЕШКА 2-ВЫХОД ИЗ ИГРЫ\n\r");
cscanf("%d", &otv);
if(otv > 2) {
cprintf("\n\r%s\n\r а %d я что-то не вижу...\n\r",
" Ты че слепой? Написано же 0-ОРЕЛ 1-РЕШКА 2-ВЫХОД ИЗ ИГРЫ", otv);
}
} while( otv < 0 || otv > 2);

if(otv < 2) {

gotoxy(wherex(), wherey() - 1);
if(!otv) cprintf((!otv)?" ОРЕЛ":" РЕШКА");

int b_stop = 1;
do {
cprintf("\n\rУ тебя %d рублей. Сколько ставишь?\n\r", sum);
cscanf("%d", &stavka);

if(stavka > sum) {
cprintf("\n\r Ты че считать что ли не умеешь, у тебя нет таких денег!!!\n\r");
getch();
b_stop = 0;
continue;
}

int rez = random(2);
cprintf("\n\r%s\n\r", ((rez) ? " Выпала РЕШКА": " Выпал ОРЕЛ") );

if(rez == otv) {
sum += stavka;
cprintf("\n\r Фу шара\n\r");
}
else {
sum -= stavka;
cprintf("\n\r Фу с таким играть даже не интересно\n\r");
}
cprintf(" Счет: %d\n\r%s", sum,
"-----------------------------------------------------------------");
} while(!b_stop);
}
else break;

}

if(sum <= 0) {
cprintf("\n\r%s\n\r",
" У тебя закончились бабки. Как только появятся, заходи");
getch();
}
return 0;
}
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Рамиль

Репутация: -  0  +


В принципе работает. Но у пользователя спрашивается только 1 раз Орел или решка, а потом - только сколько он будет ставить. И еще нет выхода: когда денег на счету 0 и при вводе любой суммы пишет что нет таких денег и все. Все равно спасибо.

PS Все таки я попытаюсь разобраться с файлами в Паскале. Хорошо что это задание на след. семестр

Сообщение отредактировано: CORS@R -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


на будущее - забудь про GOTO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской
Реальное имя: Рамиль

Репутация: -  0  +


Объясните мне почему вам не нравится GOTO. blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Ищи по форуму, на эту тему уже были обсуждения...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 8:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name