IOPanel

חזור   IOPanel > דבר חופשי > תוכנה ומערכות הפעלה > תיכנות
עמוד ראשי הירשם חיפוש הודעות מהיום סמן פורומים כנקראו

תיכנות פורום בנושאי תיכנות , פיתוח אתרים , שפות תיכנות , אפליקציות סלולר וטאבלטים.

תוכנה ומערכות הפעלה : תיכנות

אני כנראה חלוד רצח, אבל שמישהו יסביר לי איפה הטעות שלי

טוב, צחוק צחוק אבל אני לא מבין למה יש לי טעות בקוד המטומטם הזה התוכנית צריכה לקבל 3 נתונים אות ...
תגובה
 
קישור חוזר הגדרות אשכול אפשרויות הצגת נושא
ישן 08-11-10, 23:39   #1 (קישור ישיר)
IO Gadgets
 
סמל האישי של iakovl
 
תאריך הצטרפות: Jan 2007
הודעות: 13,202
ברירת מחדל אני כנראה חלוד רצח, אבל שמישהו יסביר לי איפה הטעות שלי

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

אצלי היא קולטת 2 נתונים, מדלגת על השלישי, אבל עדיין נותנת לי תשובות נכונות ב"א" ו"ב"

2 אנשים נוספים עברו על הקוד ולא מבינים מה הולך פה ולמה הוא מדלג לי על קלט שלישי
קוד:
#include <stdio.h>
#define NUM_OF_FOOD 3 //כמות מזון לקלט

int main()
{
    float food_cal[NUM_OF_FOOD];     //מערך מאחסן ערך קלורי של מזון
    float food_amount[NUM_OF_FOOD]; //מערך מאחסן כמות של מזון
    char food_id[NUM_OF_FOOD];     //מערך מאחסן תו מסמן של מזון
    int i;                 //משתנה לולאת for
    float total_cal=0;        //משתנה סהכ קלוריות
    int most_fat_food_id=0;        //משתנה מיקום מזון הכי משמין

    printf("enter the following data: food ID, Cal value and Amount eaten \nexample A 10 3\n");
    for (i=0;i<NUM_OF_FOOD;i++)
    {
        printf("\nEnter product #%d:",i);
        scanf("%c %f %f",&food_id[i],&food_cal[i],&food_amount[i]);
    }
    //א//
    for (i=0;i<NUM_OF_FOOD;i++)
        total_cal+=food_cal[i]*food_amount[i];            //חישוב סהכ קלוריות
    
    printf ("\nTotal amount of calories is %5.2f\n",total_cal);    //ערך סהכ קלוריות ליום
    //ב//
    for (i=1;i<NUM_OF_FOOD;i++)                    //לולאת בדיקה למזון עם ערך קלורי גבוהה
         most_fat_food_id=(food_cal[most_fat_food_id]<food_cal[i])?i:most_fat_food_id;        
         
    printf ("\nThe most fattening product is: %c with %5.2f calories",food_id[most_fat_food_id],food_cal[most_fat_food_id]);

    return 0;
}
__________________
Device: Gnote ROM: CM9 #7 Kernel: stock Modem:LB2
Main: E8400, Asus P5Q pro, 2*2gb G.skill PI DDR900, Perc 5/i HD103UJx4 RAID5 , wd3200aaks, HD4850, P180, VX450W, audigy 2 zs platinium pro, HD595, DELL 2709W
ביקורות: 7ZIP , Thermalright HR-5 , Arctic-Cooling Accelero S1 Rev.2 , Scythe Kaze Master 5.25, Cruzer Titanium ,Seagate FreeAgent USB 2.0 500gb, WD My Book Home Edition 500gb otterbox impact, Scythe Kamazo 2 eSata, iTwin
iakovl לא מחובר   הגב עם ציטוט
ישן 09-11-10, 0:42   #2 (קישור ישיר)
IO Folding Captain
 
סמל האישי של Dj-L@g0la5
 
תאריך הצטרפות: May 2008
הודעות: 1,655
ברירת מחדל

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

ניסיתי לבדוק עוד כמה דברים והתחלתי עם נושא האותיות.
מסתבר שזה מה שגורם לזה כנראה.
שיניתי את הסדר של הקלט:
קוד:
        scanf("%f %f %c",&food_cal[i], &food_amount[i], &food_id[i]);
נראה שזה פתר.
השאלה היא למה זה עושה את הבעיה הזאת..
__________________
Intel Sandy Bridge i5 2500K @4GHz | Reeven RCCF-1201SP | MSI Z77A-GD55
G.Skill DD3-1600 Ripjaws-X 8GB CL8 (2 x 4GB) | nVIDIA GTX 780 | Cooler Master CM690 | Antec Neo Eco 620W
Crucial M4 SSD 128GB + Mushkin Callisto deluxe SSD 60GB + Western Digital ‎WD6400AAKS‎ + Western Digital WD10EARS + Western Digital WD20EARS

