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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Орел или решка
сообщение
Сообщение #21


Гость






Вот как ты думаешь, я сейчас все брошу и буду посимвольно сравнивать эти тексты?

Если тебя заинтересовал вопрос - то покажи то, что ты изменил в программе, а не пость килобайты кода...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Новичок
*

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

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


Извеняюсь, не подумал. Изменения пометил так {<--}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Гость






Не знаю, почему это у тебя не работает, мне просто жалко времени - разбираться с таким кодом, как у тебя... Я тебе показал (при переводе на C), что можно вообще обойтись без меток, программа от этого только выиграет.

Ты же продолжаешь добавлять все новые и новые метки и все больше и больше запутываешь программу. То, что у тебя сейчас занимает 277 строк, можно уложить в 50-60, и обойтись без секции Label вообще... Так что выбирай, или ты начинаешь писать на Паскале, или я в эту тему больше не захожу. Так же как и в другие, где приводятся программы со сплошными переходами по GoTo...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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