ABA


"|עזרה| אני צריך לכתוב תוכנית בC די פשוטה..."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13711 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13711
iceman23

   19:53   16.11.06   
אל הפורום  
  |עזרה| אני צריך לכתוב תוכנית בC די פשוטה...  
 
   אני צריך לבנות מסננת קלט שתבדיל בין מס ממשי לבין מס טבעי
ולהשתמש במשתנה char כלומר אם אני מקבל:
51.00 בגלל הנקודה זה יזהה אותו כממשי.. כלומר כל תו יכנס למשתנה char ויבדק.

אין אפילו קצה של רעיון..

אשמח לטיפים.. אני לא מחפש שיכתבו לי את התוכנית, רק רעיון..

תודה...


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תקלוט תו ותשווה אם הוא בתחום של ספרות 0 עד 9 או . Nesher  16.11.06 20:01 1
     סבבה, אבל... iceman23 16.11.06 20:09 2
         צודק.. אבל בשביל זה אתה יכול לשים %s בפונ' קלט Nesher  16.11.06 20:23 3
             כן, אני מכיר את string ו getch.... iceman23 16.11.06 20:29 4
  אז ככה: TTAsnn 16.11.06 23:37 5
     זה הפתרון הכי קל, הוא אמר שהוא צריך לקלוט בתווים.. Nesher  16.11.06 23:42 6
     תודה... אבל זה לא עוזר המטרה היא מסננת קלט... iceman23 17.11.06 00:37 7
         נו לא הבנתי מה בעייה? lior066 25.11.06 19:56 8
             אחלה MULI 25.11.06 20:21 9

       
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   20:01   16.11.06   
אל הפורום  
  1. תקלוט תו ותשווה אם הוא בתחום של ספרות 0 עד 9 או .  
בתגובה להודעה מספר 0
 
ערכתי לאחרונה בתאריך 16.11.06 בשעה 20:04 בברכה, Nesher
 
ותמשיך עד שאתה מחליט לעצור (למשל הכנסה של התו ! יבצע עצירה)
קשה?
ועוד משהו, תגדיר משתנה בוליאני (IsInteger או IsFloat למשל) תאתחל בהתאם
ותשנה בהתאם אם יש .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
iceman23

   20:09   16.11.06   
אל הפורום  
  2. סבבה, אבל...  
בתגובה להודעה מספר 1
 
   איך אני קולט את התו הבא.. הרי char מכיל רק את התו הראשון שמודפס למסך..
המשתמש לא מדפיס:
5 "אנטר"
0 "אנטר"...

איך אני קולט את התו השני??

תודה על התשובה המהירה..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   20:23   16.11.06   
אל הפורום  
  3. צודק.. אבל בשביל זה אתה יכול לשים %s בפונ' קלט  
בתגובה להודעה מספר 2
 
ולשים משתנה שהוא מערך של תוים....
גם אמורה להיות פונ' נוספת כמו getch() אני חושב


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
iceman23

   20:29   16.11.06   
אל הפורום  
  4. כן, אני מכיר את string ו getch....  
בתגובה להודעה מספר 3
 
   הבעיה שלא למדנו עליהם בגלל זה אסור לנו להשתמש איתם עדיין....

תודה בכל אופן...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TTAsnn

   23:37   16.11.06   
אל הפורום  
  5. אז ככה:  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 16.11.06 בשעה 23:39 בברכה, TTAsnn
 
תקלוט אותו בתור ממשי.

float x;
int y;
cin>>x;
y=x;
if (y==x)
cout<<"INT";
else
cout<<"FLOAT";


בעקרון אם למדתם Typecasting שאני מניח שלמדתם אז תתקן את השורה
y=x;
ל
y=(int)x;
לצורך ביטול אזהרת הקומפיילר על כך שאתה מעביר FLOAT ל INT.
לא צריך להשתמר במשתנה CHAR אם אתה רוצה תמצא איך לשלב אותו
בתוכנית.

עריכה: כתבתי את זה ב C++ אתה צריך לשנות את CIN ל SCANF ואת COUT לPRINTF
אני חלוד ב C


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   23:42   16.11.06   
אל הפורום  
  6. זה הפתרון הכי קל, הוא אמר שהוא צריך לקלוט בתווים..  
בתגובה להודעה מספר 5
 
או שאולי הוא התבלבל עם המשמעות ואז זה הפתרון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
iceman23

   00:37   17.11.06   
אל הפורום  
  7. תודה... אבל זה לא עוזר המטרה היא מסננת קלט...  
בתגובה להודעה מספר 5
 
   כלומר אם אני מקבל שורה של מס' כמו:
10 50 1.5
אני יעבור תו תו ויבדוק אם הוא עומד בתנאים (מס טבעיים) אם כן אני מדפיס את הסכום שלהם...

למשל בדוגמה הנ"ל הוא יעבור על "1" והוא בסדר ואז הוא יתן שגיאה כי "." היא תו שמצביע על כך שזה עשרוני..
נ.ב. תו הרווח (בascii) משמש להבדלה בין מס למס...

למישהו יש רעיון???

תודה למנסים...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   19:56   25.11.06   
אל הפורום  
  8. נו לא הבנתי מה בעייה?  
בתגובה להודעה מספר 7
 
   אם אתה קולט את זה כסטרינג , אתה יכול לפרק את זה למערך של תווים ונגיד שרווח זה סימן לעבוד להבא ונקודה אומר שזה מספר ממשי אין בעייה בזה
אם אני לא טועה אני מתכנת בויבי אז זה אמור להיראות ככה גם אני רק עכשיו לומד סי שנה ראשונה..


while flag == true{
if str(i)=="." then
flag=flase
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MULI

   20:21   25.11.06   
אל הפורום  
  9. אחלה  
בתגובה להודעה מספר 8
 
   אבל i++ כדי לבדוק את התו הבא כל פעם
ולהוסיף בתנאי של הWHILE שיבדוק גם אם הגענו לסוף הסטרינג


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net