פורסם 2005 בדצמבר 2319 שנים שלום לכולם...אני צריך לעשות menu לתוכנית מסויימת(בחירה של מספרים בין 1 ל 5) כך שאם המשתמש מכניס מספר אחר הוא יאלץ לעשות זאת שוב ושוב...עד כאן הכל קל...עשיתי את זה עם SWITCH ו CASE ועם תנאי לפני הלולאה...הבעיה היא כאשר המשתמש מכניס 46 ואז ENTER...משום מה הוא לא מקבל את כתו בודד אלא כ2 מה שגורם לו להיכנס לתוכנית כ-4 וזה טעות!!!איך אני יכול לשנות את זה כך שהוא יכנס ללואה בכל מספר שונה מ 1-5?אך ורק על ידי CHAR...בלי מחרוזת או מערכים..ובלי getch....
פורסם 2005 בדצמבר 2319 שנים #include "stdafx.h"#include <conio.h>int _tmain(int argc, _TCHAR* argv[]){ char x = '0' ; int x2 = 0; while(x != '5') { printf("\nEnter fucking number "); x2 = scanf("%c",&x); fflush(stdin); } printf("End"); return 0;}
פורסם 2005 בדצמבר 2319 שנים זה עדיין לא יפתור את הבעיה... אם הוא קולט 46, אז זה יקלוט רק את ה-4.אם אתה מניח שהמשתמש ינסה לרשום אך ורק מספרים, אז פשוט במקום לקרוא char תקרא int.אחרת זה קצת יותר מורכב... בנוסף לתו שאתה קורא אתה צריך גם לקרוא את התו שאחריו, כדי לוודא שהוא רווח או ירידת שורה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.