פורסם 2010 בספטמבר 1115 שנים שלום לכם,לאחרונה נקלתי בשאלה ב C++שאין לי קצה של מושג, איך להתחיל אותה אפילו,אני אשמח אם מישהו יוכל להציג לי כאן פתרון, או לפחות הסבר מה צריך לעשות כאן?כתוב תכנית שקולטת אוסף של תווים שמופיע בסדר הבא: סדרת של ספרות, נקודה עשרונית, סדרה של ספרות סוף סדרה '*' .התוכנית בונה מאותו אוסף מספר מסוג ממשי המורכב מאותן ספרות שנקלטו.במידה וקלט לא תקין יש להדפיס הודעה.הערה: חובה לבדוק תקינות קלט (התווים הם רק ספרות או נקודה)דוגמא בעבור הקלט התוים 423.52הפלט מספר ממשי 423.52תודה רבה.
פורסם 2010 בספטמבר 1115 שנים לקרוא תווים בודדים מהקלט אתה יודע?לקרוא תו (char) המייצג ספרה ולהמיר אותו למספר (int) בעל הערך הזה, אתה יודע?תתחיל מתכנית יותר פשוטה, שקוראת רק את החלק הראשון (מה שעד הנקודה) ומכניסה אותו לתוך משתנה מסוג int.
פורסם 2010 בספטמבר 1115 שנים אממ.... לא, כי אז מה החוכמה? הפורום לא כאן בשביל לפתור לך את שיעורי הבית, אלא כדי לעזור לך לפתור אותם בעצמך.
פורסם 2010 בספטמבר 1115 שנים אם בכוונה לממשי אתה מתכוון למספר ללא הגבלה על גודלו אזי לא תוכל להכניס אותו לתוך אף סוג בסיסי של C++ אם כך אז אתה צריך לשמור אותו בצורה סימבולית. האופן שבו תבחר יהיה תלוי בפעולות שאתה צריך לעשות על מספרים כאלו. אם כל מה שאתה רוצה הוא להדפיס את המספר אז הפתרון הפשוט הוא א) תקלוט לתוך מחרוזת. ב) תודא נכונות של הקלט. ג) תדפיס את המחרוזת. אם לעומת זאת אתה צריך משהו שכולל גם פעולות חשבוניות אז תצטרך משהו יותר מתקדם. ולא, אין סיכוי שאני כותב לך את זה
פורסם 2010 בספטמבר 1215 שנים תתחיל מתכנית יותר פשוטה, שקוראת רק את החלק הראשון (מה שעד הנקודה) ומכניסה אותו לתוך משתנה מסוג int.תעבוד בשלבים.
פורסם 2010 בספטמבר 1215 שנים מחבר אוקי, אז עשיתי Whlie שעוצר את הקליטת תווים כשהוא מגיע לתו שאינו נקודה, איך אמור להגיד לו מתי לעצור אח"כ? תודה
פורסם 2010 בספטמבר 1215 שנים עזוב את זה שנייה. תסיים לכתוב את החלק הראשון - שקורא את הספרות שלפני הנקודה לתוך int.
פורסם 2010 בספטמבר 1415 שנים מחבר int main() { char c; char str[1024]; str[0] = '\0'; scanf("%c", &c); while (c != '*') { sprintf(str, "%s%c", str, c); scanf("%c", &c); } printf("%s", str); printf("%f", atof(str)); return (0); }אוקי אז הבנתי, לפי השאלה בסוף המחרוזת יש '*'אמרתי לו לעצור כשהוא מגיע, לקלוט, להמיר למספר ממשי (עשיתי נכון?) ולהדפיס את המחרוזת של התווים,רק למה הוא מדפיס בן כל תו /n ?
פורסם 2010 בספטמבר 1515 שנים הקוד נראה סבבה (למרות שהייתי מעדיף להימנע מ-sprintf, זה סתם מיותר). לא כל כך הבנתי מה הבעיה שלך בדיוק (מה הקלט לתכנית, ומה בדיוק היא מדפיסה?)נ.ב. למה אתה עושה return 1? נהוג להחזיר 0.
פורסם 2010 בספטמבר 1515 שנים מחבר הקלט הוא מחרוזת של תווים. נכנסים למערך,הפלט הוא מספר ממשי, החזרתי גם 1 כי אני מתעצל לשנות ל VOID.בכל אופן, במקום להדפיס 334.55 נניח. ההדפסה היא 5_5_._4_3_3 (כש-'_' = רווח)המ, איך אני פותר את זה, ואיך אני יוכל להמנע משימוש ב sprintf?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.