860lacov Opublikowano 13 Stycznia 2008 Zgłoś Opublikowano 13 Stycznia 2008 Witam! Od jakiegoś czasu zmuszają nas na uczelni do nauki programowania :) W każdym razie mam niedługo koło i muszę się nauczyć wykorzystywania rekordów. Program, który dla testu napisałem ma za zadanie jedynie wczytanie danych do rekordu, użycie jednej z podanych danych w funkcji i wyświetlenie wyniku funkcji program wygląda tak : program struktura_rekordow; {$APPTYPE CONSOLE} uses SysUtils; type wielobok = record n:integer ; x,y:real ; r:real ; a:real ; end; var w:wielobok; function srednica(w:wielobok):real; begin srednica:=2*w.r; writeln(w.n,w.x,w.y,w.r,w.a:0:0); end; begin { TODO -oUser -cConsole Main : Insert code here } writeln('Podaj parametry wieloboku (n,x,y,r,a): '); readln(w.n,w.x,w.y,w.r,w.a); writeln('Srednica wieloboku = ', srednica(w.r); readln; end. A błąd tak : Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
KrOOliK89 Opublikowano 13 Stycznia 2008 Zgłoś Opublikowano 13 Stycznia 2008 (edytowane) Czytaj błędy.... function srednica(w:wielobok):real; writeln('Srednica wieloboku = ', srednica(w.r);" Napisałeś tak funkcję średnica, że musisz przekazać jej CAŁY rekord, a nie jedną zmienną, czyli: srednica(w);"Ale nie mam kompilatora przed sobą, więc mogę się mylić. Jak ja dawno delphiego nie widziałem na oczy :( Edytowane 13 Stycznia 2008 przez KrOOliK89 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 14 Stycznia 2008 Zgłoś Opublikowano 14 Stycznia 2008 a bład znaczy dokładnie tyle, że nikompatybilne typy... wielobok i real. Stąd prosty wniosek, że w jednym miejscu oczekujesz typu wielobok a podajesz real. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...