ABA


"צריך עזרה בשפת C עם לולאת While"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11467 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11467
Tamirrr

   21:20   03.12.04   
אל הפורום  
  צריך עזרה בשפת C עם לולאת While  
 
   אז ככה התחלתי ללמוד היום :/ (החלטתי להקדים את הכיתה)

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

זה מה שעשיתי


#include <stdio.h>

void main(void)
{
int a, c, i = 0, sum;

printf("enter first number");
scanf("%d", &a);

while( i < 5 )
{
printf("enter c");
scanf("%d", &c);

sum = a + c;

i = i + 1;


printf("the sum is", sum);

}

}

תודה למי שעוזר


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  אוי ווי... nesher  03.12.04 21:32 1
  תיקון: Dudenland 03.12.04 21:35 2
  וואיי תודה לכם עזרתם לי מאוד (ל''ת) Tamirrr 03.12.04 21:51 3
  בבקשה... בקשר ל sum+=c nesher  03.12.04 22:10 4
     ציינת משו דומה הבנתי מזה Tamirrr 03.12.04 22:12 5
         אני בטוח שהיית מסתדר nesher  04.12.04 00:21 6
             כן אחי התחלתי להשתמש בה Tamirrr 04.12.04 10:44 7
                 בנוסף ישנה דרך לכתוב את הדברים ''מסודר יותר '' כלומר: DRagonFire 05.12.04 00:26 8
                     הזכה... והוא עשה די בסדר... nesher  05.12.04 00:47 9
                         סבבה אבל זה אחד הדברים שצריכים להתרגל אליהם מההתחלה DRagonFire 05.12.04 18:23 10

       
nesher 

   21:32   03.12.04   
אל הפורום  
  1. אוי ווי...  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 03.12.04 בשעה 21:33 בברכה, nesher
 
אומנם נחמד וטוב שאתה מנסה להתקדם אבל צריך להשקיע חזק לפעמים..

קבל תיקון


#include <stdio.h>
void main(void)
{
int c,i=0,sum=0;

while (i<5)
{
printf("enter c");
scanf("%d",&c);
sum+=c;
i++;
}
printf("the sum is %d",sum);
}

אני אסביר לך את התיקון שלב שלב
דבר ראשון זאת לא לולאת do while לכן לא צריך קלט ראשוני או כל דבר אחר
הגדרת משתנים - כל משתנה שהוא סוכם חייבים לאפס (הכוונה ל-sum)

הלולאה: עשית אותה בצורה טובה אבל בתוך הלולאה עשית טעות
דבר ראשון הוספת כל הזמן את המספר הראשון (a) שדופק את הסכום האמיתי
+ זה שאתה לא מוסיף את sum עצמו לסכום ככה שהוא סוכם את אותו הדבר כל פעם רק עם ערכים שונים ולא מתעדכן (sum=a+c; אמור להיות sum=sum+c)
עידכון אינדקס נעשה ע"י ++ זאת פקודה שמקדמת את הערך של האינדקס
אם לא למדתם עד עכשיו תלמד בעתיד, יש גם --
אפשר לשים גם לפני האינדקס (כלומר i++) בעתיד תלמד את ההבדלים

בהדפסה שכחת לשים %d שידפיס משתנה מסוג int

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


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

   21:35   03.12.04   
אל הפורום  
  2. תיקון:  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 03.12.04 בשעה 21:40 בברכה, Dudenland
 

#include <stdio.h>

int main(void)
{
int i = 0, num_in, sum = 0;

while(i++ < 5)
{
printf("Please enter a number: ");
scanf("%d", &num_in);
sum += num_in;
}
printf("\nThe sum is: %d", sum);

return 0;
}

ואגב. למשימה מן הסוג הזה, נהוג (והגיוני) יותר להשתמש בלולאת-For.


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

   21:51   03.12.04   
אל הפורום  
  3. וואיי תודה לכם עזרתם לי מאוד (ל''ת)  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 03.12.04 בשעה 22:11 בברכה, Tamirrr
 
שפה יותר קשה מאסמבלר (אמורה להיות קלה יותר) אסמבלי קלטתי במהירות הייתי הכי טוב בכיתה בזה (וחלק גדול מהכיתה שלנו הם ילדים מאוד אבל מאוד חכמים....דחפו לנו כמות של חומר שכיתות אחרות למדו בשנה חצי רק בסביבות ה7-8 חודש)


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

   22:10   03.12.04   
אל הפורום  
  4. בבקשה... בקשר ל sum+=c  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 03.12.04 בשעה 22:12 בברכה, nesher
 
זה שווה בערכו ל sum=sum+c (שכחתי לציין)

בקשר לאסמבלר... מאוד קל רק חכה שתגיע לרמה גבוהה יותר...
וגם C הוא קל תלוי איך אתה קולט את זה


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

   22:12   03.12.04   
אל הפורום  
  5. ציינת משו דומה הבנתי מזה  
בתגובה להודעה מספר 4
 
   תודה לך מה הייתי עושה בלעדיך (מחכה עד שהכיתה תגיע לחומר הזה וזה יכול לקחת שנים)


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

   00:21   04.12.04   
אל הפורום  
  6. אני בטוח שהיית מסתדר  
בתגובה להודעה מספר 5
 
  

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


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

   10:44   04.12.04   
אל הפורום  
  7. כן אחי התחלתי להשתמש בה  
בתגובה להודעה מספר 6
 
   מאוד עוזרת (מצביעה על הטעויות)


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

   00:26   05.12.04   
אל הפורום  
  8. בנוסף ישנה דרך לכתוב את הדברים ''מסודר יותר '' כלומר:  
בתגובה להודעה מספר 7
 
   ערכתי לאחרונה בתאריך 05.12.04 בשעה 00:27 בברכה, DRagonFire
 
אחרי כל פתיחה של IF/WHILE/CLASS/פונקציה/וכ"ו
עושים טאב או שני רווחים או כל סוג של הפרדה של מרחק ככה הקוד יותר יפה ויותר קל לקרוא וגם למשל בין הכרזה על משתנים לבין הקוד שאחרי אנטר וגם אחרי פריפרורסס ככה דוגמא:

#include <stdio.h>

#define BLAH 12345

int afdasd(int dsf)
{
...
}

void main(void)
{
int a, b, c;

blabla();
if()
{
...
}
else
{
...
}

while()
{

}

}


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

   00:47   05.12.04   
אל הפורום  
  9. הזכה... והוא עשה די בסדר...  
בתגובה להודעה מספר 8
 
   חוץ מזה שב-VC הוא עושה את זה אוטומטית
ב-TC לא אומנם אבל זה לא מסובך


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

   18:23   05.12.04   
אל הפורום  
  10. סבבה אבל זה אחד הדברים שצריכים להתרגל אליהם מההתחלה  
בתגובה להודעה מספר 9
 
  


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

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

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



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