כותב |
|
טל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 07 February 2006 בשעה 19:32 | | IP רשוּם
|
|
|
|
למדתי בעבר שפת C וחזרתי ללמוד לבד, הורדתי complier c
dev c++ ואחרי שאני לוחץ על compile ואין טעויות , אחר כל run אז המסך השחור של התוכנית שאני אוכל לראות אם הצלחתי מופיע לרבע שנייה ונעלם..
עכשיו השאלה מה עם המסך הזה איך אני יכול להשאיר אותו קבוע כל פםע שאני לוחץ run ?
תודה מראש
טל.
|
חזרה לתחילת העמוד |
|
|
cp77fk4r מנהל פורומים
מנהל פורום אבטחת מידע
הצטרף / הצטרפה: 09 April 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 501
|
נשלח בתאריך: 07 February 2006 בשעה 19:40 | | IP רשוּם
|
|
|
|
זה קורה מפני שהתוכנית שלך לא אמורה לחכות, לבצע איזה משימה (לדוגמא לפלוט מידע על המסך), ואחרי שהיא גומרת את תפקידה- היא ישר נסגרת וחוזרת לסביבת הריצה שלה.
או שתלחץ (אם אני זוכר טוב) על F5 בכדי לראת את הפלט האחרון של התוכנית, או שפשוט כנס לStart ושם לRun, שם תכתוב CMD בכדי להגיע לקונסול, ושם תכתוב ככה:
בזמן שאת Path אתה משנה למיקום של התוכנה שלך, ואת name.exe אתה משנה לשמה של התוכנית שלך.
__________________ [Th3rE R mAnY wAyZ 2 r3aD oN3 EmPty p4gE]
|
חזרה לתחילת העמוד |
|
|
טל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 07 February 2006 בשעה 20:07 | | IP רשוּם
|
|
|
|
מממ לא הצלחתי , איך דרך לראות את התוכנית?
כמובן שהתחלתי בפלט על המסך אז אני די צריך לראות אם זה עובד..
|
חזרה לתחילת העמוד |
|
|
טל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 07 February 2006 בשעה 20:09 | | IP רשוּם
|
|
|
|
אם לא אז תוכנה אחרת שבא אני אוכל לראות את זה ..
|
חזרה לתחילת העמוד |
|
|
AC-Milan משתמש חבר
הצטרף / הצטרפה: 27 July 2005
משתמש: מנותק/ת הודעות: 176
|
נשלח בתאריך: 07 February 2006 בשעה 21:30 | | IP רשוּם
|
|
|
|
אני מכיר שתי דרכים כדי "להחזיק" את מסך הפלט ב C .
דרך 1 :
קוד:
#include <stdio.h> #include <stdlib.h> int main() { printf("AC-Milan !"); system("PAUSE"); return 0; }
|
|
|
דרך 2 :
קוד:
#include <stdio.h> #include <conio.h> int main() { printf("AC-Milan !"); getch(); return 0; }
|
|
|
|
חזרה לתחילת העמוד |
|
|
טל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 07 February 2006 בשעה 21:35 | | IP רשוּם
|
|
|
|
מממ אז איך מתחיל אמור לדעת אם הוא הצליח את התוכנית או לא ?
|
חזרה לתחילת העמוד |
|
|
אבידור אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 07 February 2006 בשעה 21:57 | | IP רשוּם
|
|
|
|
תשמע, זה נגרם עקב כך שזה עושה את מה שאמור לעשות ומתקדם הלאה. אם אין יותר פקודות הוא יוצא! לכן לדעתי הפתרון הכי טוב הוא להשתמש בפקודת הgetch(); שנמצאת בספריית conio.h . הפקודה פשוט משהה את התוכנית עד אשר המשתמש לוחץ על משהוא. אפשר גם להוסיף PRESS ANY KEY TO EXIT. הנה תוכנית לדוגמא שתכתוב משהוא , תחכה שהמשתמש יגע במשהוא ותצא.
קוד:
#include <stdio.h> #include <conio.h> int main() { clrscr(); //Clean the screen textcolor(2); cprintf("Avidor the king! \n\r"); cprintf("Press any key to exit"); getch(); }
|
|
|
שים לב, אם השתמשת בפונקציות כמו SCANF לפני, אשר משתמשות במחסנית אתה צריך לרוקן אותה... קיצר גם אני לא הבנתי ת'חרה הזה פשוט תשים את הפקודה FLUSHALL(); לפני GETCH אם יש לך SCANF בתוכנית.
ואם יש מקרים שהתוכנית חייבת לצאת אבל אתה צריך לראות את הפלט, אתה יכול להכנס לקומנד פרומט > התחל > הפעלה > CMD שמה לנווט עד לקובץ המקומפל ולהפעיל אותו וככה תראה את הפלט המתקבל וכשהתוכנית תצא היא תחזור ל CMD והפלט ישאר מלמעלה.
|
חזרה לתחילת העמוד |
|
|
טל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 08 February 2006 בשעה 00:18 | | IP רשוּם
|
|
|
|
הבנתי תודה לכולם
הולך לי בסדר בנתיים , אבל באמת כדי להוסיף את זה למדריך למתחילים כי התחלתי משם ובלי זה אי אפשר להמשיך..
|
חזרה לתחילת העמוד |
|
|
אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 08 February 2006 בשעה 04:25 | | IP רשוּם
|
|
|
|
הסבר מהיר:
- הפתרונות שהוצעו למעלה לא הכי טובים:
- מה לעשות ו-system שולחת פקודות למערכת. מה לעשות, ואולי מערכות
שונות יפעלו באופן שונה. מה לעשות ו-PAUSE היא לא בדיוק פקודה תקנית. מה
לעשות...
- בכללי conio.h היא ספריה לא סטנדרטית ואין-להשתמש בה. לכן גם getch ממנה לא מומלץ.
- יש פתרון טוב, והוא זה שהציע CP: להריץ את התוכנה ידנית משורת
הפקודה(ואז כשנשארים בשורת הפקודה רואים את הפלט האחרון של התכנית); או
יותר טוב מזה - לקבוע בסביבת העבודה שלך שתשאיר את החלון פתוח. אם היא לא
תומכת בזה, היא ממש מסריחה. אני לא מכיר את DEVCPP, אבל מדובר בפיצ'ר די
בסיסי. אתה בטוח שאתה לא מוצא אותו שם?
(אצלי, ב-VCPP6 לדוגמה, אם כותבים console application, הוא משאיר את חלון
הקונסול פתוח אחרי שהתכנית מסתיימת ומציע לי "ללחוץ על כל מקש כדי לסגור
את החלון", בלי שום פקודה מיוחדת בקוד)
- אם אתה לא מוצא שום דבר כזה ב-DEVCPP אולי תשקול לפחות cin(או cin.get וכו') במקום את conio.h? זה לא עולה כסף, אתה יודע...
|
חזרה לתחילת העמוד |
|
|
אורח אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 08 February 2006 בשעה 14:15 | | IP רשוּם
|
|
|
|
getchar();
פונקציה סטנדרטית.
|
חזרה לתחילת העמוד |
|
|
יוחאי אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 08 February 2006 בשעה 23:21 | | IP רשוּם
|
|
|
|
שמעו אני לא יודע מה איתכם אבל לפי דעתי הדרך הכי טובה לראות את הטקסט של הפלט היא באמצעות לראות את מסך הדוס (אני מזמן לא התעסקתי עם זה אז אני לא זוכר בדיוק) אבל באחד האופציות התפריט הראשי אם אתה גולל את זה כלפי מטה יש אפשרות הצגת מסך הדוס ואז תוכל לראות את מה שהתוכנה שלך עשתה. זאת דרך נוחה ופשוטה למתחיל.
|
חזרה לתחילת העמוד |
|
|