ABA


"מה הבעיה בתוכנית הבאה(פסקל)"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #7082 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 7082
miarules

דרג אמינות חבר זה
   21:46   02.10.03   
אל הפורום  
  מה הבעיה בתוכנית הבאה(פסקל)  
 
   program roy;
uses crt;
var
a,c,d:string;
b:integer;
function guest(x,y:string):string;
var
i,z:integer;
begin {func}
readln(x);
for i:=1 to 4 do
begin
readln(y);
if x=y then
guest:='You Are in the list'
else
guest:='You are NOT on the list';
end;
end;
begin
readln(a);
d:=guest(a,c);
writeln(d);
readkey;
end.

איך אני מתקן אותה שתפעל ?
תודה מראש


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  מה הבעיה? szargel 02.10.03 21:54 1
     ניסיתי גם עם קליטה של C miarules 02.10.03 22:00 2
         מצאתי את הבעיה שלך szargel 02.10.03 23:34 3

       
szargel

דרג אמינות חבר זה
   21:54   02.10.03   
אל הפורום  
  1. מה הבעיה?  
בתגובה להודעה מספר 0
 
   היא בכלל לא רצה? (איזה הודעת שגיאה אתה מקבל, ואיפה?)
היא רצה אבל לא נותנת את מה שהיא אמורה לעשות? (מה היא אמורה לעשות?)
יש לך כאן שגיאה מהותית אחת, והיא שהגדרת את C אבל מעולם לא השתמשת בו. למעשה אתה לא יודע מה הוא מכיל, ובכל זאת אתה שולח אותו לפונקציה....


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

דרג אמינות חבר זה
   22:00   02.10.03   
אל הפורום  
  2. ניסיתי גם עם קליטה של C  
בתגובה להודעה מספר 1
 
   אבל הבעייה היא שכאשר אני מריץ אותה אם השם הראשון לא שווה לשני
אלא לשלישי או לרעיבי וכו..
אז הפלט יהיה אתה לא ברשימה...


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

דרג אמינות חבר זה
   23:34   02.10.03   
אל הפורום  
  3. מצאתי את הבעיה שלך  
בתגובה להודעה מספר 2
 
   אתה קולט שם 4 פעמים, ובודק אותו 4 פעמים, אבל אתה מדפיס רק פעם אחת, לכן רק אם האחרון יהיה שווה יודפס "אתה כן ברשימה".
אתה צריך להשתמש כן בwhile, לדוג':

I:=1;
While (X<>Y) or (I<5) do
Begin
guest:="you are in the list"
Readln (Y);
IF X=Y then guest:="you are in the list;
i:=i+1;
end;

יש לנו כאן קביעת עובדה, "אתה לא ברשימה", כל עוד לא "יוכח" אחרת, זה לא ישתנה.
הלולאה תסתיים או כשאתה תהיה ברשימה, או אחרי 4 פעמים


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

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

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



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