נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: EOF ב visual c

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
Guy
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 30 March 2007 בשעה 14:16 | IP רשוּם
ציטוט Guy

שלום רב לכולם!

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

ניסיתי :

for (i=0;i!=(EOF);i++i

ה I בסוף כיוון שלא הצלחתי לסגור את הסוגריים - הם קפצו לצד שני

תודה על העזרה!

חזרה לתחילת העמוד הצג את כרטיס החבר של Guy חפש הודעות אחרות של Guy בקר בדף הבית של Guy
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 30 March 2007 בשעה 14:53 | IP רשוּם
ציטוט SBD

זה "קצת" לא ברור.

איזה שפה אתה עובד?

מה זה EOF, קבוע?


__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 30 March 2007 בשעה 15:46 | IP רשוּם
ציטוט SBD

אוקי ראיתי בכותרת עכשיו שאתה מדבר על C...

אז עכשיו רק אני צריך לדעת מה יש בתוך הלולאה... -.-


__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guy
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 30 March 2007 בשעה 16:17 | IP רשוּם
ציטוט Guy

קודם כל תודה

בלולאה יהיו שני מונים שיספורו כמה מהמספרים חיוביים וכמה שליליים - וכשיוצאים מהלולאה הוא ידפיס את הערכים של המונים.הבעיה היא שנתבקשתי לצאת מהלולאה ע"י cntrl^d

שזה בעצם end of file . 

חזרה לתחילת העמוד הצג את כרטיס החבר של Guy חפש הודעות אחרות של Guy בקר בדף הבית של Guy
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 31 March 2007 בשעה 20:17 | IP רשוּם
ציטוט SBD

אבל האם אתה קולט את הקלט של המשתמש לתוך I ?


נ.ב אני מניח שהתנאי שלך נכון, כי למען האמת לא התנסיתי בו...נסה בתור התחלה לעשות את זה כשלוחצים על איזה שהוא תו, סתם שנהיה בטוחים בעניין :)


__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guyke
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 30 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 34
נשלח בתאריך: 31 March 2007 בשעה 21:57 | IP רשוּם
ציטוט Guyke

OK ניסיתי עם אות מסויימת וזה עובד - אולי תדע לאן להפנות אותי כי באתר לא מצאתי פתרון...

 

חזרה לתחילת העמוד הצג את כרטיס החבר של Guyke חפש הודעות אחרות של Guyke
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 31 March 2007 בשעה 22:21 | IP רשוּם
ציטוט SBD

עכשיו תנסה לראות מה צירוף המקשים CTRL+d מחזיר לך...(בנה תוכנית קטנה לשם כך....)

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guyke
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 30 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 34
נשלח בתאריך: 31 March 2007 בשעה 22:55 | IP רשוּם
ציטוט Guyke

חיפשתי וחפרתי אבל לא הצלחתי למצוא מה CTRL+D מחזיר.....

חזרה לתחילת העמוד הצג את כרטיס החבר של Guyke חפש הודעות אחרות של Guyke
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 31 March 2007 בשעה 23:19 | IP רשוּם
ציטוט SBD

קוד:

...
void main()
{
    char a = getch();
    printf("%d",a);
    
    //שהמסך לא ייסגר, ותוכל לראות את התוצאה...
    getch();
}



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guyke
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 30 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 34
נשלח בתאריך: 01 April 2007 בשעה 00:10 | IP רשוּם
ציטוט Guyke

הבנתי את הכוונה שלך ,רשום שהוא מחזיר '4' - משראיתי גם בwatch -אבל אל הצלחתי ליישם את זה בתכנית ....הנה משניסיתי:

while (x!='4')

scanf("%d",&x);

if (x>0)

j++;

else

k++;

חזרה לתחילת העמוד הצג את כרטיס החבר של Guyke חפש הודעות אחרות של Guyke
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 01 April 2007 בשעה 01:18 | IP רשוּם
ציטוט SBD

למה אתה שם את 4 בגרשיים :? 4 זה מספר לא תו...

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guyke
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 30 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 34
נשלח בתאריך: 01 April 2007 בשעה 10:24 | IP רשוּם
ציטוט Guyke

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

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 01 April 2007 בשעה 12:29 | IP רשוּם
ציטוט SBD

לא.

שים לב שאתה קולט מספר (שאגב עדיך לך להשתמש ב-getch ולא ב-SCANF אבל איך שבא לך). לכל תו יש ערך מספרי...את הערך המספרי של התו מקבלים פשוט ע"י הוספת גרשיים.

כלומר:

קוד:

..
void main()
{
    char x = 'a';
    char y = 64;

    printf("%d",&x);    // will print: 97
    printf("$d",&y);    // will print: 64
    printf("%c",&x);    // will print: a
    printf("$c",&y);    // will print: Aa
}


מקווה שהבנת.

נ.ב הקוד למעלה לא הבכרח עובד, עבר זמן לא מועט מאז שתכננתי משהו ב-C :) אבל אני מקווה שהרעיון ברור :)


__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guyke
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 30 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 34
נשלח בתאריך: 01 April 2007 בשעה 14:02 | IP רשוּם
ציטוט Guyke

תודה רבה!

הבנתי את הרעיון - מה שאני רשמתי ועבד : while x!=(EOF)

ואז ב CTRL+Z הוא יוצא .

חוץ מזה אתה יכול להסביר לי מה ההבדל בין SCANF לGETCH?

חזרה לתחילת העמוד הצג את כרטיס החבר של Guyke חפש הודעות אחרות של Guyke
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 01 April 2007 בשעה 18:37 | IP רשוּם
ציטוט SBD

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

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

לפעמים צריך את זה ולפעמים את השני, הכל משתנה לפי הצורך, במקרה הזה GETCH נראה לי יותר נוח, תחליט אתה :)

שמח שיכלתי לעזור,
שי.


__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
Guyke
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 30 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 34
נשלח בתאריך: 01 April 2007 בשעה 20:11 | IP רשוּם
ציטוט Guyke

תודה שי!
חזרה לתחילת העמוד הצג את כרטיס החבר של Guyke חפש הודעות אחרות של Guyke
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה