Мне нужно чтобы вот эта программа была написана на Си, но с Си у меня проблемы. Помогите пожалуйста
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>0dobeginif sum>=1000thenbegin
writeln;
writeln(' Њ(r)Ґ Є §Ё(r) (r)Ў Єа(r)вЁ«(r)бм, в Є з(r) Ё¤Ё Є вл (r)вбо¤ Ї(r)Є п вҐЎп Ґ гЎЁ«');
writeln;
readln;
goto exit;
end;
start:
writeln;
writeln(' 0-Ћђ…‹ 1-ђ…˜ЉЂ 2-‚›•Ћ„ €‡ €ѓђ›');
writeln;
readln(otv);
if otv>2thenbegin
writeln;
writeln(' ’л зҐ б«ҐЇ(r)(c)? Ќ ЇЁб (r) ¦Ґ 0-Ћђ…‹ 1-ђ…˜ЉЂ 2-‚›•Ћ„ €‡ €ѓђ› ');
writeln;
writeln( ' Ђ ' ,otv,' п з(r)-(r) Ґ ўЁ¦г');
writeln;
goto start;
end;
if otv=2thengoto exit;
if otv=0thenbegin
x:=WhereX;
y:=WhereY-1;
gotoXY(x,y);
writeln(' Ћђ…‹');
end;
if otv=1thenbegin
x:=WhereX;
y:=WhereY-1;
gotoXY(x,y);
writeln(' ђ…˜ЉЂ');
end;
money: begin
writeln;
Writeln(' ” ⥡п ',sum,' агЎ«Ґ(c). ‘Є(r)«мЄ(r) бв ўЁим?');
writeln;
readln(stavka);
if stavka>sum thenbegin
writeln;
writeln(' ’л зҐ бзЁв вм з(r) «Ё Ґ 㬥Ґим, г вҐЎп Ґв в ЄЁе ¤ҐҐЈ!!!');
readln;
goto money;
end;
rez:=random(2);
if rez=1thenbegin
writeln;
writeln(' ‚лЇ « ђ…˜ЉЂ');
end;
if rez=0thenbegin
writeln;
writeln(' ‚лЇ « Ћђ…‹');
end;
if rez=otv thenbegin
writeln;
writeln(' ”г и а ');
sum:=sum+stavka;
writeln;
writeln(' ‘зҐв: ',sum);
writeln('-----------------------------------------------------------------');
endelsebegin
writeln;
writeln( ' ”г б в ЄЁ¬ ЁЈа вм ¤ ¦Ґ Ґ ЁвҐаҐб(r)');
sum:=sum-stavka;
writeln;
writeln(' ‘зҐв: ',sum);
writeln('------------------------------------------------------------------');
end;
end;
end;
if sum<=0thenbegin
writeln;
writeln(' ” вҐЎп § Є(r)зЁ«Ёбм Ў ЎЄЁ. Љ Є (r)«мЄ(r) Ї(r)пўпвбп, § е(r)¤Ё');
readln;
end;
exit: end.
Altair
3.02.2006 19:40
CORS@R, сомневаюсь, что кто-то возьмется к программе, в которой есть goto... убери эти переходы, тогда и переводить можно будет... или переводи сам..
CORS@R
3.02.2006 19:43
Вот в этом та и вся трудность: я не знаю как заменить goto. А че в Си нет аналога goto?
volvo
3.02.2006 19:47
CORS@R, чистый С или С++ ?
klem4
3.02.2006 19:57
И еще я думаю все было-бы намного проще, если бы ты просто дал свое задание ... Может и в паскаль - программе что - нибудь поправим ;)
CORS@R
3.02.2006 20:19
Эта что-то типа курсовой. Задание такое: написать игру типа орел или решка но сделать игру на деньги, данные должны считытваться из файла и потом записываться в этот же файл, т.е в этом файле должны хранится данные об игроках, а именно имя и сколько денег. Работа с файлом у меня есть на Си(не мое), а тело игры написано на Pascale
volvo
3.02.2006 21:12
Ну, что-то вот такое (это работает, но где-то проявляются небольшие глюки с выводом на экран):
#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);
}
elsebreak;
}
if(sum <= 0) {
cprintf("\n\r%s\n\r",
" У тебя закончились бабки. Как только появятся, заходи");
getch();
}
return0;
}
CORS@R
4.02.2006 0:01
В принципе работает. Но у пользователя спрашивается только 1 раз Орел или решка, а потом - только сколько он будет ставить. И еще нет выхода: когда денег на счету 0 и при вводе любой суммы пишет что нет таких денег и все. Все равно спасибо.
PS Все таки я попытаюсь разобраться с файлами в Паскале. Хорошо что это задание на след. семестр
WTF
6.02.2006 19:43
на будущее - забудь про GOTO
CORS@R
6.02.2006 23:27
Объясните мне почему вам не нравится GOTO.
volvo
7.02.2006 0:09
Ищи по форуму, на эту тему уже были обсуждения...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.