פורסם 2013 במאי 2512 שנים מחבר #include <stdio.h>int main(){ int c; int hours, extra, weekend, reg,shift; printf("Please enter number of shifts:\n"); scanf("%d", &shift); for (c=1; shift<=shift;c++); printf("Please enter daily hours"); scanf("%d",&hours); if( hours > 8) hours - 8 += extra; else if ( hours+'c' ) hours += weekend; else hours += reg; printf('Hours "%d"Overtime "%d" Weekend "%d" ,hours,extra,weekend\n'); getch(); } }אני מתקרב או מתרחקאני יודע שאין דבר כזה hours - 8 +=extraאבל זה הכי קרוב שהגעתי אם אפשר לקבל תיקון...תודה נערך 2013 במאי 2612 שנים על-ידי BenSalem2
פורסם 2013 במאי 2612 שנים אני מבין שלא שמעת לעצתי:קודם כל כותבים תוכנית שרק קוראת שעות מהמשתמש וסוכמת אותן. כותבים אותה עד הסוף, דואגים שהיא מתקמפלת, רצה ועושה מה שאתה רוצה בדיוק.אחרי שתסיים לכתוב את השלב הזה של התכנית, אם אתה לא בטוח שהיא עובדת אז תעלה אותה לכאן.
פורסם 2013 במאי 2612 שנים מחבר אני מבין שלא שמעת לעצתי:אחרי שתסיים לכתוב את השלב הזה של התכנית, אם אתה לא בטוח שהיא עובדת אז תעלה אותה לכאן.בבקשה...#include <stdio.h>int main(){ int shift, sum = 0, c,hours,n; 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",&hours); sum = sum + hours; } printf("Sum of entered hours worked = %d\n",sum); return 0;}
פורסם 2013 במאי 2612 שנים סבבה נראה שזה יתקמפל וגם יעבודעכשיו תוסיף את החישוב שעות נוספותהצעה לייעול, מספר כמו 8, רצוי שהוא יהיה ב-define לדוגמה:#define HOURS_FOR_FULL_JOB 8ובמקום התייחסות ל-8 בכל מקום זה יהיה HOURS_FOR_FULL_JOB
פורסם 2013 במאי 2612 שנים מחבר סבבה נראה שזה יתקמפל וגם יעבודעכשיו תוסיף את החישוב שעות נוספותהצעה לייעול, מספר כמו 8, רצוי שהוא יהיה ב-define לדוגמה:#define HOURS_FOR_FULL_JOB 8ובמקום התייחסות ל-8 בכל מקום זה יהיה HOURS_FOR_FULL_JOBרגע רגע למקרה שלא שמתם לב זה גם אחד השלבים שאני נתקע בוכי מה אני צריך לעשות כדי שהתוכנית תחשב כל מספר אחרי 8 זאת אומרת אם המשתמש הכניס 10 אז הוא יקח 2 ויוסיף את זה לכל שעה נוספת שהמשתמש מכניס... נערך 2013 במאי 2612 שנים על-ידי BenSalem2
פורסם 2013 במאי 2612 שנים אוקי, עד כה הקוד נראה מצוין.עכשיו צריך להוסיף את השלב הבא: אם המשתמש מכניס יותר מ-8 שעות, אז להפריד בין 8 השעות של המשמרת הזו לשאר השעות, ולהוסיף כל חלק לסכום אחר. זה שינוי די קטן סה"כ (תוספת של 2-3 שורות קוד פחות או יותר).
פורסם 2013 במאי 2612 שנים רגע רגע למקרה שלא שמתם לב זה גם אחד השלבים שאני נתקע בוכי מה אני צריך לעשות כדי שהתוכנית תחשב כל מספר אחרי 8 זאת אומרת אם המשתמש הכניס 10 אז הוא יקח 2 ויוסיף את זה לכל שעה נוספת שהמשתמש מכניס...תראה, אתה חייב קודם כל משתנה שיסכום לך רק את השעות הנוספות נכון?חוץ מזה אתה צריך לדעת האם המספר שעות שהכניסו לך הוא מעל 8 נכון?במקרה והוא מעל 8 אתה צריך להוסיף לסכום הרגיל 8, ולסכום החדש את השעות שהכניסו פחות 8 נכון?במקרה והשעות שהכניסו זה מתחת ל-8 אתה צריך לבצע את הפעולה שאתה עושה כרגע נכון?אם זה יעזור לך אתה יכול לנסות לכתוב את הפעולות בפסיאודו-קוד בעברית
פורסם 2013 במאי 2612 שנים מחבר תראה, אתה חייב קודם כל משתנה שיסכום לך רק את השעות הנוספות נכון?חוץ מזה אתה צריך לדעת האם המספר שעות שהכניסו לך הוא מעל 8 נכון?במקרה והוא מעל 8 אתה צריך להוסיף לסכום הרגיל 8, ולסכום החדש את השעות שהכניסו פחות 8 נכון?במקרה והשעות שהכניסו זה מתחת ל-8 אתה צריך לבצע את הפעולה שאתה עושה כרגע נכון?אם זה יעזור לך אתה יכול לנסות לכתוב את הפעולות בפסיאודו-קוד בעבריתכל מה שאמרת נכוןמה שאני לא יודע זה איך לבצע או מה זה פסיאודו-קוד...בנוסף לזה שניצלאתה יוכל להרחיב עם קוד שאני אראה איך 2-3 שורות של מה?
פורסם 2013 במאי 2612 שנים פסאודו קוד זה "כאילו קוד" - סדרת פקודות פשוטות בעברית שמתארות מה שהתכנית שלך אמורה לעשות. המטרה היא שכל מי שקורא את ה"קוד" הזה יבין מה הכוונה שלך, ושיהיה קל יחסית לתרגם אותו לתכנית מחשב. דוגמה לפסאודו קוד של התכנית שכתבת עד כה:1. sum = 02. קרא מספר shifts מהמשתמש3. עבור i מ-1 עד shifts, בצע:3.1. קרא מספר x מהמשתמש3.2. sum = sum + x4. הדפס את sumשים לב מה שליאור כתב לך - זה כמעט הפסאודו קוד שאתה צריך לכתוב. אתה צריך משתנה שיחזיק כמה שעות נוספות יש (בנוסף למשתנה שמחזיק כמה שעות רגילות יש). אתה צריך לבדוק אם המספר שהמשתמש הכניס גדול מ-8. אם לא, צריך לעשות משהו אחד (מה?) ואם כן אז צריך לעשות משהו אחר (מה?)יש מבין?
פורסם 2013 במאי 2612 שנים מחבר פסאודו קוד זה "כאילו קוד" - סדרת פקודות פשוטות בעברית שמתארות מה שהתכנית שלך אמורה לעשות. המטרה היא שכל מי שקורא את ה"קוד" הזה יבין מה הכוונה שלך, ושיהיה קל יחסית לתרגם אותו לתכנית מחשב. דוגמה לפסאודו קוד של התכנית שכתבת עד כה:1. sum = 02. קרא מספר shifts מהמשתמש3. עבור i מ-1 עד shifts, בצע:3.1. קרא מספר x מהמשתמש3.2. sum = sum + x4. הדפס את sumשים לב מה שליאור כתב לך - זה כמעט הפסאודו קוד שאתה צריך לכתוב. אתה צריך משתנה שיחזיק כמה שעות נוספות יש (בנוסף למשתנה שמחזיק כמה שעות רגילות יש). אתה צריך לבדוק אם המספר שהמשתמש הכניס גדול מ-8. אם לא, צריך לעשות משהו אחד (מה?) ואם כן אז צריך לעשות משהו אחר (מה?)יש מבין?הדרך היותר ברורה שאני אבין היא אם אחד מכם יפרסם את הקוד שמוציא את כל מה שרשמנו פה 3 דפיםהרי זה עניין של שינוי 2-3 שורות אז למה אף אחד לא רשם את הקוד?וגם ככה לומדים יותר מהר אני סתם מתעקב במשהו שאני מרגיש שהוא כל כך בסיסי... אומנם על הדרך למדתי כמה דברים מעניינים בתגובות שלכם..בכל מקרה אם מישהו יוכל לפרסם את הקוד החסר נהדר אם לא תודה רבה לכל המגיבים עזרתם לי מאוד
פורסם 2013 במאי 2612 שנים זה התרגיל שלך, לא שלנו. המטרה היא שאתה תלמד. עובדה שאת החלק הראשון הצלחת יפה בעצמך...נעשה משהו יותר פשוט אפילו.קח את התכנית שלך, ותוסיף לה דבר אחד פשוט - כל פעם שהמשתמש מכניס כמה שעות הוא עבד במשמרת, אם הוא עבד יותר מ-8 שעות התכנית תדפיס לו משהו בסגנון "עבדת שעות נוספות!" (חוץ מזה התכנית תעשה אותו דבר כמו מקודם). זהו בינתיים. נערך 2013 במאי 2612 שנים על-ידי שניצל
פורסם 2013 במאי 2612 שנים מחבר זה התרגיל שלך, לא שלנו. המטרה היא שאתה תלמד. עובדה שאת החלק הראשון הצלחת יפה בעצמך...נעשה משהו יותר פשוט אפילו. קח את התכנית שלך, ותוסיף לה דבר אחד פשוט - כל פעם שהמשתמש מכניס כמה שעות הוא עבד במשמרת, אם הוא עבד יותר מ-8 שעות התכנית תדפיס לו משהו בסגנון "עבדת שעות נוספות!" (חוץ מזה התכנית תעשה אותו דבר כמו מקודם). זהו בינתיים. קודם כל נכון זה התרגיל שלי אבל איך אני אלמד בלי לראות את הפתרון מול העיניים אני לא עומד במבחן כל פעם אתם אומרים לי ליצור משהו שאני כבר יודע אני מנסה ללמוד דברים חדשים בכל מקרה נזרום איתכם אני לא מכיר עוד אתרי פורום שעונים כזה מהר if ( hours <= 8 ); { sum = sum + hours; } else (hours>8); printf( "Overtime Hours\n" );
פורסם 2013 במאי 2612 שנים זוכר מה שאמרתי לך קודם?קודם כל כותבים תוכנית שרק קוראת שעות מהמשתמש וסוכמת אותן. כותבים אותה עד הסוף, דואגים שהיא מתקמפלת, רצה ועושה מה שאתה רוצה בדיוק.החלק המודגש רלוונטי בכל שלב, לא רק בהתחלה.
פורסם 2013 במאי 2612 שנים מחבר זוכר מה שאמרתי לך קודם?החלק המודגש רלוונטי בכל שלב, לא רק בהתחלה.אל תיכנס לטעויות תחביר קלותזה דבר שבאותו רגע מתקנים בוא נעלה הילוך ונתקדם מהר יותר ברשותך...#include <stdio.h>#define HOURS_FOR_FULL_JOB 8int main(){ int shift, sum = 0, c,hours,n; 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",&hours); if ( hours <= 8 ) sum = sum + hours; else{ printf ("Overtime Hours\n" ); } } printf("Sum of entered hours worked = %d\n",sum); getch();}
פורסם 2013 במאי 2612 שנים אלה שגיאות מהותיות שלא כדאי בכלל שתעשה אותם אפילו על דף נייר.עכשיו מבחינה לוגית, עדיף שאת השאלה האם המשתמש עבד יותר מ-8 שעות תשאל ככה ולא האם הוא עבד פחות מ-8 שעות.עכשיו אם הוא עבד יותר מ-8 שעות, אתה צריך לחלק את המספר הזה לשני חלקים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.