ABA


"יש לי בעיה במחשבון שבניתי בפסקל....."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6930 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6930
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   19:19   11.09.03   
אל הפורום  
  יש לי בעיה במחשבון שבניתי בפסקל.....  
 
   לפני שהוא כותב את התוצאה התוכנית נסגרת....
מה עושים??
ד"א כתבתי בסוף התוכנית
readln;
....
תודה!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מישהו? inno3D 11.09.03 20:05 1
  ..... cuteface 11.09.03 20:35 2
     הנה inno3D 11.09.03 21:27 3
         קודם כל הערה חשובה szargel 11.09.03 22:18 4
             מממ איפה אני מוצא את ההסבר? inno3D 11.09.03 22:21 6
                 מכתב szargel 12.09.03 00:25 8
                     זה לא עובד.... :\ inno3D 12.09.03 07:58 10
                         עכשיו הבנתי הכל. szargel 12.09.03 09:36 13
                             בטעות לחצתי אנטר.. inno3D 12.09.03 09:51 14
                                 ממממ הגדרת הכל כמו שאמרתי לך? szargel 12.09.03 10:11 15
                                     הנה inno3D 12.09.03 12:46 16
                                         פשוט מאוד szargel 12.09.03 16:02 18
         ניחוש קטן, dryice 11.09.03 22:18 5
             זה כותב שאין לי את המשתנה inno3D 11.09.03 22:25 7
                 לדעתי זה בגלל שלא שמת בהתחלה szargel 12.09.03 00:26 9
                     ממממ מה זה? inno3D 12.09.03 07:58 11
                         מה זאת אומרת מה זה? szargel 12.09.03 09:36 12
                             ..... cuteface 12.09.03 13:44 17

       
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   20:05   11.09.03   
אל הפורום  
  1. מישהו?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
cuteface

   20:35   11.09.03   
אל הפורום  
  2. .....  
בתגובה להודעה מספר 0
 
   תעלה לכאן את התוכנה כקובץ txt
ונראה מה עשית לא טוב

איאפשר סתם ככה להגיד לך.......


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   21:27   11.09.03   
אל הפורום  
  3. הנה  
בתגובה להודעה מספר 2
 
  
program calc;
var
num1,num2, action :integer;
label 1;
begin
1: writeln('write the first number');
readln(num1);
writeln('write the second number');
readln(num2);
writeln('pick the action you want to do:');
writeln('1-Addition 2-Subtraction 3-Multiplication 4-Division');
read(action);
if action=1 then writeln(num1,'+',num2,'=',num1+num2);
if action=2 then writeln(num1,'-',num2,'=',num1-num2);
if action=3 then writeln(num1,'*',num2,'=',num1*num2);
if action=4 then writeln(num1,'/',num2,'=',num1/num2);
if action>4 then goto 1;
readln;
end.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   22:18   11.09.03   
אל הפורום  
  4. קודם כל הערה חשובה  
בתגובה להודעה מספר 3
 
   אל תשתמש בgoto! (יש הסבר של dryice למה, אם אתה מעוניין)
תשתמש בrepeat/until או בwhile.
לגבי השאלה שלך - תשנה את הread(actaion); לreadln.
אם אתה רוצה לקלוט רק תו אחד, תשתמש בReadkey ותגדיר את Action כchar


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   22:21   11.09.03   
אל הפורום  
  6. מממ איפה אני מוצא את ההסבר?  
בתגובה להודעה מספר 4
 
   איפה לכתוב readkey?
ותודה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   00:25   12.09.03   
אל הפורום  
  8. מכתב  
בתגובה להודעה מספר 6
 
   במקום

readln (action);

אתה כותב

action:=readkey;

רק תזכור להגדיר אותו כchar ולא כinteger


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   07:58   12.09.03   
אל הפורום  
  10. זה לא עובד.... :\  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 12.09.03 בשעה 08:37 בברכה, inno3D
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   09:36   12.09.03   
אל הפורום  
  13. עכשיו הבנתי הכל.  
