06-12-2006, 20:03
|
|
|
חבר מתאריך: 11.08.05
הודעות: 357
|
|
צודק אבל יש עוד בעיה לא שלא מובנת כל כך
מה שאמרת באמת פתר לי את הבעיה,תודה ענקיתתת
אבל יש משהו אחר עכשיו שינתי קצת את 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);
כאילו זה מבצע טוב רק פעם ראשונה בתוכנית למה זה?
|