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

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



  #1  
ישן 05-12-2006, 17:32
  69cool 69cool אינו מחובר  
 
חבר מתאריך: 11.08.05
הודעות: 357
[C]שוב פעם אני ושוב פעם רשימה מקושרת

אממ... שמעו עשיתי רשימה חדשה לא מסובכת כל כך
אם תוכלו לעזור לי אני אשמח
הבעיה: אני רוצה לעשות דרך DO...WHILE שזה יחזור על עצמו ויקליד כל פעם כל עוד משהו
אבל מה שקורה זה שאחי שזה מכניס פעם שניה-בפונקציה השניה אז זה נדפק זה מביא לי חלון וינדוס כזה(ובסוף יש תשלח, אל תשלח)
"
connect_list_2.exe has encountered a problem and needs to close. We are sorry for the inconvenience..."

קוד:
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> typedef struct person { char name[10]; int age; struct person *next; }; struct person *CreateNode(int a,char *name) { struct person *Node=(struct person*)malloc(sizeof(struct person)); Node->next=NULL; Node->age=a; strcpy(Node->name,name); return Node; } void CreateNode_1(int a,char *name,struct person *Node) { struct person *s,*np=(struct person*)malloc(sizeof(struct person)); //Node->next=NULL; s = Node->next; Node->next = np; np->age=a; strcpy(np->name,name); np->next = s; } void print(struct person *rash){ printf("%d , %s \n",rash->age,rash->name); if(rash != NULL) print(rash->next); } void main() { int age; char name[10]; struct person *head; head=CreateNode(1,"sha"); head->next=NULL; gets(name); scanf("%d",&age); CreateNode_1(age,name,head); print(head); }


שימו לב שיש שני פונקציות שונות שהן דומות,אני מקווה שאתם תבינו ת האבדל
תודה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 06-12-2006, 20:03
  69cool 69cool אינו מחובר  
 
חבר מתאריך: 11.08.05
הודעות: 357
צודק אבל יש עוד בעיה לא שלא מובנת כל כך
בתגובה להודעה מספר 1 שנכתבה על ידי 69cool שמתחילה ב "[C]שוב פעם אני ושוב פעם רשימה מקושרת"

מה שאמרת באמת פתר לי את הבעיה,תודה ענקיתתת
אבל יש משהו אחר עכשיו שינתי קצת את MAIN ואת הפונקציה PRINT
הינה הקוד(רק שני פונקציות שונו כל השאר נשארו אותו דבר)

קוד:
void print(struct person *rash){ printf("%d , %s \n",rash->age,rash->name); if(rash->next != NULL) print(rash->next); } void main() { int age; char name[10],ch; struct person *head; head=CreateNode(1,"sha"); head->next=NULL; do{ printf("enter your name.\n"); gets(name); printf("enter your age.\n"); scanf("%d",&age); CreateNode_1(age,name,head); printf("are you want to conntion\n\t\tY/N\n"); ch = getch(); }while(ch == 'Y' || ch == 'y'); print(head); }

עכשיו כשאני מריץ את התוכנית
אני מכניס שם ואחר כך גיל אחרי זה Y(כאילו להמשיך)
וזה לא ממשיך טוב זה ישר מדפיס את שני העודות "enter your name" ואת "enter your age" ברצף,כאילו בלי gets(name);
כאילו זה מבצע טוב רק פעם ראשונה בתוכנית למה זה?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.04 שניות עם 12 שאילתות

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

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