בתגובה להודעה מספר 10
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   09:51   12.09.03   
אל הפורום  
  14. בטעות לחצתי אנטר..  
בתגובה להודעה מספר 13
 
   ממ זה כותב
type mismatch...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   10:11   12.09.03   
אל הפורום  
  15. ממממ הגדרת הכל כמו שאמרתי לך?  
בתגובה להודעה מספר 14
 
   תרשום כאן את הקוד ה"חדש".


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   12:46   12.09.03   
אל הפורום  
  16. הנה  
בתגובה להודעה מספר 15
 
   לא הבנתי איך להשתמש ב repeat... (קראתי ממדריכים....), אז השארתי את ה GOTO...
וזה מה שאמרת לא?

program calc;
uses crt;
var
num1,num2 :integer; action :char;
label 1;
begin
textcolor(yellow);
1: writeln('write the first number');
readln(num1);
writeln('write the second number');
readln(num2);
writeln('pick the action you want to do:');
writeln('1-Addition 2-Subtraction 3-Multiplication 4-Division');
action:=readkey;
if action=1 then writeln(num1,'+',num2,'=',num1+num2);
if action=2 then writeln(num1,'-',num2,'=',num1-num2);
if action=3 then writeln(num1,'*',num2,'=',num1*num2);
if action=4 then writeln(num1,'/',num2,'=',num1/num2:1:2);
if action>4 then goto 1;
readln;
end.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   16:02   12.09.03   
אל הפורום  
  18. פשוט מאוד  
בתגובה להודעה מספר 16
 
   ערכתי לאחרונה בתאריך 12.09.03 בשעה 16:06 בברכה, szargel
 
מכיוון שהמשתנה שלך הוא char ולא integer, אתה צריך לשים את המספרים כטקסט כלומר בין ' ל '.
כמו כן אתה לא יכול להשתמש בגדול מ4. (כי זה לא מספר)
הכי טוב יהיה לבנות את זה עם case, זה יראה ככה:

case action of
'1': Writeln(num1+num2);
'2': Writeln(num1-num2);
'3': Writeln(num1*num2);
'4': Writeln(num1/num2);
else goto 1;
end;

ושוב - אני לא ממליץ להשתמש בgoto כי אם בwhile או בrepeat/until (ויש עוד כמה אפשרויות)



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   22:18   11.09.03   
אל הפורום  
  5. ניחוש קטן,  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 11.09.03 בשעה 22:19 בברכה, dryice
 
נסה להוסיף בסוף:

while keypressed do readkey;
readln;


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   22:25   11.09.03   
אל הפורום  
  7. זה כותב שאין לי את המשתנה  
בתגובה להודעה מספר 5
 
   keypressed....


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   00:26   12.09.03   
אל הפורום  
  9. לדעתי זה בגלל שלא שמת בהתחלה  
בתגובה להודעה מספר 7
 
  

uses crt;


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות
   07:58   12.09.03   
אל הפורום  
  11. ממממ מה זה?  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
szargel

   09:36   12.09.03   
אל הפורום  
  12. מה זאת אומרת מה זה?  
בתגובה להודעה מספר 11
 
   זאת פקודה בסיסית מאוד בפסקל.
כותבים אותה בין הProgram ל VAR (בתוכנית שלך)
תקרא את העזרה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
cuteface

   13:44   12.09.03   
אל הפורום  
  17. .....  
בתגובה להודעה מספר 12
 
   טוב כמה הצעות,

קודם כל אם אתה ממש מתעקש לעשות את זה בדרך הזו,

תעשה פרוצדורה שהיא בעצם קולטת את המספרים ואז קופצת לפרוצדורה אחרת שמקבלת את action

אבל אני אישית לעשות את זה בצורה הכי נורמלית עם case

אני לא ממש מכיר את goto לכן אני לא יכול לעזור לך
.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net