Задачка на года...

Тема в разделе "Delphi - FAQ", создана пользователем tstf, 27 фев 2007.

Статус темы:
Закрыта.
  1. tstf

    tstf Гость

    Задача поставлена так
    Как вариант можно написать всё с кучей проверок на числа, но это не вариант. А как можно сделать так, чтобы считывалоаь последняя цифра числа.
     
  2. tstf

    tstf Гость

    Всё, разобрался... вот сам код
    Код (Text):
    unit lab_23_3;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    a,a1:integer;
    b,c:string;
    begin
    if (Edit1.Text <> '') then
    begin
    a:=StrToint(Edit1.Text);
    b:=inttostr(a);
    b:=b[length(b)];
    a1:=strtoint(b);
    case a1 of
    1:c:='год';
    2,3,4:c:='года';
    5,6,7,8,9,0:c:='лет';
    end;
    if (a=11) or (a=12) or (a=13) then
    c:='лет';
    if a>110 then
    Edit1.Text:='Так много не живут!'
    else
    if a<0 then
    Edit1.Text:='ДА ты ещё не родился!'
    else
    Edit1.Text:='Тебе '+inttostr(a)+' '+c;
    end
    else
    ShowMessage('Введи свои года!!');
    end;
    {
    // возможен поиск последней цифры через остаток
    var
    a:integer;
    b,c:extended;
    begin
    a:=strtoint(edit1.text);
    b:=a/100;
    c:=frac(b);
    c:=c*100                 ;
    edit1.text:=FloatToStr(c);
    end;}


    end.
     
  3. maloy*508

    maloy*508 Гость

    похожая задача только вводишь секунды от 0.00 до 0.99 выдает сообщение сколько введено, правда на Паскале

    program bibidon;
    uses crt;
    var a,b,c,cod : integer;
    s,st,st1:string[10];

    begin
    clrscr;
    s:=' sotih';
    writeln('Vvedite 4islo ot 0,00 do 0,99');
    readln(st);
    st1:=copy(st,3,4); {srazy mi s4itivaem to shto vvel }
    val(st1,a,cod); {user i otbrasivaem nol i to4ky(0.) }
    if cod <> 0 then {copy - kopiruet iz st s 3 po 4 simvol}
    begin { val - preobrazyet stroky(st1) v 4islo(a)}
    writeln('Oshibka'); { cod - eto kod oshibki esli preobrazovanie ne ydalos' }
    halt; { esli vse proshlo yspeshno to cod = 0}
    end;
    if a<=10 then begin
    case a of
    0:writeln('nol',s);
    1:writeln('odna sotaia');
    2:writeln('dve',s);
    3:writeln('tri',s);
    4:writeln('4etire',s);
    5:writeln('piat',s);
    6:writeln('shest',s);
    7:writeln('sem',s);
    8:writeln('vosem',s);
    9:writeln('deviat',s);
    10:writeln('desiat',s);
    end;end;
    if ( a>10 ) and ( a<20 ) then
    begin
    case a of
    11:writeln('odinadcat',s);
    12:writeln('dvenadcat',s);
    13:writeln('trinadcat',s);
    14:writeln('4etirnadcat',s);
    15:writeln('piatnadcat',s);
    16:writeln('shestnadcat',s);
    17:writeln('semnadcat',s);
    18:writeln('vosemnadcat',s);
    19:writeln('deviatnadcat',s);
    end;
    end;

    if a>20 then
    begin
    b:=a div 10;
    case b of
    2:write('dvadcat ');
    3:write('tridcat ');
    4:write('sorok ');
    5:write('poatdesiat ');
    6:write('shestdesiat ');
    7:write('semdesiat ');
    8:write('vosemdesiat ');
    9:write('devianosto ');
    end;end;
    c:=a mod 10;
    case c of
    0:write('');
    1:write('odna sotaia');
    2:writeln('dve',s);
    3:writeln('tri',s);
    4:writeln('4etire',s);
    5:writeln('piat',s);
    6:writeln('shest',s);
    7:writeln('sem',s);
    8:writeln('vosem',s);
    9:writeln('deviat',s);
    end;
    readkey;
    end.
     
Загрузка...
Похожие Темы - Задачка на года
  1. Hehabr
    Ответов:
    1
    Просмотров:
    482
  2. Gepard26
    Ответов:
    0
    Просмотров:
    1.113
  3. lisica198808
    Ответов:
    0
    Просмотров:
    1.018
  4. student55
    Ответов:
    1
    Просмотров:
    1.711
  5. vbs
    Ответов:
    21
    Просмотров:
    7.503
Статус темы:
Закрыта.

Поделиться этой страницей