עבור לתוכן

צריך עזרה קלה בקליטת נתונים ב c++

Featured Replies

פורסם

שלום

אני מנסה לכתוב תוכנית שקולטת מספר תווים מהמשתמש.

אני יודע באיזו פקודה להשתמש (scanf) אבל אני לא מצליח לישם דבר מסוים.

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

מה שאני רוצה לעשות זה שכאשר המשתמש לוחץ על אות או מספר כלשהו במקלדת אז שהאות/מספר יקלטו ישר בלי שהמשתמש יוכל לשנות או ללחוץ אנטר כדי לאשר.

תודה לעוזרים

פורסם

תקרא תו תו מהמקלדת ותכניס את זה למערך.

פורסם
  • מחבר

זה בדיוק מה שעשיתי

הגדרתי מערך של char אבל כשאני מפעיל את התוכנית ומכניס את התווים אני יכול לשנות ולמחוק ורק כשאני לוחץ אנטר אז זה נקלט.

char array[M][N]

for(i=0;i<=M-1;i++) {for(j=0;j<=N-1;j++) {

scanf("%c ",&array[j]);

}}

פורסם

תקרא תו תו == אל תשתמש ב scanf. תשתמש ב getchar או משהו דומה.

פורסם
  • מחבר

עם getchar

זה עדיין אותו דבר - אפשר לשנות.

חוץ מזה כשאני מנסה להדפיס את מה שקלטתי הוא מדפיס כל מיני סימנים אבל לא את התווים שקלטתי.

פורסם

תנסה את הפקודה getch.

פורסם
  • מחבר

איך משתמשים בפקודה getch?

פורסם
  • מחבר

ניסיתי אבל כשאני מפעיל את התוכנית ולוחץ על מקש כלשהו במקלדת, לא קורה שום דבר.

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

פורסם

באיזה קומפיילר / סביבה אתה משתמש ?

פורסם

עבור מקשים מיוחדים (כמו backspace), צריך לקרוא ל-getch פעמיים.

מה שאתה צריך לעשות הוא לקרוא תו באמצעות getch. אם התוצאה היא 0, אז זה אומר שזה תו מיוחד וצריך לקרוא עוד אחד. אחרת, תשתמש בתוצאה של התו שהתקבל.

פורסם
  • מחבר

אני משתמש בvisual studio 6 service pack 5

שניצל -

איך לבצע קריאה נוספת לgetch?

בכל זאת השתמשתי רק באותיות ומספרים.

פורסם

איך לבצע קריאה נוספת ? .... פשוט תקרא שוב ?

פורסם
  • מחבר

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

הרי אם התקבל 0 כתוצאה מאותו מקש מיוחד איך תעזור קריאה פשוטה נוספת? הרי בקריאה השנייה כבר יקלט התו הבא.

בכל מקרה זה לא כל כך משנה. מה שכן משנה זו השאלה המקורית.

פורסם

ה 0 שמתקבל הוא 0 מספרית, ולא התו 0 אסקי, זה מסמן לך המתכנת שנלחץ מקש מיוחד ולא מקש רגיל.

ארכיון

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

דיונים חדשים