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

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

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

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


Гость






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

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


Новичок
*

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

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


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


Гость






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

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

 



- Текстовая версия 21.07.2025 1:16
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"