• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C语言链表实现学生管理系统

c语言 搞代码 4年前 (2022-01-06) 25次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了C语言链表实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言链表实现学生管理系统的具体代码,供大家参考,具体内容如下

 #include #include #include #include #include #include using namespace std; typedef struct ndoe{ char id[10]; char name[10]; char sex[3]; char num[10]; struct node *next; }student; struct Student{ student data; struct Student *next; }; /********创建学生信息**********/ Student * insert(Student * head){ Student * s,*r; head=(Student *)malloc(sizeof(Student)); printf("请输入学生的个数:"); int n; scanf("%d",&n); r=head; printf("按照“学号 姓名 性别(M or G) 手机号”的形式输入每个学生的信息\n"); for(int i=0;idata.id); scanf("%s",s->data.name); scanf("%s",s->data.sex); scanf("%s",s->data.num);*/ scanf("%s%s%s%s",s->data.id,s->data.name,s->data.sex,s->data.num); r->nex<span style="color:transparent">来源gaodai#ma#com搞*!代#%^码$网</span>t=s; r=s; } r->next=NULL; printf("录入成功\n"); return head; } /********增加学生************/ void add(Student *head){ Student *s; s=head->next; while(s->next!=NULL) s=s->next; Student *ad=(Student *)malloc(sizeof(Student)); ad->next=NULL; s->next=ad; //printf("输入新学生的信息:\n"); scanf("%s%s%s%s",ad->data.id,ad->data.name,ad->data.sex,ad->data.num); printf("添加成功\n"); return ; } /*************修改学生信息********************/ void change(Student * head){ printf("输入1,按学号搜索学生,并修改改学生的信息\n"); printf("输入2,按姓名搜索学生,并修改改学生的信息\n"); Student * s; int n; scanf("%d",&n); switch(n){ case 1:{ printf("请输入学号:"); char number[10]; scanf("%s",number); s=head->next; while(s!=NULL){ if(strcmp(s->data.id,number)==0){ printf("请输入要修改的信息:"); char phone[10]; scanf("%s",phone); strcpy(s->data.num,phone); printf("修改成功\n"); break; } s=s->next; } break; } case 2:{ printf("请输入姓名:"); char nam[10]; scanf("%s",&nam); s=head->next; while(s!=NULL){ if(strcmp(s->data.name,nam)==0){ printf("请输入要修改的信息:"); char phone[10]; scanf("%s",phone); strcpy(s->data.num,phone); printf("修改成功\n"); break; } s=s->next; } break; } } return ; } /**********删除学生信息******************/ void del(Student * head){ printf("输入1,按学号搜索学生,并删除该学生的信息\n"); printf("输入2,按姓名搜索学生,并删除该学生的信息\n"); Student * s,*r; int n; scanf("%d",&n); switch(n){ case 1:{ printf("请输入学号:"); char number[10]; scanf("%s",number); s=head->next; r=head; while(s!=NULL){ if(strcmp(s->data.id,number)==0){ r->next=s->next; free(s); printf("删除成功\n"); break; } r=s; s=s->next; } break; } case 2:{ printf("请输入姓名:"); char nam[10]; scanf("%s",&nam); s=head->next; r=head; while(s!=NULL){ if(strcmp(s->data.name,nam)==0){ r->next=s->next; free(s); printf("删除成功\n"); break; } r=s; s=s->next; } break; } } return ; } /**********查询学生的信息**********************/ void check(Student * head){ printf("输入1,按学号搜索学生,并展示该学生的信息\n"); printf("输入2,按姓名搜索学生,并展示该学生的信息\n"); Student * s,r; int n; scanf("%d",&n); switch(n){ case 1:{ printf("请输入学号:"); char number[10]; scanf("%s",number); s=head->next; while(s!=NULL){ if(strcmp(s->data.id,number)==0){ printf("%s %s %s %s\n",s->data.id,s->data.name,s->data.sex,s->data.num); break; } s=s->next; } break; } case 2:{ printf("请输入姓名:"); char nam[10]; scanf("%s",&nam); s=head->next; while(s!=NULL){ if(strcmp(s->data.name,nam)==0){ printf("%s %s %s %s\n",s->data.id,s->data.name,s->data.sex,s->data.num); break; } s=s->next; } break; } } if(s==NULL) printf("该学生不存在\n"); return ; } int main(){ Student *head=NULL; Student *a; printf("***欢迎进入学生管理系统***\n"); printf("***1:请录入学生信息***\n"); printf("***2:请修改学生信息***\n"); printf("***3:请删除学生信息***\n"); printf("***4:请查询学生信息***\n"); printf("***5:请添加新学生信息**\n"); printf("***6: 退出管理系统 ***\n"); printf("*************************\n"); printf("请输入命令:"); int n; while(scanf("%d",&n)&&n!=6){ switch(n){ case 1:{ printf("请录入学生信息:\n"); head=insert(a); break; } case 2:{ printf("请改学生信息:\n"); change(head); break; } case 3:{ cout<<"请删除学生信息:"<<endl; del(head); break; } case 4:{ cout<<"请查询学生信息:"<<endl; check(head); break; } case 5:{ cout<<"请添加新学生信息:"<next; while(s!=NULL){ r=s->next; free(s); s=r; } free(head); return 0; }

以上就是C语言链表实现学生管理系统的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C语言链表实现学生管理系统
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址