ABA


"מה לא תקין אצלי בקוד הבא - שפת C?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10038 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10038
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   09:20   23.08.10   
אל הפורום  
  מה לא תקין אצלי בקוד הבא - שפת C?  
 
   ערכתי לאחרונה בתאריך 23.08.10 בשעה 09:33 בברכה, dvir8
 
if(scanf("%d%d%d%d",&s1,&s2,&s3,&s4)<4) printf("Error");

מה שאני רוצה לעשות, זה ברגע הקליטה במידה ולא כל השדות מלאים, תתקבלנה הודעת שגיאה.
האם הקוד לא תקין?


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  .. dvir8 23.08.10 09:26 1
  הדרך שאתה קולט לא נכונה... ronen333  23.08.10 13:05 2
     אני אראה לך את הקוד, dvir8 23.08.10 14:10 3
         אממ ג'וני הקטן 23.08.10 14:16 4
             צודק, רק עכשיו הבנתי את הטעות, חשבתי שככה זה אמור להיות dvir8 23.08.10 15:38 5

       
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   09:26   23.08.10   
אל הפורום  
  1. ..  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 23.08.10 בשעה 09:33 בברכה, dvir8
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:05   23.08.10   
אל הפורום  
  2. הדרך שאתה קולט לא נכונה...  
בתגובה להודעה מספר 0
 
   NETBOY כבר העיר ממש לא ממזמן (2 אשכולות מתחתך) שלא ככה קולטים כמה מספרים ביחד, אתה צריך לעשות רווח בין %d לֵ%d. או כל סימן אחר... אבל אז המשתמש יהיה חייב לעשות את הסימן הזה. לדוג' פסיק. הקזואל זה התו רווח.

אז מה שניסית לעשות זה לקלוט 4 המשתנים ואז לבדוק אם לארבעתם נקלטו בהצלחה, כי scanf מחזיר int שאומר כמה הוא הצליח לקלוט.

בקיצור הדבר היחיד שעשית לא בסדר זה הדרך קליטה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   14:10   23.08.10   
אל הפורום  
  3. אני אראה לך את הקוד,  
בתגובה להודעה מספר 2
 
   מה שאני רוצה לעשות זה כך:
אם הקלט לא שווה ל4 תנתן שגיאה.

printf("Enter 4 Start octates IP:\n");

scanf("%d.%d.%d.%d", &s1, &s2, &s3, &s4);
if(scanf("%d.%d.%d.%d", &s1, &s2, &s3, &s4) !=4 )
{
printf("There is an Error input, Please Try again.n");
main();
}

זה אמור לעבוד?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ג'וני הקטן
חבר מתאריך 24.6.10
1166 הודעות
   14:16   23.08.10   
אל הפורום  
  4. אממ  
בתגובה להודעה מספר 3
 
   דבר ראשון תכתוב את הקוד שלך בין (code) ל(/code) (רק עם סוגריים מרובעים במקום כאלה...)
דבר שני אתה קולט שם פעמים אם אתה לא שם לב...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   15:38   23.08.10   
אל הפורום  
  5. צודק, רק עכשיו הבנתי את הטעות, חשבתי שככה זה אמור להיות  
בתגובה להודעה מספר 4
 
  


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

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

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



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