עבור לתוכן

בעיה בהדפסה של משתנה בשפת סי...

Featured Replies

פורסם

תראו יש לי פונקציה שמחזירה לי משתנה דאבל

אני צריך להדפיס את המשתנה הזה במקום במסך לא בהתחלה

נניח באמצע

אז אני משתמש ב פקודות MOVETO ו OUTTEXET

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

שאם במתשנה של הדאבל יש לי שבר אז כאשר אני עושה LTOA זה חותך לי את השבר ונותן רק את השלם

איך אני יכול לפתור את זה?

פורסם

בטוח יש דרך פשוטה יותר אבל אם אתה מתעקש

char buf[50];

sprintf(buf,"%lf",d);

פורסם
  • מחבר

פשוט זה לא.. תאמין לי..

אם היית קורא היית רואה שאני לא רוצה להדפיס את זה בתחילת המסך

אלה במקום כלשהו אחר .. לכן אני צריך להשתמש בפקודות OUTTEXT ו MOVETO..

ופה נוצרת הבעיה.. מכיוון שברגע שאני ממיר את המשתנה דאבל למחרוזת או מקצץ לי את העשרוני ושומר רק את השלם..

פורסם

יש פקודה שנקראת outtextxy למקרה שלא שמעת עליה.....

פורסם

מכיוון שברגע שאני ממיר את המשתנה דאבל למחרוזת או מקצץ לי את העשרוני ושומר רק את השלם..

char buf[50];

sprintf(buf,"%lf",d);

פורסם
  • מחבר

למה אתם לא קוראים מה שאני אומר

char buf[50];

sprintf(buf,"%lf",d);

איך בדיוק זה יעזור לי להדפיס את העיניין באמצע המסך נגיד???

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

אז זה קצת בעיה ואל תגיד לי תמיר את זה עם LTOA בגלל שזה מקצץ את העשרוני...

אם לא הבנת נגיד יש לי 5.644 אז מה שאני יקבל זה רק 5

אז אם למישהו יש פתרון טוב שיציע..

פורסם

למה אתם לא קוראים מה שאני אומר

char buf[50];

sprintf(buf,"%lf",d);

איך בדיוק זה יעזור לי להדפיס את העיניין באמצע המסך נגיד???

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

אז זה קצת בעיה ואל תגיד לי תמיר את זה עם LTOA בגלל שזה מקצץ את העשרוני...

אם לא הבנת נגיד יש לי 5.644 אז מה שאני יקבל זה רק 5

אז אם למישהו יש פתרון טוב שיציע..

מה לא הבנת בפתרון של HOLY???

זה מכניס לך את המספר כולל השבר (lf%( למחרוזת BUF

עככשיו תדפיס את המחרוזת הזאת למסך..

והכוונה ב OUTTEXTXY זה במקום להשתמש ב MOVETO

פורסם

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

sprintf מתנהג כמו printf רק שהוא מדפיס את זה לתוך מחרוזת ולא למסך

ככה אתה יכול להמיר כל דבר למחרוזת

פורסם
  • מחבר

אהה את זה לא ידעתי ומה זה ה -d

?

char buf[50];

sprintf(buf,"%lf",d);

פורסם

פומפות? מה זאת אומרת?

עריכה- D זה המשתנה double שאתה רוצה להמיר..

פורסם

פומפות זה מה שיש לך מתחת לקלידים

sprintf עובד בדיוקכמו printf רק שהוא מדפיס למחרוזת ולא למך

אתה יכול להשתמש בזה לכל דבר שתרצה ובמקרה הזה להדפיס double

פורסם
  • מחבר

בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר בסדר

הבנתיייייי תותחח תודההההההה

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים