עבור לתוכן

תרגיל שפת C...

Featured Replies

פורסם

שלום שמי רן,

אני די מתחיל בכל בקטע הזה של שפות תכנות...

הייתי שמח אם תעזרו לי בתרגיל מסויים....

אז ככה התרגיל הוא:

תלמיד רצה לחשב את הממוצע השנתי שלו בהיסטוריה, ציוני המבחנים שלו: 78,97,45,64,87

צריך לכתוב תוכנית שתחשב את הממוצע השנתי של התלמיד....

לא הבנתי כל כך איך לעשות את זה.... (אם אפשר לכתוב את זה כCODE זה יהיה מצויין אני יבין את זה טוב....)

תודה,רן

פורסם

טוב, נתחיל מקטן.

תתחיל מתוכנית הכי פשוטה, שתחשב את הממוצע בין שני ציונים (נניח 87 ו-64). אתה יודע איך עושים את זה?

אגב, באיזו מסגרת אתה לומד, ומה כבר למדת?

פורסם
  • מחבר

אני לומד מחומר שאח שלי נותן לי והוא עוזר לי, למדתי מה זה : משתנה סטטי,משתנה גלובלי, לוקלי וכו'.....

בקיצור עשיתי תוכנית שקולטת 10 מספרים ומחשבת את הממוצע שלהם...

int main()
{
int counter, grade,total;
float average;
total = 0;
counter =1;
while (counter <= 10){
printf(“Enter grade:\n”);
scanf(“%d”,&grade);
total = total + grade;
counter = counter + 1;}
average = total / 10.0;
printf(“The average %f\n”,average);
return 0;
}

זה טוב?? או שיש טעות כלשהי?

אהה ותודה על המענה ...

פורסם
  • מחבר

אז זהו שיש לי 3 WARNING שזה אומר שמשהו כנראה לא טוב... אני אבדוק את זה...

ו10 ERROR...

דרך אגב אני משתמש ב Microsoft Visual C++ 2005 Express Edition

פורסם

קודם כל כמה הערות לתחילת הדרך

א. הערה אישית שלי, אל תתחיל לתכנת בקומפיילר של מיקרוסופט , תוריד dev c++ שהוא חינמי גם ותעבוד איתו, עם vc++ משתמשים במיוחד בכדי לתכנת עם mfc

ב. אתה צריך לדעת מתי להשתמש בלולאת for ומתי ב while, יש כלל פשוט שלומדים אותו בבית ספר(או בבית אחרי קריאת הספרים הנכונים) שאומר את הדבר הבא:

לולאת while - כאשר אתה לא יודע מתי היא תסתיים ויש תנאי שכל הזמן משתנה(לא במקרה שלך)

לולאת for - כאשר אתה יודע בדיוק כמה פעמים היא צריכה לרוץ- במקרה שלנו

בקיצור עשיתי תוכנית שקולטת 10 מספרים ומחשבת את הממוצע שלהם...

אתה יודע שהלולאה צריכה לרוץ 10 פעמים - כלומר שימוש ב for

במקום


counter = 1;
while (counter <= 10){
counter = counter + 1;}

היה עדיף

for(int i =0;i<10;i++){}

יותר קצר יותר קריא.

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

+=
/=

וכן הלאה

אגב, תשתדל לחסוך בקוד כאשר אתה מבצע הצבה כבר בזמן ההגדרה כלומר int counter = 1

במקום

int counter...

counter = 1

פורסם

מה רע בקומפילר של מיקרוסופט?

(אני לא מדבר על VC6 שמאוד לא תקני, אני מדבר על VC 2005)

פורסם

מה רע בקומפילר של מיקרוסופט?

(אני לא מדבר על VC6 שמאוד לא תקני, אני מדבר על VC 2005)

את האמת הטענה הייתה יותר כלפי ה ide ולא כלפי הקומפיילר, שכן אין כל כך הרבה הבדל בין הגרסאות החדשות שהן תקניות(בניגוד באמת ל vc6)

הide שמסופק במסגרת vc הוא מבחינתי יותר מדיי מסורבל ועמוס, יותר לפרוייקטים גדולים יותר שדורשים יותר אופציות

devC++ הוא לתכנות חובבני יותר לדעתי , אני בכלל מעדיף את code::blocks אבל לדעתי גם הוא יסבך את העניינים

כל עניין ה devpaks גם הפך את העניין של devc++ ליותר קוד פתוח כזה

בקיצור, אני אישית ממליץ בחום לעבור ל devc++ לצורך ההתחלה

פורסם

לא כתבתה

#include<stdio.h>

פורסם
  • מחבר

אממ א. תודה רבה על התגובות ב. אח שלי אמר שזה סתם שטויות ואני יכול להשתמש בשל מייקרוסופט וכן שיניתי כבר אתמול לFOR אח שלי אמר לי לשנות ...

אממ מה זה DO WHILE ?? שכאילו הקטע קוד יבוצע רק פעם אחת (כלומר בפעם הראשונה לא נבדק התנאי..)

עוד שאלה .. האם אני יכול להפסיק ריצה של לולאה באמצע?? ואיך??....

תודה.

פורסם

לולאת do-while לא רצה רק פעם אחת, אלא היא מבטיחה שהתוכן שלה ירוץ לפחות פעם אחת.

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

ועל מנת להפסיק לולאה באמצע משתמשים ב-break. אבל כדאי לנסות להימנע מזה.

פורסם

כדי להימנע מbreak. אתה יכול ליצור לך משתנה flag ולאתחל אותו בערך מסוים.

ולהוסיף לתנאי של הלולאה גם תנאי "כל עוד הflag נשאר עם אותו ערך".

ברגע שקורה מצב שבו אתה רוצה לצאת מהלולאה, תשנה את ערך הflag והלולאה תיפסק.

כמובן שהתנאי צריך להתווסף בצורת "וגם" - &&.

לדוגמא:

int i = 0, flag = 0;
while(i < 30 && flag ==0)
{
blabla...
if(something)
flag = 1;
i++;
}

כאן הלולאה תיפסק כאשר או כש i יהיה שווה 30 או כשיווצר מצב שבו הflag ישתנה.

פורסם
  • מחבר

אהה סבבה לגמרי הבנתי הכול

ו..

כמו ש&& מיוצג על ידי שני התווים הללו איך הקשר הלוגי "או" מיוצג ?

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

פורסם

או מבוטא באמצעות ||

ולא הבנתי את השאלה השנייה שלך.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים