בעיה ב- C

cody54

New member
בעיה ב- C

שלום. אני עובד ב- C אם התוכנה dev C++ ומשום מה הפונקציה random לא פועלת לי, אז נסיתי להפעיל את TcLite ומשום מה הוא עושה לי error בזמן ההרצה על ה- < ב- <stdio.h> למישהו יש רעיון לאחד מהם?
 

edddie

New member
RANDOM עובד כך

משתמש בסיפריה
<stdlib.h>​
ודורש שלפני ההגדרה של המשתנה הרנדומלי שתבוא הפקודה
randomize();​
אני לא זוכר איך עושים אם אתה רוצה מספר רדנדומלי מ 2-6 נגיד אבל אם אתה רוצה מספר מ 0-משהו אז
random(6);​
מקווה שעזרתי
 

cody54

New member
אני יודע איך random עובד..

הוא לא פועל לי על dev c++ :\ וה- TcLite משום מה לא מצליח לקמפל שום דבר ;\ יש עוד קומפיילר?
 

cody54

New member
ברור שהוספתי :\

הוספתי וזה לא פועל... יש לך רעיון? :|
 

erezsh

New member
פשוט

Dev-c++ משתמש ב-GNU C, מה שאומר שפונקציית ה-random נראית כך:
long random(void);​
כלומר, תקרא לה בלי פרמטרים. אם גם זה לא עובד, תשתמש ב-rand() במקום (אותו תחביר). ואגב, אני די בטוח שזה חלק מ-stdlib, לא stdio.
 

cody54

New member
הו תודה!!! אבל כנס שנייה...

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

cody54

New member
זה כל הזמן עושה שגיאה... כנס פליז

אתה יכול להראות לי דוגמא של קוד לאיך שאתה עושה את זה? |:
 

erezsh

New member
מה הבעיה?

{ long num = random(); printf("%l\n",num); }​
איזו שגיאה אתה מקבל? מה אתה לא מצליח?
 

cody54

New member
לא מצליח

אפשר לעשות את זה על מספר שלם (int) ואתה יכול להדגים תוכנית שלמה איך זה?כאילו תוכנית שלמה שמדפיסה מספר רנדומלי בין 1-10? כמובן שב- dev c++... תודה...
 

erezsh

New member
קוד C שקומפל ועובד תחת Dev-C++

#include <stdlib.h> #include <stdio.h> #include <time.h> inline void randomize(void) { srand(time(NULL)); srand(rand()+rand()+rand()); } int main() { char c; randomize(); for(c=0;c<10;c++) { long num=rand()%10; printf("Num = %i\n",num); } getchar(); return 0; }​
 

erezsh

New member
בקשר ל-TcLite

תבדוק את ה-path של הספריות (Include, Lib, etc..) קח בחשבון ש-TcLite זו תוכנת דוס, ולא בהכרח תומכת בשמות של חלונות, אז וודא שה-path: * לא כולל רווחים * לא כולל שמות ספריות של יותר מ-8 בתים (למרות שזה אמור להסתדר עם ה-~1) * לא כולל אותיות בעברית, או כל סימן מוזר אחר. ותוודא שהוא נכון.
 
למעלה