נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: עזרה..C.. לולאות

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
s|rok
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 28 May 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 5
נשלח בתאריך: 28 May 2005 בשעה 10:02 | IP רשוּם
ציטוט s|rok

קוד:
#include <stdio.h>

char line[100];          /* line from input */
int total;           /* Running total of all numbers so far */
int item;           /* next item to add to the list */
int minus_items;     /* number of negative items */

main()
{

     total = 0;
minus_items = 0;

while (1) {
printf("Enter # to add\n");
printf(" or 0 to stop:");
fgets(line, sizeof(line), stdin);
sscanf(line, "%d", &item);

if (item == 0)
break;

if (item < 0) {
++minus_items;
continue;
}

total += item;
printf("Total: %d\n", total);

}

printf("Final total %d\n", total);
printf("with %d negative items omitted\n",minus_items);

return (0);

}

זהו קוד שמחשב סכום של מספרים..למעט הספרה 0... במקרה כזה הלולאה נעצרת...השאלה שלי היא בנוגע למספרים שליליים... הבנתי שכאשר הקלט הוא שלילי הלולאה מתחילה מהתחלה לפי משפט ה"קונטיניו"
אבל לא הצלחתי להבין איך התוכנית יודעת כמה פעמים הכנסתי מס' שלילי...
איך זה נשמר במשתנה "מינוס_אייטמס"
תודה,
חזרה לתחילת העמוד הצג את כרטיס החבר של s|rok חפש הודעות אחרות של s|rok
 
ShadowBeast
אחראי פורומים
אחראי פורומים
סמל אישי

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 28 May 2005 בשעה 10:19 | IP רשוּם
ציטוט ShadowBeast

יש פה מלא טעויות
הנה הקוד מתוקן
קוד:

#include <stdio.h>

char line[100];          /* line from input */
int   total;            /* Running total of all numbers so far */
int    item;         & amp; amp; nbsp;/* next item to add to the list */
int minus_items;     /* number of negative items */

int main()
{

     total = 0;
minus_items = 0;

while (1) {
printf("Enter # to add\n");
printf(" or 0 to stop:");
fgets(line, sizeof(line), stdin);
scanf(line, "%d", &item);

if (item == 0)
break;

if (item < 0) {
++minus_items;
continue;
}

total += item;
printf("Total: %d\n", total);

}

printf("Final total %d\n", total);
printf("with %d negative items omitted\n",minus_items);

return 0;

}

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

 

__________________
The highest knowledge is to know that we are surrounded by mystery - Albert Schweitzer

He who will not take the hint, must take the consequence - Glenn v. Covey (1854)

ShadowBeast
חזרה לתחילת העמוד הצג את כרטיס החבר של ShadowBeast חפש הודעות אחרות של ShadowBeast
 
s|rok
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 28 May 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 5
נשלח בתאריך: 28 May 2005 בשעה 10:56 | IP רשוּם
ציטוט s|rok

קודם כל תודה שענית לי
וד"א... אין בקוד שום טעויות.....כי העתקתי אותו מספר של 500 עמודים שמלמד את שפת סי
וכשאני מריץ את התוכנה עם
VC++
הכל עובד.....פשוט לא הבנתי משהו....ולכן שאלתי את זה בהודעה הראשונה...
אוקיי ?

תודה
חזרה לתחילת העמוד הצג את כרטיס החבר של s|rok חפש הודעות אחרות של s|rok
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 28 May 2005 בשעה 11:58 | IP רשוּם
ציטוט ניר

SB - הקוד שלך לא נכון. אתה כניראה לא מכיר את sscanf ופונקציות נוספות.

s|rok - בכל פעם שאתה מזין מספר שלילי, אז minus_items גדול ב-1:
קוד:
if (item < 0) {
    ++minus_items;
    continue;
}


ה-++ הזה מגדיל את המונה וככה בסוף אתה יודע כמה מספרים שליליים היו


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
s|rok
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 28 May 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 5
נשלח בתאריך: 28 May 2005 בשעה 18:41 | IP רשוּם
ציטוט s|rok

תודה רבה... מעניין איך לא חשבתי על זה....חחחח
עכשיו הכל יותר ברור...
חזרה לתחילת העמוד הצג את כרטיס החבר של s|rok חפש הודעות אחרות של s|rok
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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