עזרה בפרוצדורת ב-C...

בסדר...

אז כשתתחיל לכתוב תוכניות מעל 30 שורות ותשתמש במשתנים גלובאליים והתוכנית שלך תקרוס ותפלוט שטויות ואתה תשבור על זה את הראש במשך שעות ותבוא הנה בוכה ותשאל "למה זה לא עובד
" ואף אחד לא יענה לך ורק אחרי שתקפיץ את ההודעה שלוש פעמים תקבל הודעה כמו * - תבין שמשתמשים בזה רק אם אין ברירה. טוב... מניסיון לומדים...
 

annefan

New member
חבל שהצלחת

עדיף היה שהיית מגדיר את הפונקציה שתחזיר int.
 
לא לא לא...

זו לא המטרה שלי.. המטרה שלי הייתה שאני בונה בתוך הפרו' חלק מפעולת המשחק שאני בונה.. רציתי שבין היתר אני אדע גם את המיקום של הכדור (משחק עם כדור) וגם שיבצע את קטע התוכנית..
 

annefan

New member
והקשר הוא?

הצעתי לך שתי אפשרויות מימוש, אחת עם פונקציה שמחזירה את הערך שאתה רוצה, ואחת עם פונקציה שמשנה משתנה גלובלי. בחרת באופציה הרעה יותר, בלי שהרווחת כלום.
 

melatonin

New member
די ברור שמדובר בשיעורי בית

וכנראה הוא חייב להשתמש בפונקציית void אחרת באמת אין לי מושג למה העקשנות הזו
 

annefan

New member
הרושם שלי זה שהוא לא מבין

בשאלה המקורית שלו הוא כותב: >>> בתוכנית עצמה לא הוגדר המשתנה XYZ אלה הוא הוגדר רק בפרו' עצמה!! <<< ככה שלמעשה משתנה גלובלי הוא לא פתרון טוב גם מבחינת השאלה שלו.
 
קודם כל אני רק רציתי להתמקד...

על פרו' משום שזה מה שאני לומד בביה"ס.. דבר שני, אני באמת לא תותח בזה..זו בסה"כ השנה הראשונה שלי בC...ככה שאני באמת מתחיל ואני מודה.. אבל תודה לחברי הפורום!
 

melatonin

New member
נו, צדקתי

תראה, אתה אומר בעצמך שאתה רק מתחיל ולא מבין הרבה שים לב שאף אחד לא ייעץ לך לעשות את מה שבחרת לעשות. זאת היתה דוגמה בסגנון של "מה לא לעשות", ובחרת בה כי היא נראית לך נוחה, אבל היא לא נכונה. בדיוק בשביל הצורך שלך יש פונקציות שיודעות להחזיר ערכים. כדאי שתפנים את זה, אחרת תפתח הרגלי תיכנות שגויים, בלשון המעטה.
 

selalerer

New member
../images/Emo32.gif פרוצדורה, פונקציה וסברוטינה..

* פונקציה - מחזירה ערך. באסמבלר:
MOV AX,2 PUSH AX CALL FUNC1 POP AX ;.... ;... FUNC1: ADD [SP+2],2 RET​
* סברוטינה - לא מחזירה ערך. באסמבלר:
MOV AX,2 CALL SUB1 ;.... ;.... SUB1: ADD AX,2 RET​
* פרוצדורה - שם כללי לסברוטינות ופונקציות. זה למיטב ידיעתי. ** אל תצחקו על הAssembly שלי,לא נגעתי בזה זמן רב
.
 
אוקי..שאלה על textcolor

מודה, גם המורה שלי אמר לי שממש ממש לא כדי להשתמש בגלובלי... אוקי, זה היה רק בשביל הכייף
עכשיו אני רוצה לדעת משהו.. שמעתי שישנה אפשרות להחליף צבע לאותיות בתוך הDOS.. הבנתי שמשתמשים בtextcolor אשר משתמש באינקלוד conio.h ניסתי לעשות דבר כזה:
#include<stdio.h> #include<conio.h> void main() { textcolor(6); printf("dfdfdf"); getch(); }​
אבל אני מקבל שגיאה..
נ.ב. אין לי שמץ של מושג הכיצד משתמשים ב-textcolor אז תתחשבו בי
ותודה רבה לכל מי שעזר לי בשאלותי (הדי בוריות למאן האמת..) באשכול זה!! בתודה מראש, ירון.
 

annefan

New member
ירון, כנס רגע

כמה דברים. א. לפני שאתה שואל, כדי שלא תצא פארש, חפש קצת באינטרנט. חיפוש של "conio.h textcolor", היתה נותנת לך בתוצאה החמישית בגוגל מדריך בעברית. ב. כשאתה שואל, תן קצת מידע על הבעיה. הודעת שגיאה? מתי? מה? מי? ג. אחרי שאתה שואל קח בחשבון שזה לא צ'אט פה. זאת אומרת שנסינות הקפצה דקה אחרי שלא ענו לך, וגם אחרי שעה, לא עושים את זה פה. שאלת? (ואגב, שאלה חדשה, עדיף לשאול בפתיל חדש), חכה. ד. תשתדל לא להתעקש על שטויות, כמו נושא ה"פרוצדורות" והמשתנים הגלובלים. חבל על הזמן שלך.
 
למעלה