Home > Back-end >  Data on the list or not is the interactive problem or list? For big solutions
Data on the list or not is the interactive problem or list? For big solutions

Time:03-05

# include
# include
# include



Struct student
{
int num;
Char name [20].
Char sex [5].
int age;
Char spe [10]./* */
Int cla./* class */
};
Struct Node
{
Struct student data;
Struct Node * next;
};


//structure variables said header
Struct Node * createlist ()
{
Struct Node * headNode=(struct Node *) malloc (sizeof (struct Node));
If (headNode==NULL)
{
Printf (" application space failed! \n");
exit(0);
}
HeadNode - & gt; Next=NULL;
Return headNode;
}
//create node
Struct Node * createNode (struct student data)
{
Struct Node * newNode=(struct Node *) malloc (sizeof (struct Node));
NewNode - & gt; Data=https://bbs.csdn.net/topics/data;
NewNode - & gt; Next=NULL;
Return the newNode;
}
//print list
Void printlist (struct Node * headNode)
{
Struct Node * pMove=headNode - & gt; Next;
Printf (" student id \ \ t t name gender \ professional \ \ t t t age class \ n ");
While (pMove)
{

Printf (" % d % s \ \ t t t % d \ % s \ \ t t % s % d ", pMove - & gt; Data. The num, pMove - & gt; Data. The name, pMove - & gt; Data. The sex, pMove - & gt; Data. The age, pMove - & gt; Data. The spe, pMove - & gt; Data. Cla);
PMove=pMove - & gt; Next;
}
printf("\n");
}
//insert node method (head)
Void insertNodeByHead (struct Node * headNode, struct student data)
{
Struct Node * newNode=createNode (data);
NewNode - & gt; Next=headNode - & gt; Next;
HeadNode - & gt; Next=newNode;
}
//delete
Void deleteAppoinNode (struct Node * headNode, char * name)
{
Struct Node * posNode=headNode - & gt; Next;
Struct Node * posFrontNode=headNode;
If (posNode==NULL)
{
Printf (" data is empty, can't delete! \n");
return;
}
While (STRCMP (posNode - & gt; Data. The name, the name))
{
PosFrontNode=posNode;
PosNode=posFrontNode - & gt; next;
If (posNode==NULL)
{
Printf (" cannot delete specified location was not found, \ n ");
return;
}
}
PosFrontNode - & gt; Next=posNode - & gt; Next;
Free (posNode);

}
//query function
Struct Node * searchInfoByData (struct Node * headNode, char * name)
{
Struct Node * pMove=headNode - & gt; Next;
If (pMove==NULL)
Return NULL;
While (STRCMP (pMove - & gt; Data. The name, the name))
{
PMove=pMove - & gt; Next;
}
Return pMove;
}


//file read
/* void readInfoFromFile (struct Node * headNode, char * fileName)
{
FILE *fp;
Struct student data;
Fp=fopen (fileName, "r");
If (fp==NULL);
{
Fp=fopen (fileName, "w +");
}
While (fscanf (fp, "% d \ t % s % d \ % s \ \ t t t t % d \ % s \ n", & amp; Data. The num, data. The name, data. Sex, & amp; Data. The age, the data. The spe, & amp; Data. Cla)!=(EOF)
{
InsertNodeByHead (headNode, data);
}
fclose(fp);
}

//file write

Void writeInfoToFile (struct Node * headNode, char * fileName)
{
FILE *fp;
Struct Node * pMove=headNode - & gt; Next;
Fp=fopen (fileName, "w");
While (pMove)
{
Fprintf (fp, "% s \ \ % d t t t % d \ % s \ \ t t % s % d", pMove - & gt; Data. The num, pMove - & gt; Data. The name, pMove - & gt; Data. The sex, pMove - & gt; Data. The age, pMove - & gt; Data. The spe, pMove - & gt; Data. Cla);
PMove=pMove - & gt; Next;
}
fclose(fp);
}
*/
























Void menu ()
{
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");

Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [] student information management system -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1, inputting information -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 2, query information -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");

Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3, delete information -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");

Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4, browse information -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- \ n ");

}


Void keyDown ()
{
Struct Node * list=createlist ();
Int choice=0;
Struct student data;
Struct Node * pMove=NULL;
Printf (" please input your choice: ");
The scanf (" % d ", & amp; Choice);
The switch (choice)
{

Case 1:
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- information [enter] -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - \ n ");
Printf (" please enter the student student id, name, gender, age, profession, class: ");
The scanf (" % d % d % d % s % s % s ", & amp; Data. The num, data. The name, data. Sex, & amp; Data. The age, the data. The spe, & amp; Data. Cla);
InsertNodeByHead (list, data);
break;
Case 2:
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [query information] -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - \ n ");
Printf (" please enter to find student's name: ");
The scanf (" % s ", data. The name).
PMove=searchInfoByData (list, data name);
If (pMove==NULL)
{
Printf (" did not find relevant information, unable to query! \n");
system("pause");
}
The else
{
Printf (" student id \ \ t t name gender \ professional \ \ t t t age class \ n ");
Printf (" % d % s \ \ t t t % d \ % s \ \ t t % s % d ", pMove - & gt; Data. The num, pMove - & gt; Data. The name, pMove - & gt; Data. The sex, pMove - & gt; Data. The age, pMove - & gt; Data. The spe, pMove - & gt; Data. Cla);

}
break;
Case 3:
Printf (" -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- information [deleted] -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - \ n ");
Printf (" please enter the student's name: delete ");
The scanf (" % s ", data. The name).
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
  • Related