中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中怎么利用鏈表實現一個學生信息管理系統

發布時間:2021-08-07 11:42:41 來源:億速云 閱讀:124 作者:Leah 欄目:編程語言

本篇文章為大家展示了C語言中怎么利用鏈表實現一個學生信息管理系統,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

代碼實現的功能:

1.插入學生信息 2.顯示學生信息 3.刪除學生信息 4.在指定位置插入學生信息 5.查找學生信息

代碼內容:

#include <stdio.h>#include <stdlib.h>#include <string.h>#define Max_Student_Num 10#define Max_Str_len 20typedef struct T_student{ int number; char name [Max_Student_Num]; char phone[Max_Student_Num];};typedef struct T_Node{ struct T_student s; struct T_Node * next;};char command_str[]={"\n1 display all member;\n2 insert member;\n3 del member;\n4 exit\nCommand selection:"};struct T_student students[Max_Student_Num];struct T_Node * head = NULL;int main(int argc, char* argv[]){ int command, i; struct T_student student; struct T_Node * pStu =head; memset(&student,0,sizeof(student)); while(1){  printf("%s",command_str);  scanf("%d", &command);  switch(command)  {  case 1:   if(head==NULL){    printf("empty!!!!!!!!!!!!\n");    break;   }   if(head->next==head){    display_student(head);   }else{    pStu=head->next;    do    {     display_student(pStu);     pStu=pStu->next;    }while(pStu!= head->next);//   }   break;  case 2:   printf("enter new student number:");   scanf("%d", &student.number);   printf("enter new student name:");   scanf("%s", &student.name);   if(strlen(student.name) > Max_Str_len)   {    printf("name is too long!!\n");    continue;   }   printf("enter new student phone:");   scanf("%s", &student.phone);   if(strlen(student.phone) > Max_Str_len)   {    printf("phone is too long!!\n");    continue;   }   printf("\n");   if(student.number != 0)     insert_student(student);   break;  case 3:   printf("Inter deleted student number:");   scanf("%d", &student.number);   del_student(student);   break;  case 4:   return 0;  default:   printf("error command, try again\n");   break;  } }}void display_student( struct T_Node * pStu){ printf("number:%d name:%s phone:%s \n",pStu->s.number,pStu->s.name,pStu->s.phone);}void insert_student(struct T_student student){ struct T_Node* pNode ; struct T_Node* pStu =NULL; int size = sizeof(struct T_Node); pStu=(struct T_Node *)malloc (size); if(pStu == NULL){  return ; } memcpy(&pStu->s,&student,sizeof(student)); if(head==NULL){   pStu->next=head;   head=pStu;   head->next=head;   return ; } pStu->next = head->next; head->next=pStu;}void del_student(struct T_student student){ struct T_Node *pNode =NULL,*p=NULL; if(head->next==head && head->s.number==student.number){  pNode=head;  head=NULL;  free(pNode);  printf("success");  return; } for(pNode=head->next;pNode != head;pNode=pNode->next){  if( pNode->next->s.number == student.number){   p=pNode->next->next;   free(pNode->next);   pNode->next=p;   printf("Delete success!\n");   return;  } } printf("Not Found\n");}

上述內容就是C語言中怎么利用鏈表實現一個學生信息管理系統,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上犹县| 巫山县| 海宁市| 乌什县| 保康县| 深州市| 东城区| 河北省| 卓尼县| 吉安县| 深泽县| 娄底市| 鸡西市| 道孚县| 桐城市| 普洱| 永顺县| 哈尔滨市| 岑巩县| 潜山县| 三门峡市| 阿克| 通辽市| 东明县| 宁陵县| 佛冈县| 越西县| 巩留县| 高碑店市| 乌什县| 西畴县| 武川县| 磴口县| 中阳县| 岳普湖县| 德令哈市| 罗平县| 洛宁县| 塘沽区| 三穗县| 阳曲县|