שימוש בפונ' ()sleep ב Dev-C++

vinney

Well-known member
הקוד שלך לא ממש יפה

א. לולאה אינסופית זה לא דבר טוב אף פעם. עדיף שתשתמש בלולאת WHILE עם תנאי עצירה מוגדר (קלט 0 במקרה שלך). ב. EXIT זה פקודה למקרי חירום בלבד, במקרה הזה הרבה יותר מתאים BREAK, אם כבר בחרת לעבוד עם לולאה אינסופית. ג. CONTINUE אצלך חסר כל משמעות כי הוא יושב כפקודה אחרונה בלולאה, אין צורך לכתוב CONTINUE כי זה ממילא מה שקורה. וד. - מה לא ברור לך בקוד? תשאל, נשמח לענות.
 

AmitNHB

New member
אני מניח שלא.

זה לא מתקמפל. זה אומר שה SLEEP לא מוצהר.
 

F00D Is G00D

New member
מוזר, גם אני לא הצלחתי לקמפל

את הקובץ שלך.. כמה הערות **EXIT ו CONTINUNE א, אני לא בטוח שקימים בכלל-ב, בטוח לא מקובלים.. **גם לולאות אינסופיות לא רצויות **לפני ה MAIN היה חסר INT **בסוף התוכנית צריך להחזיר ערך (return 0) משום מה לא הצלחתי לקמפל את התוכנית אז בנתי מחדש כמו שאמור להייות בתכלס... קח את הערות כהערות בונות, יש שם משהוא שאני אפילו לא מצליח לעלות עליו, והרבה יותר קל לי לכתוב מחדש
#include <stdio.h> #include <time.h> int main(int argc, char *argv[]) { int num; while(num != 0){ printf("\n Enter a number between 1 and 99, 0 to exit"); scanf("%d", &num); printf("You enterred, %d", num); sleep(3000); } return 0; }​
 

F00D Is G00D

New member
האא וה PUTS

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

AmitNHB

New member
אני פשוט לומד כרגע עם ספר C שמגיע

עם מהדר לדוס, אז כנראה שיש כמה שינויים. לא רשום שם שצריך INT לפני MAIN ולא שצריך להחזיר בסוף 0. אם תוכל להסביר לי למה, אשמח. האמת שבכלל לא הבנתי את ההחרזה על הפונ' MAIN INT אני מבין כי היא מחזירה ערך, למרות שלא הבנתי למה היא צריכה להחזיר ערך... לגביי הארגומנטים, גם לא ברור לי מה תפקידם. תודה.
 

vinney

Well-known member
מה שאתה עובד איתו בכלל לא מעודכן

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

F00D Is G00D

New member
ההחזרה..

פונקציות אני מאמין שאתה עדיין לא יודע מה זה.. אבל זה מעין מיני תוכנית ששיכת לתוכנית הראשית. המיני תוכנית מחזירה לתוכנית הראשית ערך שהוא לפי מה שכתוב לפני הפונקציה: int/char/float/duble את הערך ניתן להכניס לתוך משתנה לאחר הפעלת הפונקציה. מערכת ההפעלה (או בעצם רק הcomand promt) עובד כאילו התוכנית שלך היא פונקציה, היא שולחת משהוא(אם שמת לב בסוגרים של הMAIM יש "int main(int argc, char *argv[])")אני לא יודע בידוק מה היא שולחת, אבל בעקרון אפשר להשתמש במידע הזה לתוכנית(נסה פעם להדפיס את המשתנים האלו) והיא גם מחזירה משהוא למערכת ההפעלה, במקרה שלנו 0. זה אומר למערכת שהתוכנית סיימה לעבוד. ואני מאמין שאתה מבין למה המידע הזה יכול לשמש אותה..
 

AmitNHB

New member
תודה.

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