05-12-2006, 17:32
|
|
|
חבר מתאריך: 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);
}
שימו לב שיש שני פונקציות שונות שהן דומות,אני מקווה שאתם תבינו ת האבדל
תודה.
|