stelios99 Δημοσ. 24 Ιανουαρίου 2011 Δημοσ. 24 Ιανουαρίου 2011 Παιδιά έγραψα αυτό το πρόγραμμα: Program geometry; Uses crt; Var choice:integer; Procedure get_data(Var pleura1,pleura2:real); Begin Case choice of 1:Begin Clrscr; writeln; writeln; writeln('Data Entry':45); writeln('==========':45); writeln; writeln; write('Give the side of the square: ':45); readln(pleura1); end; 2:Begin Clrscr; writeln; writeln; writeln('Data Entry':45); writeln('==========':45); writeln; writeln; write('Give the two sides of the rectangle: ':45); readln(pleura1,pleura2); end; 3:Begin Clrscr; writeln; writeln; writeln('Data Entry':45); writeln('==========':45); writeln; writeln; write('Give the two sides of the right triangle: ':45); readln(pleura1,pleura2); end; end; Procedure compute1(a:real; Var perimeter,area:real); Begin perimeter:=4*a; area:=a*a; end; Procedure compute2(a,b:real; Var perimeter,area:real); Var upotinousa:real; Begin Case choice of 2:Begin perimeter:=2*(a+; area:=a*b; end; 3:Begin upotinousa:=SQRT(SQR(a)+SQR(); perimeter:=a+b+upotinousa; area:=(a*B)/2; end; end; Procedure print(shape:string;perimeter,area:real;); Var ch1:char; Begin Clrscr; writeln; writeln; writeln; writeln('Show Results':45); writeln('============':45); writeln; writeln; writeln(shape:45); write('Area: ':45); writeln(area:5:2); write('Perimeter: ':45); writeln(perimeter:5:2); writeln; writeln; writeln; writeln; writeln; writeln; writeln; write('Press the ENTER to return on the catalogue::45); readln(ch1); end; Procedure main_menu; Var ch1:char; a,b,perimeter,area:real; shape:string; Begin Repeat Clrscr; writeln; writeln('Calalogue':45); writeln('=-=-=-=-=':45); writeln('1. Square':45); writeln('2. Rectangle':45); writeln('3. Right Triangle':45); writeln('4. Exit':45); writeln; write('Make one choice from the above catalogue(1-4):':45); readln(choice); While (choice<1) OR (choice>5) Do Begin writeln('Wrong value!':45); writeln; write('Choose again(1-4):':45); readln(choice); end; Case choice of 1: Begin shape:='Square'; get_data(a); compute1(a,perimeter,area); print(shape,perimeter,area); end; 2: Begin shape:='Rectangle'; get_data(a,; compute2(a,b,perimeter,area); print(shape,perimeter,area); end; 3: Begin shape:='Right Triangle'; get_data(a,; compute2(a,b,perimeter,area); print2(shape,perimeter,area); end; 4:exit; Until choice=4; end; Begin main_menu; End. Δυστυχώς δεν δουλεύει,μπορεί να μου βρει κάποιος το λάθος; Επίσης η Procedure exit δεν είναι τελειωμένη, επειδή δεν ξέρω τον κώδικα με τον οποίο θα κλείνει κατευθείαν το πρόγραμμα, ξέρει κανείς τον κώδικα;
Crizzt Δημοσ. 24 Ιανουαρίου 2011 Δημοσ. 24 Ιανουαρίου 2011 Ριξε μια ματια εδω, βαλε κανα CODE γυρω απτο χαμο και τα ξαναλεμε.
stelios99 Δημοσ. 24 Ιανουαρίου 2011 Μέλος Δημοσ. 24 Ιανουαρίου 2011 Τί είναι το code; Για το πρώτο τί να πω....
MitsakosGR Δημοσ. 24 Ιανουαρίου 2011 Δημοσ. 24 Ιανουαρίου 2011 Τί είναι το code; Για το πρώτο τί να πω.... Όταν γράφεις ένα μήνυμα εδώ στο Insomnia, στην γραμμή εργαλείων του κειμενογράφου υπάρχει ένα σύμβολο "<>". Είναι απόσπασμα κώδικα. Όταν το πατήσεις σου βάζει μόνο του [/cοde] μέσα στο οποίο ο κώδικας είναι πολύ πιο ευανάγνωστος!
taazz Δημοσ. 24 Ιανουαρίου 2011 Δημοσ. 24 Ιανουαρίου 2011 1) το Δεν δουλεύει δεν λέει τίποτα. τι περιμένεις να βγάλει και τι βγάζει. 2) από μια γρήγορη ματιά όλα φαίνονται να είναι σωστά αλλά με το smiles που έχει βγάλει και τον κώδικα χωρίς indents μπορεί και να μου ξεφεύγει κάτι. 3) και βασικό ποιον compiler χρησιμοποιείς δίνει την εντύπωση οτι είναι turbo pascal για dos αλλά δεν παίρνω και όρκο.
virxen75 Δημοσ. 25 Ιανουαρίου 2011 Δημοσ. 25 Ιανουαρίου 2011 >τα λάθη σε γενικές γραμμές είναι ===================================== 1) λείπουν όλα τα end; από το τέλος του case 2) λείπει ένα ορισμα από το get_data(a) ( οταν επιλέγεις square ) 3)σε ένα μήνυμα υπάρχει ::45 αντί ':45 ( write('Press the ENTER to return on the catalogue::45); ) 4) σε μια διαδικασία υπάρχει ; αντι ); ( στην print ) 5) λείπει το end; από το repeat 6) print2 αντί print και ο σωστός κώδικας είναι > Program geometry; Uses crt; Var choice:integer; Procedure get_data(Var pleura1,pleura2:real); Begin Case choice of 1:Begin Clrscr; writeln; writeln; writeln('Data Entry':45); writeln('==========':45); writeln; writeln; write('Give the side of the square: ':45); readln(pleura1); end; 2:Begin Clrscr; writeln; writeln; writeln('Data Entry':45); writeln('==========':45); writeln; writeln; write('Give the two sides of the rectangle: ':45); readln(pleura1,pleura2); end; 3:Begin Clrscr; writeln; writeln; writeln('Data Entry':45); writeln('==========':45); writeln; writeln; write('Give the two sides of the right triangle: ':45); readln(pleura1,pleura2); end; end; end; Procedure compute1(a:real; Var perimeter,area:real); Begin perimeter:=4*a; area:=a*a; end; Procedure compute2(a,b:real; Var perimeter,area:real); Var upotinousa:real; Begin Case choice of 2:Begin perimeter:=2*(a+; area:=a*b; end; 3:Begin upotinousa:=SQRT(SQR(a)+SQR(); perimeter:=a+b+upotinousa; area:=(a*B)/2; end; end; end; Procedure print(shape:string;perimeter,area:real); Var ch1:char; Begin Clrscr; writeln; writeln; writeln; writeln('Show Results':45); writeln('============':45); writeln; writeln; writeln(shape:45); write('Area: ':45); writeln(area:5:2); write('Perimeter: ':45); writeln(perimeter:5:2); writeln; writeln; writeln; writeln; writeln; writeln; writeln; write('Press the ENTER to return on the catalogue':45); readln(ch1); end; Procedure main_menu; Var ch1:char; a,b,perimeter,area:real; shape:string; Begin Repeat Clrscr; writeln; writeln('Catalogue':45); writeln('=-=-=-=-=':45); writeln('1. Square':45); writeln('2. Rectangle':45); writeln('3. Right Triangle':45); writeln('4. Exit':45); writeln; write('Make one choice from the above catalogue(1-4):':45); readln(choice); While (choice<1) OR (choice>5) Do Begin writeln('Wrong value!':45); writeln; write('Choose again(1-4):':45); readln(choice); end; Case choice of 1: Begin shape:='Square'; get_data(a,; compute1(a,perimeter,area); print(shape,perimeter,area); end; 2: Begin shape:='Rectangle'; get_data(a,; compute2(a,b,perimeter,area); print(shape,perimeter,area); end; 3: Begin shape:='Right Triangle'; get_data(a,; compute2(a,b,perimeter,area); print(shape,perimeter,area); end; 4:exit; end; Until choice=4; end; Begin main_menu; End.
stelios99 Δημοσ. 25 Ιανουαρίου 2011 Μέλος Δημοσ. 25 Ιανουαρίου 2011 Ευχαριστώ πάρα πολύ virxen75 Μία τελευταία ερώτηση: στον κατάλογο υπάρχει και μία τέταρτη επιλογή, Exit, για κλείσιμο του προγράμματος. Tο μόνο πρόβλημα είναι ότι δεν ξέρω ποιος είναι ο κώδικας στην Pascal για να κλείσει το πρόγραμμα. Μήπως τον γνωρίζεις; Έχω βρει αυτό: http://www.freepascal.org/docs-html/rtl/system/exit.html αλλά δεν ξέρω κατά πόσο είναι αυτό που θέλω, καθώς δεν κατάφερα να το εφαρμόσω στο δικό μου πρόγραμμα.
taazz Δημοσ. 25 Ιανουαρίου 2011 Δημοσ. 25 Ιανουαρίου 2011 To exit χρησιμοποιήτε για την έξοδο απο την τρέχουσα υπορουτήνα για την έξοδο από την εφαρμογή προσπάθησε την Halt.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.