资源描述:
《C语言编程-课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三江学院SANJIANGUNIVERSITY综合程序设计与实践★指导书(2012年6-7月)题目:开发一个简单的学籍管理程序所属学院:电子信息工程学院学号:姓名:刘夫兴班级:A指导教师:杨丽萍老师综合程序设计与实践指导书一.题目:开发一个简单的学籍管理程序。二.内容包括:1.建立一个学生信息单链表2.输出链表中的学生信息3.在链表中查找某个学生信息4.在链表中插入一个学生结点信息5.在链表中删除一个学生结点6.退出该管理系统三.任务1.设计一个菜单驱动程序(仿照课程设计之一),由老师提供并完成了功能1.—2.
2、。2.在这个管理系统中加入三个模块,即查找模块、插入模块和删除模块。使程序能正确运行。四.提供能使程序能正确运行的源程序清单。源程序清单,如下:#include#include#include#includetypedefstructnode{intnum;charname[20];charsex[8];charcla[20];charpro[20];charadress[10];structnode*next;}STD;#defi
3、neLENsizeof(STD)#defineNEW(STD*)malloc(LEN)intmenu_select();STD*head1,*head2;intn=0;voidcreat1(void)/*追加法建表*/{STD*p1,*p2;system("CLS");head1=NULL;p1=(STD*)malloc(LEN);p2=p1;printf("建表方法1追加法建表!");printf("请依次输入:学号姓名性别班级专业籍贯(注:若输入学号为0,则退出建表!)");scanf("%d
4、%s%s%s%s%s",&p1->num,p1->name,p1->sex,p1->cla,p1->pro,p1->adress);while(p1->num!=0){n++;if(n==1)head1=p1;elsep2->next=p1;p2=p1;p1=(STD*)malloc(LEN);scanf("%d%s%s%s%s%s",&p1->num,p1->name,p1->sex,p1->cla,p1->pro,p1->adress);}free(p1);p2->next=NULL;scanf("%*c
5、");printf("按回车键继续!");getchar();system("CLS");return;}voidcreat2(void)/*插入法建表*/{STD*p1;head2=NULL;system("CLS");p1=(STD*)malloc(LEN);printf("建表方法2插入法建表!");printf("请依次输入:学号姓名性别班级专业籍贯(注:若输入学号为0,则退出建表!)");scanf("%d%s%s%s%s%s",&p1->num,p1->name,p1->sex,p1-
6、>cla,p1->pro,p1->adress);while(p1->num!=0){p1->next=head2;head2=p1;p1=(STD*)malloc(LEN);scanf("%d%s%s%s%s%s",&p1->num,p1->name,p1->sex,p1->cla,p1->pro,p1->adress);}scanf("%*c");printf("按回车键继续!");getchar();system("CLS");free(p1);return;}voidsearch(structno
7、de*head,char*x)/*查找函数*/{STD*p,*q;if(head==NULL)printf("Thisisaemptylist.");/*空链表情况*/elsep=head;while(strcmp(x,p->name)!=0&&p->next!=NULL){q=p;p=p->next;}/*q指针尾随p指针向表尾移动*/if(strcmp(x,p->name)==0){printf("查询信息:t学号:%d姓名:%s性别:%s班级:%s专业:%s籍贯:%s",p->num,p->nam
8、e,p->sex,p->cla,p->pro,p->adress);}elseprintf("Notfound.");}STD*delnode(structnode*head,char*x)/*删除函数*/{STD*p,*q;staticstructnode*h;if(head==NULL){printf("Thisisaemptylist.");/*空链表情况*/returnhead;}p=hea