yoda17 Opublikowano 15 Czerwca 2005 Zgłoś Opublikowano 15 Czerwca 2005 hej wie ktos moze o co chodzi w tym programie chodzi mi o linijkę 11,12,13 od góry Program napisany w pascalu program Numer; Uses Crt; var ciag: string; var liczba,i: integer; var a: char; begin ClrScr; Repeat Writeln('Podaj numer telefonu zatwierdzony ENTERem'); Readln(ciag); liczba:=100*(ord(ciag[1])-48); liczba:= liczba+10*(ord(ciag[2])-48); liczba:= liczba+(ord(ciag[3])-48); ClrScr; if (liczba=277) then Writeln ('Numer znajduje sie w sieci TPsa') Else if (liczba=640) then Writeln ('Numer znajduje sie w sieci Dialog') Else Writeln ('Podales zly numer'); Delay(20000); Writeln; Writeln ('S zakancza program, alby kontynuowac kliknij na inny znak'); Readln(a); until (a='s'); end. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 15 Czerwca 2005 Zgłoś Opublikowano 15 Czerwca 2005 powiem ci tylko tyle wklepany numer telefonu nie jest dla komputera cyfra tylko ciagiem znakow czyli string '1234' jest czyms zupelnie innym niz integer 1234 kluczowa sprawa jest tutaj ord(ciag[x]) - 48 to wyciaga ze stringa konkretna cyfre w tym przypadku ('1234') ciag[1] = '1' {tutaj jeden jako znak}ord ( ciag[1] ) - 48 {a tutaj jako liczba} nacisnij alt i wstukaj sobie z klawiatury numerycznej numerki ALT+048 az do ALT+057 :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yoda17 Opublikowano 15 Czerwca 2005 Zgłoś Opublikowano 15 Czerwca 2005 nie jaze ale tam jest jakies *10 i cos tam -48 mozna troche jasniej? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
K3310pH Opublikowano 15 Czerwca 2005 Zgłoś Opublikowano 15 Czerwca 2005 6401234 | | | | | |*1 | |*10 | *100 prefiks = 6*100 + 4*10 + 0 = 640 = dialog Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 21 Czerwca 2005 Zgłoś Opublikowano 21 Czerwca 2005 bez sensu ten program.. zamieniać znaki n aliczby żeby porównać.. jakby nie można porównać 3 znaków od razu... :) funkcja ord() zamienia kod litery na jej kod ascii, przykłądowo dla znaku 6 zwróci ona wartość 54 (taki jest kod ascii znaku 6).. Dlatego odejmujemy od tej liczby 48 (kod ascii 0) i otrzymujemy liczbę 6, która następnie wymnozona zostaje przez mnożnik *100 w tynm przypadku... dalej nie rozumie? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...