פורסם 2013 במאי 2712 שנים לדעתי דווקא כדאי להשתמש במחרוזות זה ממש שטויותבסה"כ מחליפים את הscanf בgets ובודקים את התו האחרון וממירים לint זה שינוי קטנטן יחסית בקודללמוד מחרוזות זה כמה דקות זה באמת משהו קטן
פורסם 2013 במאי 2712 שנים מחבר לדעתי דווקא כדאי להשתמש במחרוזות זה ממש שטויותבסה"כ מחליפים את הscanf בgets ובודקים את התו האחרון וממירים לint זה שינוי קטנטן יחסית בקודללמוד מחרוזות זה כמה דקות זה באמת משהו קטןבא לך להסביר לי או להביא לי מקור טוב ללמוד ממנו
פורסם 2013 במאי 2712 שנים על כמעט כל שאלה ספציפית שיש לך, אני ממליץ לך לבצע חיפוש ב-stackoverflow.לרוב תקבל שם גם הסברים מעולים וגם דוגמאות.
פורסם 2013 במאי 2712 שנים לדעתי דווקא כדאי להשתמש במחרוזות זה ממש שטויותבסה"כ מחליפים את הscanf בgets ובודקים את התו האחרון וממירים לint זה שינוי קטנטן יחסית בקודללמוד מחרוזות זה כמה דקות זה באמת משהו קטןדווקא לא צריך. הפתרון הזה שהצעת:scanf("%d%c", &hours, &type);הוא פתרון מעולה. אם המשתמש לא הכניס שום אות אחרי השעות אז type יכיל את הרווח/אנטר שהמשתמש הקיש אחרי המספר.
פורסם 2013 במאי 2812 שנים אז זהו שאני לא בטוח שהוא יקבל את האינטר, עבר הרבה מאוד זמן מאז שהשתמשתי ב-scanf עם ניואנסים כאלה
פורסם 2013 במאי 2812 שנים הוא יקבל.כשמעבירים c% ל-scanf אז הוא תמיד קורא תו אחד, בדיוק כמו ב-getc, בלי לדלג על רווחים (בניגוד ל-d% לדוגמה שכן מדלג על רווחים).
פורסם 2013 במאי 2812 שנים מחבר הוא יקבל.כשמעבירים c% ל-scanf אז הוא תמיד קורא תו אחד, בדיוק כמו ב-getc, בלי לדלג על רווחים (בניגוד ל-d% לדוגמה שכן מדלג על רווחים). עכשיו הכל התחרבש לי #include <stdio.h>] #define FULL_SHIFT 8int main(){ int shift, sum = 0, c,hours,extra=0,weekend=0; char type; printf("Enter the number of shift worked\n"); scanf("%d", &shift); printf("Enter number of hours worked\n"); for (c = 1; c <= shift; c++) { scanf ("%d,%c", &hours, &type); if ( hours > FULL_SHIFT ) { extra = extra + hours - FULL_SHIFT; sum = sum + FULL_SHIFT; } else if (hours + type) { weekend = weekend + hours; } else { sum = sum + hours; } } printf("Sum of entered hours worked = %d\n",sum); printf("Sum of Overtime hours worked = %d\n",extra); printf("sum of weekend hours worked = %d\n",weekend); return(1);} נערך 2013 במאי 2812 שנים על-ידי BenSalem2
פורסם 2013 במאי 2812 שנים א. מאיפה הגיע הפסיק ב-scanf? תבין ש-scanf היא פקודה רגישה וכל תו קטן במקום הלא נכון יגרום לא לעבוד לא טוב. נתנו לך דוגמה מדויקת איך להשתמש ב-scanf.ב. כבר שאלתי אותך קודם, מה הלוגיקה בשורה הזו?[COLOR=#333333] else if (hours + type)[/COLOR] נערך 2013 במאי 2812 שנים על-ידי שניצל
פורסם 2013 במאי 2812 שנים מחבר א. מאיפה הגיע הפסיק ב-scanf? תבין ש-scanf היא פקודה רגישה וכל תו קטן במקום הלא נכון יגרום לא לעבוד לא טוב. נתנו לך דוגמה מדויקת איך להשתמש ב-scanf.ב. כבר שאלתי אותך קודם, מה הלוגיקה בשורה הזו?[COLOR=#333333] else if (hours + type)[/COLOR]א.תוקןב.כבר עניתי לך אין לי מושג מה לרשום אחרי הELSE IF..
פורסם 2013 במאי 2812 שנים אתה צריך לבדוק אם המשתמש הכניס את התו S. איך עושים את זה בקוד? מה מכיל המשתנה type? נערך 2013 במאי 2812 שנים על-ידי שניצל
פורסם 2013 במאי 2812 שנים אתה רוצה להכניס שם איזשהו תנאי בוליאני, כלומר ביטוי עם הערכים true או false. למשל X גדול מ- 10 או char שווה לתו 'a'.בשפה c כל ערך מספרי שווה ל-true למעט 0 שמייצג false
פורסם 2013 במאי 2912 שנים מחבר אתה רוצה להכניס שם איזשהו תנאי בוליאני, כלומר ביטוי עם הערכים true או false. למשל X גדול מ- 10 או char שווה לתו 'a'.בשפה c כל ערך מספרי שווה ל-true למעט 0 שמייצג falseרמז עבה מאוד הבנתי אני אתקן ואסיף את הקודחשבתי שהבנתי אבל עדיין לא מסתדר ליאני צריך לעשות if type(1)? נערך 2013 במאי 2912 שנים על-ידי BenSalem2
פורסם 2013 במאי 2912 שנים מחבר #include <stdio.h>#define FULL_SHIFT 8int main(){ int shift, sum = 0, c,hours,extra=0,weekend=0; char t; printf("Enter the number of shift worked\n"); scanf("%d", &shift); printf("Enter number of hours worked\n"); for (c = 1; c <= shift; c++) { scanf ("%d %c", &hours, &t); if ( hours > FULL_SHIFT ) { extra = extra + hours - FULL_SHIFT; sum = sum + FULL_SHIFT; } else if (t=1) { weekend = weekend + hours; } else { sum = sum + hours; }} printf("Sum of entered hours worked = %d\n",sum); printf("Sum of Overtime hours worked = %d\n",extra); printf("sum of weekend hours worked = %d\n",weekend); getch(); return(1);}עכשיו הוא לא מחשב נכון את השעות נוספות...
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.