Join us to help the World get BETTER - IOPanel-WCG Team | HowTo: Install the Client ; Connect remotely to the Client
Dj-L@g0la5 לא מחובר   הגב עם ציטוט
ישן 09-11-10, 0:48   #3 (קישור ישיר)
IO Gadgets
 
סמל האישי של iakovl
 
תאריך הצטרפות: Jan 2007
הודעות: 13,202
ברירת מחדל

עזוב... גילינו את פתרון , הייתי צריך להוסיף רווח קטן ומעצבן
מ
קוד:
scanf("%c %f %f")
ל
קוד:
scanf(" %c %f %f")
פרטים נוספים
Something strange with a simple program, possible scanf problem - Stack Overflow
__________________
Device: Gnote ROM: CM9 #7 Kernel: stock Modem:LB2
Main: E8400, Asus P5Q pro, 2*2gb G.skill PI DDR900, Perc 5/i HD103UJx4 RAID5 , wd3200aaks, HD4850, P180, VX450W, audigy 2 zs platinium pro, HD595, DELL 2709W
ביקורות: 7ZIP , Thermalright HR-5 , Arctic-Cooling Accelero S1 Rev.2 , Scythe Kaze Master 5.25, Cruzer Titanium ,Seagate FreeAgent USB 2.0 500gb, WD My Book Home Edition 500gb otterbox impact, Scythe Kamazo 2 eSata, iTwin
iakovl לא מחובר   הגב עם ציטוט
ישן 09-11-10, 1:13   #4 (קישור ישיר)
IO Folding Captain
 
סמל האישי של Dj-L@g0la5
 
תאריך הצטרפות: May 2008
הודעות: 1,655
ברירת מחדל

אחד הדברים המוזרים, אבל הגיוניים...
העיקר שהסתדר.
__________________
Intel Sandy Bridge i5 2500K @4GHz | Reeven RCCF-1201SP | MSI Z77A-GD55
G.Skill DD3-1600 Ripjaws-X 8GB CL8 (2 x 4GB) | nVIDIA GTX 780 | Cooler Master CM690 | Antec Neo Eco 620W
Crucial M4 SSD 128GB + Mushkin Callisto deluxe SSD 60GB + Western Digital ‎WD6400AAKS‎ + Western Digital WD10EARS + Western Digital WD20EARS

Join us to help the World get BETTER - IOPanel-WCG Team | HowTo: Install the Client ; Connect remotely to the Client
Dj-L@g0la5 לא מחובר   הגב עם ציטוט
ישן 09-11-10, 1:19   #5 (קישור ישיר)
IO Gadgets
 
סמל האישי של iakovl
 
תאריך הצטרפות: Jan 2007
הודעות: 13,202
ברירת מחדל

מוזר? כן
הגיוני? אחרי שמסבירים טוב טוב, זה נראה הגיוני
הבעיה? עכשיו לך תזכור את זה למקרי אמת בזמן בחינות... רווח מזורגג
__________________
Device: Gnote ROM: CM9 #7 Kernel: stock Modem:LB2
Main: E8400, Asus P5Q pro, 2*2gb G.skill PI DDR900, Perc 5/i HD103UJx4 RAID5 , wd3200aaks, HD4850, P180, VX450W, audigy 2 zs platinium pro, HD595, DELL 2709W
ביקורות: 7ZIP , Thermalright HR-5 , Arctic-Cooling Accelero S1 Rev.2 , Scythe Kaze Master 5.25, Cruzer Titanium ,Seagate FreeAgent USB 2.0 500gb, WD My Book Home Edition 500gb otterbox impact, Scythe Kamazo 2 eSata, iTwin
iakovl לא מחובר   הגב עם ציטוט
ישן 09-11-10, 9:44   #6 (קישור ישיר)
Vmod Master
 
סמל האישי של DOCTOR ICE
 
תאריך הצטרפות: Jan 2007
הודעות: 3,689
ברירת מחדל

WOW החזרת אותי הרבה שנים (14) אחורה עם הקוד הזה -
עריכה: טוב - שמח שכבר עזרו לך .
__________________
DOCTOR ICE לא מחובר   הגב עם ציטוט
קישור פירסומי
ישן 10-11-10, 17:35   #7 (קישור ישיר)
IO Pro
 
תאריך הצטרפות: Feb 2009
הודעות: 1,083
ברירת מחדל

באמת בעיה מעצבנת
אבל אני לא חושב שהבודק של הבחינה ישים לב בעצמו שחסר רווח או ייחס לזה חשיבות משמעותית בדמות הורדת נקודות.
בכל אופן, שמח שהסתדרת
intenGer לא מחובר   הגב עם ציטוט
ישן 20-11-10, 13:44   #8 (קישור ישיר)
IO Member
 
