פורסם 2005 בפברואר 620 שנים פרק 3, עמוד 7, שאלה 10. יש מצב שלמישהו יש את הפתרון על המחשב והוא יכול להעלות אותו לפה? בבקשה http://www.hertzog-ks.org.il/kadmanh/bagrut/899222/t222_01.pdf
פורסם 2005 בפברואר 620 שנים במקרה אז יש לי את זה כאן לידי...אפילו לא ציינת איזה בגרות!אולי פשוט תעלה לכאן את השאלה וננסה לענות לך?זה לא יותר פשוט?
פורסם 2005 בפברואר 620 שנים אני זוכר את השאלה הזאת, קלה למדי גםטוב קודם כל בוא נכתוב את הפונקציה שמבקשים מאיתנו בסעיף א':void account(int room, int days, int extras){int total=days*400+extras;printf("The guest needs to pay %d NIS for his staying \n",total);printf("He Stayed in room %d for %d days \n",room,days);if (total>2000) printf("4 payments");}אוקיי, עכשיו אחרי שעשינו את זה, בוא נכתוב את הmain של התוכנית ככה שיענה על סעיף ב' של השאלהvoid main(){int days, int room,int total_ext, int extras,int i;Do{ printf("Please enter room number \n"); scanf("%d",&room); total_ext=0; if (room!=999){ printf("Please enter the number of days the guest stayed \n"); scanf("%d",&days); for (i=1;i<=days;i++){ printf("please enter the fee for special features for day %d \n",i); scanf("%d",&extras); total_ext=total_ext+extras; } printf("The guest needs to pay %d for special features \n",total_ext); account(room,days,total_ext); }} While (room!=999)}אני יודע שזה לא פיתרון, אבל אין לי פיתרון רשמי כלשהו או משהו כזהחוץ מזה, אני לא בטוח שהפיתרון נכון כי השאלה עצמה לא מובנת ממש, אבל זה הכי טוב שיכולתי לעשות
פורסם 2005 בפברואר 720 שנים אני הייתי עושה את זה עם WHIL\ק רגיל, כי איך שעשית אתה בודק כל איטרציה בדיקה נוספת
פורסם 2005 בפברואר 720 שנים מחבר תודה יש מצב מישהו יכול להסביר לי מה ההבדל בין פונקציה לפרוצדורה?(כי לא הייתי ב3 שיעורים אחרונים ופיספתי את זה:\) תודה!
פורסם 2005 בפברואר 720 שנים האמת גם while רגיל תצטרך להשאיר את הבדיקה האם החדר=999אלא אם כן אתה עושה קליטה ראשונה של מספר החדר לפני הלולאהואז לפני סוף הלולאה אתה עושה את הקליטה של מספר החדר הבאאך את זה אפשר לעשות גם ב while וגם בdo while,אז זה לא משנה באמת
פורסם 2005 בפברואר 720 שנים פונ מחזירה ערך, פרוצדורה לא.צודק, בגדול אני הייתי עושה משהו עם הIF שבפנים כי כל פעם שנשנסים לאיטרציה זה נבדק, וזה לא כל כך נחמד(במיוחד כשאתה לומד אלגוריתמים :-)).
פורסם 2005 בפברואר 720 שנים טוב זה לא מסובך לשנות את זה, למשהו כמו זה:printf("Enter room number \n");scanf("%d",&room);while(room!=999){...printf("Enter room number \n");scanf("%d",&room);}זה יעבוד בלי הבדיקה המיותרת (למען האמת סתם לא עשיתי את זה קודם, כי פשוט לא היה לי כוח ולא היה לי אכפת ממש
פורסם 2005 בפברואר 720 שנים מחבר void account(int room, int days, int extras){ int total=days*400+extras; printf("The guest needs to pay %d NIS for his staying \n",total); printf("He Stayed in room %d for %d days \n\n",room,days); if (total>2000) printf("4 payments"); } int main(){ int days,room,total_ext=0,extras,i; { printf("Please enter room number:"); scanf("%d",&room); while(room!=999){ printf("Please enter the number of days the guest stayed: "); scanf("%d",&days); for(i=1; i<=days; i++){ printf("please enter the fee for special features for day %d: ",i); scanf("%d",&extras); total_ext=total_ext+extras; extras=0;} printf("The guest needs to pay %d for special features \n",total_ext); account(room,days,total_ext); printf("Enter room number: "); scanf("%d",&room);}} הנה רק שיניתי ממה שinfer73 עשה את הdo כי לא למדנו את זה... תודה לכולם
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.