פורסם 2010 במאי 515 שנים היי, בוקר טוב ! :-* אני צריך קצת עזרה בלהבין את הבעיה שמצורפת, כלומר איך להתחיל אותה ומאיזו זווית בדיוק לגשת.. קצת קשה לי להבין איך לכתוב את הקוד שיקלוט קלט כל כך ארוך וידע להפריד בין הפקודות השונות. אפשר עזרה ככה בגדול? תודה לעוזרים ויום נעים
פורסם 2010 במאי 515 שנים וואו שאלה ארוכה...בעקרון אם הבעיה שלך היא עם הקלט, אתה פשוט צריך לקרוא אותו כמחרוזת.אח"כ אתה יכול לגשת לתווים שונים במחרוזת כמו לאיברים במערך.אני מודה שלא התעמקתי בהוראות אבל לפי הדוגמא נראה שאתה יכול לדעת מה המשמעות של כל תו לפי המיקום שלו במחרוזת.אתה יכול פשוט לעבור על הקלט איבר-איבר בעזרת לולאת FOR ובכל פעם לבצע את הפעולה שאתה רוצה על תו בודד.ברגע שהגעת לאחד התוים שהגדירו לך אתה יודע שמתחיל תת-חלק חדש במחרוזת.למשל אתה יכול לדעת שאתה צריך להתייחס לאיברים הראשונים (משמאל לימין) כמספר כל עוד לא הגעת ל-W או L וכו'.
פורסם 2010 במאי 515 שנים מחבר כן השאלה לא קצרה.. כל התוכן מבלבל אז אתה אומר לקלוט את כל האיברים (מספרים ואותיות) לתוך תאים של מערך חד מימדי והתנאי עצירה יהיה כשזה מגיע לערך ריק (איך מנסחים תנאי עצירה כזה? אני זוכר משהו בסגנון של '/ ' אבל ברח לי מהראש). לאחר מכן לעבור על המערך הזה עד שאני מגיע לאות מסויימת ואז אני מייחס את המספר שלפני לפקודה שהאות מייצגת? וואו זה מתיש רק לחשוב על זה.. איך אני מנסח את התנאים על הלולאה הזו, ואיך אני יוצר מספר מתוך האיברים במערך הרי אם אני מכניס מספר 1234.5 אז האיבר החמישי במערך יהיה נקודה אין דרך אחרת ליישם את זה חוץ ממערך?
פורסם 2010 במאי 615 שנים אין כזה דבר "ערך ריק". אתה קורא עד שאתה מגיע לתו כלשהו שמבחינתך מסיים את סוף הקלט הנוכחי - לדוגמה, תו רווח או תו ירידת שורה.אפשר לעשות את זה ידנית, או באמצעות פונקציות מובנות כמו scanf/gets/fgets.
פורסם 2010 במאי 615 שנים מחבר זה מילא, אני מדבר על הבלאגן של הבדיקה אחר כך ומיון המספרים לפי כל פקודה..
פורסם 2010 במאי 715 שנים מחבר מישהו אמר לי שהוא לא השתמש בכלל במערכים והוא עשה את זה עם לולאת while אינסופית ו-switch בתוכו. אני לא הבנתי איך בדיוק אפשר לעשות את זה ככה, עזרה!
פורסם 2010 במאי 715 שנים למעט המספר הראשון (שאותו קולטים ב-scanf נפרד מחוץ ללולאה), כל הפקודות בנויות באותו אופן - תו ולאחר מכן מספר (או במקרה של הפקודה L, תו+מספר+תו+מספר).הדרך שאותו מישהו כנראה משתמש בה היא לקרוא תו אחד, לבדוק לאיזה פקודה הוא מתאים, ואז בהתאם לפקודה לקרוא את המשך הקלט (שוב, באמצעות scanf). את זה כמובן עושים בלולאה עד שנגמר הקלט.
פורסם 2010 במאי 715 שנים מחבר מצטער אני בדר"כ יותר חד מזה אבל הפעם אני פשוט לא מבין איך לעשות את זה את הסכום ההתחלתי אתה קולט לפני שאתה נכנס בכלל ללולאת WHILE ואז בלולאה הזו אתה עושה בתחילתה קליטה נוספת לאות ואז יוצר קייסים שבכל קייס קליטה למספר שעליו תתבצע הפקודה של אותה אות, ושוב הלולאה חוזרת על עצמה קולטת אות נוספת ומחפשת את הקייס המתאים וכו' וכו'? אני לא מבין איך לבצע את זה, אתה יכול להראות לי מן קוד כללי כזה 'בגדול'?
פורסם 2010 במאי 715 שנים scanf("%f", &firstAmount);while (1){ c = getchar(); switch(c) { case 'W': scanf("%f", &amount); // code to handle withdraw break; case 'D': scanf("%f", &amount); // code to handle deposit break; case 'L': scanf("%fI%f", &amount, &percentage); // code to handle loan break; }}וכו' וכו'. יש מבין?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.