לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 28-07-2006, 14:11
  גושניק גושניק אינו מחובר  
 
חבר מתאריך: 02.05.05
הודעות: 76
צריך עזרה... התוכנית לא עובדת

מישהו יודע אולי למה התוכנית לא עובדת?

זה משחק "בול פגיעה" שבו המשתמש אמור לנחש מספר בן 5 ספרות

שהמחשב בוחר באקראיות

כשאני מנסה להפעיל הוא כותב

Declaration syntax error
בשורה 3 איזו בעיה בהכרזה של הפונקציה ולא מצאתי כלום
#include<stdio.h>
int generateRandomNum( const int nMin, const int nMax )
void Peruk_1(int,int)
void Peruk_2(int,int)
int bdikapgia(int,int)
int bdikabul(int,int)
void main()
{
const int nMin, const int nMax;
int i,x,y,pgia,bul;
int a1[5];
int a2[5];
x=generateRandomNum( const int nMin, const int nMax )
for(i=10;i<=1;i--)
{
pritnf("gess what is the number");
printf("\n");
scanf("%d",&y);
if(x=y)
printf("wow!!! you secueed!!!");
else
peruk_1(x,a1);
peruk_2(y,a2);
pgia=bdikapgia(a1,a2);
bul=bdikabul(a1,a2);
printf("you have succeed in %d bul and %d pgia",bul,pgia);
printf("\n");
printf("contionue try! remind %d tries!",i)
printf("\n");
if(i=10 && x!=y)
printf("the tries were over");
printf("\n");
}


void peruk_1(int x,int a1)
{
a1[0]=x%10;
a1[1]=x%100;
a1[1]=a1[1]/10;
a1[2]=x%1000;
a1[2]=a1[2]/100;
a1[3]=x%10000;
a1[3]=a1[3]/1000;
a1[4]=x/10000;
}

void peruk_2(int y,int a2)
{
a2[0]=x%10;
a2[1]=x%100;
a2[1]=a2[1]/10;
a2[2]=x%1000;
a2[2]=a2[2]/100;
a2[3]=x%10000;
a2[3]=a2[3]/1000;
a2[4]=x/10000;
}

int bdikapgia(int a1,int a2)
{
int i,j,pgia=0;
for(i=0;i<=5;i++)
{
for(j=0;j<=5;j++)
{
if(a1[i]=a2[j])
{
if(j!=i)
pgia++;
}
}
}
return pgia;
}

int bdikabul(int a1,int a2)
{
int i,j,bul=0;
for(i=0;i<=5;i++)
{
for(j=0;j<=5;j++)
{
if(a1[i]=a2[j])
{
if(j=i)
bul++;
}
}
}
return bul;
}

int generateRandomNum( const int nMin, const int nMax )
{
static int seedInit = 0;
if( !seedInit ) {
srand( time( NULL ) );
seedInit = !seedInit;
}
return ( rand( ) % ( nMax - nMin + 1 ) + nMin );
}

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 03-08-2006, 20:57
  טל חדד טל חדד אינו מחובר  
 
חבר מתאריך: 30.06.05
הודעות: 147
שלח הודעה דרך ICQ אל טל חדד שלח הודעה דרך MSN אל טל חדד
תלוי איך אתה רוצה
בתגובה להודעה מספר 11 שנכתבה על ידי גושניק שמתחילה ב "לא הבנתי"

אם אתה רוצה שהתוכנית תוכל לסיים את עצמה ולהריץ שגיאה תשתמש ב int ותכתוב מתי שאתה רוצה שהתוכנית תפסיק:
קוד PHP:
 .int main()
{
..........
//ריצת התוכנית
return p;//המשתנה p זה מספר השגיאה. אם אתה לא רוצה שיהיה שגיאה תכתוב את p כ 0 והתוכנית תסתיים ללא שגיאה


הכללים של return זה כמו פונקציה רגילה(ומדגיש שזה רק עבור return ועוד כמה)
אבל אם אתה רוצה להשתמש ב void התוכנית לא תוכל להחזיר שגיאה ותסתיים ב-{
כמובן שיש קומפלרים שלא יסכימו איתי אבל יש כאלה שמקבלים את שניהם
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.fresh.co.il/scripts/birthday.php?date=07/05/1993&.jpeg]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #13  
ישן 03-08-2006, 21:17
צלמית המשתמש של DrTempi
  DrTempi DrTempi אינו מחובר  
 
חבר מתאריך: 12.03.03
הודעות: 2,176
עם כל הכבוד לקומפיילרים שכן מסכימים איתך
בתגובה להודעה מספר 12 שנכתבה על ידי טל חדד שמתחילה ב "תלוי איך אתה רוצה"

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

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.fresh.co.il/scripts/birthday.php?date=27/04/1986]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #19  
ישן 05-08-2006, 13:42
צלמית המשתמש של DrTempi
  DrTempi DrTempi אינו מחובר  
 
חבר מתאריך: 12.03.03
הודעות: 2,176
דווקא אתה צודק.
בתגובה להודעה מספר 18 שנכתבה על ידי קוביבי שמתחילה ב "אבל printf מגיע מC"

printf זו פונקציה של שפת C. ומספר פרמטרים משתנה קיים גם ב-C ואתה מצהיר על פונקציה כזאת עם ... (שנקרא elipsis). אבל אתה לא יכול להגדיר פונקציה שהפרמטר היחיד שלה הוא elipsis, חייב להיות לפני ה-elipsis לפחות פרמטר אחד.
קשה לי להגיד בדיוק מה אומרים סוגריים ריקות בהגדרה של פונקציה כי אין לי את התקן נגיש כרגע, אבל ניסיתי לבדוק עם הקומפיילר של מיקרוסופט, ושל GNU, והמסקנה שהגעתי אליה היא שפונקציה שמוגדרת עם סוגריים ריקות זה תופעה מוזרה ב-C, היא מקבלת הכל. אתה יכול לקרוא לה עם מספר פרמטרים שונה בכל קריאה, או מטיפוסים שונים, הכל מתקמפל. למה זה טוב או למה זה ככה אני לא יודע.
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.fresh.co.il/scripts/birthday.php?date=27/04/1986]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 05:27

הדף נוצר ב 0.09 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר