ABA


"עזרה ב-C בנושא קבצים:יש אפשר' לדעת האם אני בסוף שורה?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15279 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15279
BlacKobra

   16:37   13.04.09   
אל הפורום  
  עזרה ב-C בנושא קבצים:יש אפשר' לדעת האם אני בסוף שורה?  
 
   יש לי שאלה שאומרת שיש לי קובץ של מועדי א ומועדי ב

ובתוכו יש לי בכל שורה:

תעודת זהות
קוד קורס
ציון
קוד קורס
ציון
...
וכן הלאה ולא נתון לי כמה קורסים הוא עושה...

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


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  סוף שורה זה n\ וחזרה לתחילת השורה הבאה r\ עידן_הכלי 13.04.09 16:58 1
  ברור אחי אבל איך אני יכול לזהות את ה-\N בלי לפגוע בקליטה של הנתונים? BlacKobra 13.04.09 21:17 2
     מה זאת אומרת? Nesher  14.04.09 00:57 4
  יש תו אסקי שנקרא EOF. אתה מכניס את הערך האסקי ldan192  14.04.09 00:25 3
     לעידן ונשר BlacKobra 14.04.09 01:15 5
         לדעתי ענו לך. Deuce  14.04.09 01:53 6
         דבר ראשון התכנון של הקובץ די לקוי Nesher  14.04.09 01:54 7
         כמו שאמרו. יש לך 2 לולאות ldan192  14.04.09 09:36 8
             חשבתי על זה אבל זה לא נכון והנה התשובה... BlacKobra 14.04.09 10:40 9

       
עידן_הכלי

   16:58   13.04.09   
אל הפורום  
  1. סוף שורה זה n\ וחזרה לתחילת השורה הבאה r\  
בתגובה להודעה מספר 0
 
  


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

   21:17   13.04.09   
אל הפורום  
  2. ברור אחי אבל איך אני יכול לזהות את ה-\N בלי לפגוע בקליטה של הנתונים?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   00:57   14.04.09   
אל הפורום  
  4. מה זאת אומרת?  
בתגובה להודעה מספר 2
 
מה שהסברת זה לנסות לאכול מהעוגה ולהשאיר אותה שלמה...

כל שורה יש לך מידע לגבי קורס
אבל אתה מצד שני לא רוצה לרדת שורה? או מה?

ה-n\ זה תו לכל דבר זה לא פוגע לך בשום קליטת נתונים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   00:25   14.04.09   
אל הפורום  
  3. יש תו אסקי שנקרא EOF. אתה מכניס את הערך האסקי  
בתגובה להודעה מספר 0
 
שלו בשביל לוודא שהגעת לסוף המסמך (מסמך טקסט).

תפתח מפת ASCII ותראה מה המספר שלו


בברכה,
עידן


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

   01:15   14.04.09   
אל הפורום  
  5. לעידן ונשר  
בתגובה להודעה מספר 3
 
   תקשיבו
נניח יש לי 2 תעודות זהות וקובצ מהסגנון הבא
:

תז: 30678890 קוד.קורס:9876 ציון:80 קוד.קורס:8438 ציון:92\n
תז: 20638456 קוד.קורס:1111 ציון:76\n

עכשיו כפי שאמרתי אתם לא יודעים ככמה קורסים כל אחד עושה יכול להיות שלראשון יש 3 ולשני 1.

אז איך אני יכול לדעת מתי עברתי על כל הקורסים של תז הראשן
ואז אני מתחיל לעבור על הקרוסים של התז השני?

כלומר... מתי אני יורד שורה?(הרי נתון שכל שורה זה תז אחר...)
הבנתם?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   01:53   14.04.09   
אל הפורום  
  6. לדעתי ענו לך.  
בתגובה להודעה מספר 5
 
הקריטריון שלך להבדיל בין תעודות הזהות הוא \n אז פשוט תשווה אליו.
if (chr == '\n') then ...






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   01:54   14.04.09   
אל הפורום  
  7. דבר ראשון התכנון של הקובץ די לקוי  
בתגובה להודעה מספר 5
 
דבר שני, אתה עושה בדיקה של כל עוד (do..while) שהתנאי זה התו של הירידת שורה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   09:36   14.04.09   
אל הפורום  
  8. כמו שאמרו. יש לך 2 לולאות  
בתגובה להודעה מספר 5
 
אחת שמצפה קודם לת.ז. וקולטת את המספר
ולולאה פנימית שמצפה למספר קורסים עם ציון עד שהיא מגיעה לסוף שורה עם n\ וסיום הלולואות.
עכשיו, בלולאה החיצונית אתה יכול גם לבדוק (while(line!=EOF וכד', תלוי איך אתה קולט את הקלט, אבל אני מבין ממך שלא לזה התכוונת בסוף.


בברכה,
עידן


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

   10:40   14.04.09   
אל הפורום  
  9. חשבתי על זה אבל זה לא נכון והנה התשובה...  
בתגובה להודעה מספר 8
 
   זה לא נכון כי אם אני אקלוט נגיד 3 מספרים ובתוכם יהיה \N

אז איבדתי את 2 התווים שאחריו או תו אחד אחרי... וגם את התווים שלפניו

ואני לא יכול לעשות דו וויל כי אז אני צריך לעשות FSCANF או FGETC
על תו אחד ואז אם זה לא \N שוב איבדתי נתונים.

מה שעושים זה עושים SSCANF והא קולט מחרוזת אחת ארוכה של התז והציונים...

ואז אני מפריד את הנתונים מהממחרוזת ההאורכה...

תודה בכל מקרה


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

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

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



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