פורסם 2007 באפריל 2818 שנים שלוםאני מנסה לכתוב תוכנית שקולטת מספר תווים מהמשתמש.אני יודע באיזו פקודה להשתמש (scanf) אבל אני לא מצליח לישם דבר מסוים.ברגע שאני נותן למשתמש להכניס את התווים יש למשתמש אפשרות לכתוב ולמחוק תווים וללחוץ אנטר כשהוא רוצה כדי לאשר את הקליטה.מה שאני רוצה לעשות זה שכאשר המשתמש לוחץ על אות או מספר כלשהו במקלדת אז שהאות/מספר יקלטו ישר בלי שהמשתמש יוכל לשנות או ללחוץ אנטר כדי לאשר.תודה לעוזרים
פורסם 2007 באפריל 2818 שנים מחבר זה בדיוק מה שעשיתיהגדרתי מערך של char אבל כשאני מפעיל את התוכנית ומכניס את התווים אני יכול לשנות ולמחוק ורק כשאני לוחץ אנטר אז זה נקלט.char array[M][N]for(i=0;i<=M-1;i++) {for(j=0;j<=N-1;j++) { scanf("%c ",&array[j]);}}
פורסם 2007 באפריל 2818 שנים מחבר עם getcharזה עדיין אותו דבר - אפשר לשנות.חוץ מזה כשאני מנסה להדפיס את מה שקלטתי הוא מדפיס כל מיני סימנים אבל לא את התווים שקלטתי.
פורסם 2007 באפריל 2818 שנים זה כבר תלוי קומפיילר אולי, אבל ככה למשל:http://msdn2.microsoft.com/en-us/library/078sfkak(VS.80).aspx
פורסם 2007 באפריל 2818 שנים מחבר ניסיתי אבל כשאני מפעיל את התוכנית ולוחץ על מקש כלשהו במקלדת, לא קורה שום דבר.אפילו ניסיתי את התוכנית שכתובה בעמוד.
פורסם 2007 באפריל 2818 שנים עבור מקשים מיוחדים (כמו backspace), צריך לקרוא ל-getch פעמיים.מה שאתה צריך לעשות הוא לקרוא תו באמצעות getch. אם התוצאה היא 0, אז זה אומר שזה תו מיוחד וצריך לקרוא עוד אחד. אחרת, תשתמש בתוצאה של התו שהתקבל.
פורסם 2007 באפריל 2818 שנים מחבר אני משתמש בvisual studio 6 service pack 5שניצל -איך לבצע קריאה נוספת לgetch?בכל זאת השתמשתי רק באותיות ומספרים.
פורסם 2007 באפריל 2818 שנים מחבר חשבתי שהכוונה שצריך לכתוב באופן קצת שונה מאשר סתם לכתוב פעמיים.הרי אם התקבל 0 כתוצאה מאותו מקש מיוחד איך תעזור קריאה פשוטה נוספת? הרי בקריאה השנייה כבר יקלט התו הבא.בכל מקרה זה לא כל כך משנה. מה שכן משנה זו השאלה המקורית.
פורסם 2007 באפריל 2818 שנים ה 0 שמתקבל הוא 0 מספרית, ולא התו 0 אסקי, זה מסמן לך המתכנת שנלחץ מקש מיוחד ולא מקש רגיל.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.