סמל האישי של Jigit
 
תאריך הצטרפות: Sep 2007
הודעות: 690
ברירת מחדל

אתה בהנדסת תוכנה?
Jigit לא מחובר   הגב עם ציטוט
ישן 20-11-10, 13:50   #9 (קישור ישיר)
IO Gadgets
 
סמל האישי של iakovl
 
תאריך הצטרפות: Jan 2007
הודעות: 13,202
ברירת מחדל

מערכות מידע
__________________
Device: Gnote ROM: CM9 #7 Kernel: stock Modem:LB2
Main: E8400, Asus P5Q pro, 2*2gb G.skill PI DDR900, Perc 5/i HD103UJx4 RAID5 , wd3200aaks, HD4850, P180, VX450W, audigy 2 zs platinium pro, HD595, DELL 2709W
ביקורות: 7ZIP , Thermalright HR-5 , Arctic-Cooling Accelero S1 Rev.2 , Scythe Kaze Master 5.25, Cruzer Titanium ,Seagate FreeAgent USB 2.0 500gb, WD My Book Home Edition 500gb otterbox impact, Scythe Kamazo 2 eSata, iTwin
iakovl לא מחובר   הגב עם ציטוט
ישן 20-11-10, 16:54   #10 (קישור ישיר)
IO Member
 
סמל האישי של Jigit
 
תאריך הצטרפות: Sep 2007
הודעות: 690
ברירת מחדל

זה קורס רק של מערכות מידע?
Jigit לא מחובר   הגב עם ציטוט
ישן 20-11-10, 16:56   #11 (קישור ישיר)
IO Gadgets
 
סמל האישי של iakovl
 
תאריך הצטרפות: Jan 2007
הודעות: 13,202
ברירת מחדל

זה תואר ראשון בהנדסת מערכות מידע...
__________________
Device: Gnote ROM: CM9 #7 Kernel: stock Modem:LB2
Main: E8400, Asus P5Q pro, 2*2gb G.skill PI DDR900, Perc 5/i HD103UJx4 RAID5 , wd3200aaks, HD4850, P180, VX450W, audigy 2 zs platinium pro, HD595, DELL 2709W
ביקורות: 7ZIP , Thermalright HR-5 , Arctic-Cooling Accelero S1 Rev.2 , Scythe Kaze Master 5.25, Cruzer Titanium ,Seagate FreeAgent USB 2.0 500gb, WD My Book Home Edition 500gb otterbox impact, Scythe Kamazo 2 eSata, iTwin
iakovl לא מחובר   הגב עם ציטוט
ישן 22-03-11, 22:52   #12 (קישור ישיר)
IO Rookie
 
תאריך הצטרפות: Mar 2011
הודעות: 3
ברירת מחדל

אפשר גם אחרי שורת הקלט לכתוב ()getchar. ככה ה-ENTER ייקלט על-ידיו.
Lee Jun Fan לא מחובר   הגב עם ציטוט
ישן 22-03-11, 23:59   #13 (קישור ישיר)
IO Gadgets
 
סמל האישי של iakovl
 
תאריך הצטרפות: Jan 2007
הודעות: 13,202
ברירת מחדל

למה להקפיץ נושא מת?!
__________________
Device: Gnote ROM: CM9 #7 Kernel: stock Modem:LB2
Main: E8400, Asus P5Q pro, 2*2gb G.skill PI DDR900, Perc 5/i HD103UJx4 RAID5 , wd3200aaks, HD4850, P180, VX450W, audigy 2 zs platinium pro, HD595, DELL 2709W
ביקורות: 7ZIP , Thermalright HR-5 , Arctic-Cooling Accelero S1 Rev.2 , Scythe Kaze Master 5.25, Cruzer Titanium ,Seagate FreeAgent USB 2.0 500gb, WD My Book Home Edition 500gb otterbox impact, Scythe Kamazo 2 eSata, iTwin
iakovl לא מחובר   הגב עם ציטוט
תגובה


הגדרות אשכול
אפשרויות הצגת נושא

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

vB code הינו פועל
סמיילים הינו פועל
קוד [IMG] הינו פועל
קוד HTML הינו כבוי
Trackbacksהינו פועל
Pingbacks הינו פועל
Refbacks הינו פועל

נושאים דומים
אשכול מפרסם האשכול פורום תגובות הודעה אחרונה
כנראה שמצאתי איפה לקנות CELLSHOCK בארץ,כנסו לפרטים Hangover666 זיכרונות 8 24-11-07 13:20


כל הזמנים הם GMT +3. השעה כרגע היא 1:32.





מופעל על ידי: vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO
IOPanel.net © כל הזכויות שמורות