Pascal Bilenler Bakabilir mi ? - R10.net
  • 12-10-2021, 21:38:54
    #1
    Merhaba,
    Alttaki seçim için verilen case of 'u if ile değiştirmek istiyorum ama olmuyor yardım edebilecek var mı ? Maalesef hiçbir kaynakda bulamadım if ile. Dediğim kısımı kırmızı ile gösterdim.

    USES CRT;
    label dongu;
    VAR
    sayi1,sayi2,toplama,carpma:integer;
    secim:char;
    begin
    dongu:
    clrscr;
    writeln('--------------- MENU ---------------');
    writeln('[+] --> GIRILEN SAYILARIN TOPLAMI');
    writeln('[x] --> GIRILEN SAYILARIN CARPIMI');
    writeln('------------------------------------');
    write('Lutfen Birinci Sayiyi Giriniz : ');readln(sayi1);
    write('Lutfen Ikinci Sayiyi Giriniz  : ');readln(sayi2);
    write('Lutfen Bir Secim Yapiniz      : '); readln(secim);
    case secim of
    '+' :
      begin
    toplama :=sayi1+sayi2 ;
    writeln('Iki Sayini Toplami   : ',toplama);
    readln; goto dongu;
      end;
    'x','X','*' :
      begin
        carpma :=sayi1*sayi2;
    writeln('Iki Sayini Carpimi   : ',carpma );
    readln; goto dongu;
      end;
    ELSE BEGIN
     writeln('YANLIS TUSLAMA. PROGRAM KAPANIYOR...'); delay(2000); exit;
      END;
    
    end;///case sonu
    
      READLN;
    end.
    case secim of
    '+' :
    begin
    toplama :=sayi1+sayi2 ;
    writeln('Iki Sayini Toplami : ',toplama);
    readln; goto dongu;
    end;
    'x','X','*' :
    begin
    carpma :=sayi1*sayi2;
    writeln('Iki Sayini Carpimi : ',carpma );
    readln; goto dongu;
    end;
    ELSE BEGIN
    writeln('YANLIS TUSLAMA. PROGRAM KAPANIYOR...'); delay(2000); exit;
    END;


    end;///case sonu

    Bu seçimi if ile yapmam lazım.
  • 12-10-2021, 21:56:19
    #2
    programlama dillerinin hepsinde aynı hocam yapı
    sadece syntax dediğimiz yazımı pascal dili kurallarına göre yazacaksınız
    ...
    case secim of ---> bu kısmı silin

    if (secim = '+') then {
    toplama :=sayi1+sayi2 ;
    writeln('Iki Sayini Toplami : ',toplama);
    readln; goto dongu;
    }
    else if ((secim = 'x') or (secim = 'X') or (secim ='*') then {
    carpma :=sayi1*sayi2;
    writeln('Iki Sayini Carpimi : ',carpma );
    readln; goto dongu;
    end;
    ELSE BEGIN
    writeln('YANLIS TUSLAMA. PROGRAM KAPANIYOR...'); delay(2000); exit;
    }
  • 12-10-2021, 22:22:15
    #3
    BaRBaRYaN adlı üyeden alıntı: mesajı görüntüle
    programlama dillerinin hepsinde aynı hocam yapı
    sadece syntax dediğimiz yazımı pascal dili kurallarına göre yazacaksınız
    ...
    case secim of ---> bu kısmı silin

    if (secim = '+') then {
    toplama :=sayi1+sayi2 ;
    writeln('Iki Sayini Toplami : ',toplama);
    readln; goto dongu;
    }
    else if ((secim = 'x') or (secim = 'X') or (secim ='*') then {
    carpma :=sayi1*sayi2;
    writeln('Iki Sayini Carpimi : ',carpma );
    readln; goto dongu;
    end;
    ELSE BEGIN
    writeln('YANLIS TUSLAMA. PROGRAM KAPANIYOR...'); delay(2000); exit;
    }

    Dediğiniz gibi yaptığım "Lutfen Bir Secim Yapiniz " dediği yerde yazıyorum hemen programdan atıyor.
  • 12-10-2021, 22:54:55
    #4
    LETRX adlı üyeden alıntı: mesajı görüntüle
    Dediğiniz gibi yaptığım "Lutfen Bir Secim Yapiniz " dediği yerde yazıyorum hemen programdan atıyor.
    USES CRT;
    label dongu;
    VAR
    sayi1,sayi2,toplama,carpma:integer;
    secim:char;
    begin
    dongu:
    clrscr;
    writeln('--------------- MENU ---------------');
    writeln('[+] --> GIRILEN SAYILARIN TOPLAMI');
    writeln('[x] --> GIRILEN SAYILARIN CARPIMI');
    writeln('------------------------------------');
    write('Lutfen Birinci Sayiyi Giriniz : ');readln(sayi1);
    write('Lutfen Ikinci Sayiyi Giriniz : ');readln(sayi2);
    write('Lutfen Bir Secim Yapiniz : '); readln(secim);
    
    if (secim = '+') then
    begin
    toplama :=sayi1+sayi2 ;
    writeln('Iki Sayini Toplami : ',toplama);
    readln;
    goto dongu;
    end
    else if ((secim = 'x') OR (secim = 'X') OR (secim ='*')) then
    begin
    carpma :=sayi1*sayi2;
    writeln('Iki Sayini Carpimi : ',carpma );
    readln;
    goto dongu;
    end
    ELSE BEGIN
    writeln('YANLIS TUSLAMA. PROGRAM KAPANIYOR...'); delay(2000); exit;
    END;
    
    READLN;
    end.
  • 12-10-2021, 23:05:37
    #5
    BaRBaRYaN adlı üyeden alıntı: mesajı görüntüle
    USES CRT;
    label dongu;
    VAR
    sayi1,sayi2,toplama,carpma:integer;
    secim:char;
    begin
    dongu:
    clrscr;
    writeln('--------------- MENU ---------------');
    writeln('[+] --> GIRILEN SAYILARIN TOPLAMI');
    writeln('[x] --> GIRILEN SAYILARIN CARPIMI');
    writeln('------------------------------------');
    write('Lutfen Birinci Sayiyi Giriniz : ');readln(sayi1);
    write('Lutfen Ikinci Sayiyi Giriniz : ');readln(sayi2);
    write('Lutfen Bir Secim Yapiniz : '); readln(secim);
    
    if (secim = '+') then
    begin
    toplama :=sayi1+sayi2 ;
    writeln('Iki Sayini Toplami : ',toplama);
    readln;
    goto dongu;
    end
    else if ((secim = 'x') OR (secim = 'X') OR (secim ='*')) then
    begin
    carpma :=sayi1*sayi2;
    writeln('Iki Sayini Carpimi : ',carpma );
    readln;
    goto dongu;
    end
    ELSE BEGIN
    writeln('YANLIS TUSLAMA. PROGRAM KAPANIYOR...'); delay(2000); exit;
    END;
    
    READLN;
    end.
    Teşekkürler hocam çalıştı.
  • 13-10-2021, 19:19:08
    #6
    LETRX adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam çalıştı.
    .
    bu sefer test edip paylaştım
    en son 26 yıl önce kullanmıştım