Орел или решка |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Орел или решка |
volvo |
Сообщение
#21
|
Гость |
Вот как ты думаешь, я сейчас все брошу и буду посимвольно сравнивать эти тексты?
Если тебя заинтересовал вопрос - то покажи то, что ты изменил в программе, а не пость килобайты кода... |
CORS@R |
Сообщение
#22
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Рамиль Репутация: 0 |
Извеняюсь, не подумал. Изменения пометил так {<--}
|
volvo |
Сообщение
#23
|
Гость |
Не знаю, почему это у тебя не работает, мне просто жалко времени - разбираться с таким кодом, как у тебя... Я тебе показал (при переводе на C), что можно вообще обойтись без меток, программа от этого только выиграет.
Ты же продолжаешь добавлять все новые и новые метки и все больше и больше запутываешь программу. То, что у тебя сейчас занимает 277 строк, можно уложить в 50-60, и обойтись без секции Label вообще... Так что выбирай, или ты начинаешь писать на Паскале, или я в эту тему больше не захожу. Так же как и в другие, где приводятся программы со сплошными переходами по GoTo... |
CORS@R |
Сообщение
#24
|
Новичок Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Рамиль Репутация: 0 |
Ну не 50 - 60 строк, но от меток избавился. Так пойдет?
Код uses crt; const N=100; type Dengi=record name:string[9]; babki:word; end; var b:boolean; imya:string[15]; x,y,rez,flag:byte; tmp:word; mas: array[1..N] of dengi; otv,otvet:char; i,j,sum,stavka,count:integer; f:text; procedure cursor; begin x:=WhereX; y:=WhereY-1; gotoXY(x,y); end; PROCEDURE view; begin if count>0 then begin writeln; writeln(' -------------------------------------------'); writeln(' | ?ѓђЋЉ':10, ' | „ҐмЈЁ':10,' |'); writeln(' |-------------------------------------------|'); end; if count>0 then begin i:=1; while i<=count do begin writeln(' | | |'); writeln(' | ',mas[i].name:10,' | ', mas[i].babki:10,' |'); writeln(' | | |'); inc(i); end; writeln(' -------------------------------------------'); end else writeln(' ‘ЇЁб®Є Їгбв'); end; procedure save; begin b := False; for i := 1 to count do begin if imya = mas[i].name then begin inc(mas[i].babki, sum); rewrite(f); for j := 1 to count do begin writeln(f, mas[j].name); writeln(f, mas[j].babki); end; close(f); WRITELN; writeln('Џа®©¤Ё ў Є ббг, в ¬ ⥡Ґ ўл¤ ¤гв вў®Ё зҐб⮧ а Ў®в лҐ ¤ҐмЈЁ'); WRITELN; readln; b := true; break; end; end; if not b then if count<N then begin inc(count); mas[count].name:=imya; mas[count].babki:=sum; append(f); writeln(f,mas[count].name); writeln(f,mas[count].babki); close(f); writeln; writeln('Џа®©¤Ё ў Є ббг, в ¬ ⥡Ґ ўл¤ ¤гв вў®Ё зҐб⮧ а Ў®в лҐ ¤ҐмЈЁ '); writeln; readln; end else writeln('Нет места '); end; procedure start; begin writeln; writeln(' -------- --------- ---------- ------------------ ----------------- '); writeln('| 0-Ћђ…‹ | | 1-ђ…ЉЂ | | 2-?ѓђЋЉ? | | 3-‡ЂЃђЂ’њ „…Ќњѓ? | | 4-‚›•Ћ„ ?‡ ?ѓђ› | '); writeln(' -------- --------- ---------- ------------------ ----------------- '); writeln; otv:=readkey; end; procedure money; begin writeln; Writeln(' “ ⥡п ',sum,' агЎ«Ґ©. ‘Є®«мЄ® бв ўЁим?'); writeln; readln(stavka); if stavka>sum then begin writeln; writeln(' ’л зҐ бзЁв вм зв® «Ё Ґ 㬥Ґим, г вҐЎп Ґв в ЄЁе ¤ҐҐЈ!!!'); writeln('-----------------------------------------------------------------'); readln; money; end; end; procedure start1; begin count:=0; assign(f,'123.txt'); reset(f); while (not eof(f)) do begin inc(count); readln(f,mas[count].name); readln(f,mas[count].babki); end; close(f); flag:=0; writeln; writeln(' ------------- -------- --------------- '); writeln(' |1-ЌЋ‚›‰ ?ѓђЋЉ| |2-?ѓђЋЉ?| |3-‚›•Ћ„ ?‡ ?ѓђ›|'); writeln(' ------------- -------- --------------- '); writeln; otvet:=readkey; if otvet='1' then begin writeln; writeln(' Љ Є вҐЎп §®ўгв ?я'); writeln; readln(imya); end; if otvet='2' then begin view; start1; end; if otvet='3' then halt; randomize; sum:=100; writeln; writeln( ' Ћђ…‹ ?‹? ђ…ЉЂ '); while sum>0 do begin if sum>=1000 then begin writeln; writeln(' Њ®Ґ Є §Ё® ®Ў Єа®вЁ«®бм, в Є зв® Ё¤Ё Є вл ®вбо¤ Ї®Є п вҐЎп Ґ гЎЁ«'); writeln; readln; save; end; start; if otv>'4' then begin writeln; writeln(' “ ⥡п ᮢᥬ Ї«®е® б® §аҐЁҐ¬ ? Ќ ЇЁб ® ¦Ґ: '); writeln; writeln(' -------- --------- ---------- ------------------ ----------------- '); writeln(' | 0-Ћђ…‹ | | 1-ђ…ЉЂ | | 2-?ѓђЋЉ? | | 3-‡ЂЃђЂ’њ „…Ќњѓ? | | 4-‚›•Ћ„ ?‡ ?ѓђ› | '); writeln(' -------- --------- ---------- ------------------ ----------------- '); writeln; writeln( ' Ђ ' ,otv,' п зв®-в® Ґ ўЁ¦г'); writeln('--------------------------------------------------------------------------------'); start; end; if otv='2' then begin view; start; end; if otv='3' then begin if flag=1 then begin save; start1; end else begin writeln; writeln(' •®зҐим ¤ҐмЈЁ § Ўа вм? ЌҐ в Є Ўлбва®. —в®Ўл ¤ҐмЈЁ § Ўа вм Ёе 㦮 § а Ў®в вм!'); writeln; readln; start; end; end; if otv='4' then halt; if otv='0' then begin cursor; writeln(' Ћђ…‹'); end; if otv='1' then begin cursor; writeln(' ђ…ЉЂ'); end; money; rez:=random(2); if rez=1 then begin writeln; writeln(' ‚лЇ « ђ…ЉЂ'); end; if rez=0 then begin writeln; writeln(' ‚лЇ « Ћђ…‹'); end; tmp:=ord(otv)-48; if rez=tmp then begin writeln; writeln(' ”г и а '); inc(sum,stavka); writeln; writeln(' ‘зҐв: ',sum); flag:=1; writeln('-----------------------------------------------------------------'); end else begin writeln; writeln( ' ”г б в ЄЁ¬ ЁЈа вм ¤ ¦Ґ Ґ ЁвҐаҐб®'); dec(sum,stavka); writeln; writeln(' ‘зҐв: ',sum); flag:=1; writeln('------------------------------------------------------------------'); end; end; if sum<=0 then begin writeln; writeln(' “ вҐЎп § Є®зЁ«Ёбм Ў ЎЄЁ. Љ Є в®«мЄ® Ї®пўпвбп, § 室Ё'); readln; halt; end; end; begin textbackground(1); textcolor(10); clrscr; start1; end. |
Текстовая версия | 22.11.2024 20:35 |