10-08-2015, 15:09
|
|
מנהל פורום מערכות הפעלה - הרובע המייקרוסופטי.
|
|
חבר מתאריך: 07.10.04
הודעות: 13,777
|
|
מה ההבדל בין התשובה של שובי לזו של דור לזו שלי (שהיא לא תשובה, רק חיזוק לזו של דור)? בכולם מחסירים את ערך ה ascii של 0, לכן אם התשובה של שובי "נכונה פדגוגית" אז גם של כל אחד אחר,
בנוסף - כיצד זה לא נכון פדגוגית להסביר שמשתנה מסוג מצביע לאות (שמציין מחרוזת) שונה ממשתנה מסוג תו?
בנוסף (2) כיצד שימוש בפונקציית סיפרייה שאתה הבאת מתאימה לשאלה של פותח השאלה אשר מקבל כל תו בנפרד ומשנה אותו? אם רצית לתת תשובה פדגוגית היית אומר שלקבל את כל המחרוזת עם gets היה מתאים יותר, אבל גם-אז זה לא היה מתאים לפותח השאלה שכן לא היית יכול להגביל את המספר המתקבל או לשים לב מתי המקשים המיוחדים מתקבלים.
ובאמת? צריך להכיר ספרייה שלמה כדי לדעת איך לעבוד עם דברים שמוגדרים בה? אתה הכרת את כל iostream לפני שהשתמשת ב endl; בפעם הראשונה?
פדגוגית, מעשית, ווירטואלית ובכול צורה שלא תסתכל עליה - אין הבדל בין להחסיר '0' לבין לעשות פונקציה (או מאקרו) שמחסירים '0' ואז להפעיל אותו.
ועוד מילה על הפתרון שלך, להעביר char ל atoi ייגרום לתוכנה לקרוס כנראה, ככה זה שאתה שולח מחרוזת שהיא לא null terminated לפונקציה שמצפה לזה, ב-c יש הרבה פחות בדיקות תקינות מכול שפה עילית אחרת, פדגוגית זה קצת חשוב לשים לב לזה.
_____________________________________
|