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

נושא: מספר מוזר בC++

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


הצטרף / הצטרפה: 12 March 2009
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 31 March 2009 בשעה 10:26 | IP רשוּם
ציטוט pakakos

כתבתי את התוכנה הבאה

קוד:
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int i;
    printf("write first num ");
    scanf("%d " , &i);
    printf("your num is %d" , &i);
    system("pause");
}

והתוצאה היתה כזאת

write first num

(אני כתבתי):4

5

(לא יודע למה הוא ביקש שתי מספרים)

(מכאן המחשב כותב)

your num is 2293620

 

מישהו מוכן לעזור לי ולהסביר איך הוא הגיע למספר המוזר הזה? 

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 31 March 2009 בשעה 15:40 | IP רשוּם
ציטוט ניר

קוד:
printf("your num is %d" , &i);

צריך להיות
קוד:
printf("your num is %d" , i);



__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
פרופסור
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 02 April 2009 בשעה 18:11 | IP רשוּם
ציטוט פרופסור

התכנית שלך כתובה בשפה C, ולא בשפה C++ 
חזרה לתחילת העמוד הצג את כרטיס החבר של פרופסור חפש הודעות אחרות של פרופסור בקר בדף הבית של פרופסור
 
carloc
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 23 January 2009
מדינה: Israel
משתמש: מנותק/ת
הודעות: 22
נשלח בתאריך: 06 April 2009 בשעה 11:31 | IP רשוּם
ציטוט carloc

פשוט כתבת &i שזה אומר תדפיס את הכתובת של i.

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 09 April 2009 בשעה 21:52 | IP רשוּם
ציטוט pakakos

תודה רבה אני חדש בתכנות ולכן לא שמתי לב להבדלים בין שתי שפות התכנות

אגב בספר שאני לומד איותו שפת C ולא C++ כתוב שצריך לכתוב

קוד:
printf("your num is %d" , &i);

ולא

קוד:
printf("your num is %d" , i);

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 09 April 2009 בשעה 22:00 | IP רשוּם
ציטוט pakakos

ניסית את מה  שניר אמר והתוצאה הייתה דומה, עוד פעם מספר ארוך ולא מובן

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

ואגב אני משתמש בקומפיילר visual C++ 2008 כי לא מצאתי קומפיילר רק לשפת סי והבנתי שכל קומפיילר לC++ גם מקמפל C. וגם ניסיתי לעבוד עם DEV ועם BORLAND אבל לא כל כך הבנתי אותם והכי נוח לי עם VISUL,ואני שואל: יש הבדלים בצורת הקימפול? יכול להיות שהמספר הוא תוצאה של בעיה בקומפיילר?  תודה לכל העוזרים והעונים על התשובות.

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 09 April 2009 בשעה 23:59 | IP רשוּם
ציטוט שושן

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 10 April 2009 בשעה 13:05 | IP רשוּם
ציטוט pakakos

כתבתי את הקוד בהודעה הראשונה ואם תשימו לב כתבתי בהודעתי השניה תיקוני טעויות

תודה לעוזרים

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

הצטרף / הצטרפה: 23 January 2009
מדינה: Israel
משתמש: מנותק/ת
הודעות: 22
נשלח בתאריך: 12 April 2009 בשעה 09:53 | IP רשוּם
ציטוט carloc

זה הקוד שצריך להיום כדי שהתוכנית שלך תעבוד.
הוא מבקש 2 מספרים בגלל שיש לך רווח אחרי ה- d ב- scanf.
MVS לא אוהב את זה כנראה.
בנוסף עם אתה עובד על MVS חשוב שבפתיחת הפרוייקט תקיש על פרוייקט ריק
ותפתח קובץ קוד עם סיומת נקודה C, לדוגמא code.c. כי רק אז הקומפילר מבין
שאתה לא רוצה C++ אלא C.
בנוסף לפחות ב- C ה- main בדר"כ הוא void ולא int.


קוד:

#include<stdio.h>

void main()
{
    int i;
    printf("write first num ");
    scanf("%d", &i);
    printf("your num is %d\n" , i);
}


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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 13 April 2009 בשעה 19:26 | IP רשוּם
ציטוט בני

לפי בתי הספר ב-C ה-main הוא בד"כ void, אבל לפי התקן הוא תמיד int.
חזרה לתחילת העמוד הצג את כרטיס החבר של בני חפש הודעות אחרות של בני בקר בדף הבית של בני
 
pakakos
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 20 April 2009 בשעה 13:34 | IP רשוּם
ציטוט pakakos

תודה לכל אלה שעזרו לי ובמיוחד לCARLOCשפתר לי את הבעיה אני אנסה ונראה אם אני אציח
חזרה לתחילת העמוד הצג את כרטיס החבר של pakakos חפש הודעות אחרות של pakakos בקר בדף הבית של pakakos
 
פרופסור
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 April 2009 בשעה 06:09 | IP רשוּם
ציטוט פרופסור

בני כתב:
לפי בתי הספר ב-C ה-main הוא בד"כ void, אבל לפי התקן הוא תמיד int.
נכון. התקן אומר שהתכנית תמיד תחזיר ערך, ולכן היא לא יכולה להיות void. הרי אם התכנית תקרוס ותחזיר שגיאה (1), אזי היא מחזירה ערך. אם היא תעבוד טוב, אזי היא תחזיר את הערך 0. ולכן עפ"י התקן צריך להשתמש ב-int main, ולא ב-void.

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

הצטרף / הצטרפה: 23 January 2009
מדינה: Israel
משתמש: מנותק/ת
הודעות: 22
נשלח בתאריך: 27 April 2009 בשעה 17:17 | IP רשוּם
ציטוט carloc

פרופסור כתב:
בני כתב:
לפי בתי הספר ב-C ה-main הוא בד"כ void, אבל לפי התקן הוא תמיד int.
נכון. התקן אומר שהתכנית תמיד תחזיר ערך, ולכן היא לא יכולה להיות void. הרי אם התכנית תקרוס ותחזיר שגיאה (1), אזי היא מחזירה ערך. אם היא תעבוד טוב, אזי היא תחזיר את הערך 0. ולכן עפ"י התקן צריך להשתמש ב-int main, ולא ב-void.

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


מבין את הרציונל מאחורי התקן, אך עדיין, אני לומד כרגע לתואר ראשון וממה שחברי באוניברסיטאות אחרות ואני לומדים רוב התוכניות main שלנו הם void, למה? לא יודע, ככה הרגילו אותנו.
חזרה לתחילת העמוד הצג את כרטיס החבר של carloc חפש הודעות אחרות של carloc
 

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

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

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