|
发表于 2015-1-6 00:28:27
|
显示全部楼层
- #include <stdio.h>
- #include <malloc.h>
- #include <stdlib.h>
- #define LEN sizeof(struct xueshen)
- struct xueshen
- {
- int num; //学号
- char ming[50]; //姓名
- int shu; //数学
- int nu; //语文
- struct xueshen *next;
- };
- struct xueshen *scan(); //新建学生管理A
- void print(struct xueshen *head); //输出学生信息
- int n; //全局变量
- void main()
- {
- struct xueshen *jigou;
- char select; //选择变量
- jigou=NULL;
- while(1)
- {
- printf("欢迎进入学生管理系统。\n");
- printf("A(新建学生信息) D(删除) I(插入) M(修改) Q(查询) P(全部名单) E(退出)\n");
- scanf("%c",&select);
-
- switch(select)
- {
- getchar();
- getchar();
- getchar();
- case 'a':
- case 'A':jigou=scan(); break; //新建学生信息a
- case 'd':
- // case 'D':jigou=del(jigou); break; //删除学生信息d
- case 'm':
- // case 'M':jigou=modify(jigou); break; //修改学生信息m
- case 'q':
- // case 'Q':query(jigou); break; //查询学生信息q
- case 'i':
- // case 'I':jigou=insert(jigou);break; //插入学生信息i
- case 'p':
- case 'P':print(jigou);break; //打印全部学生信息p
-
- case 'e':
- case 'E':exit(0); break;
-
- default:printf("选择错误,重新选择。\n"); //break;
- }
- printf("\n");
-
- }
- system("pause");
- }
- struct xueshen *scan() //创建函数
- {
- struct xueshen *head;
- struct xueshen *p1,*p2;
-
- p1=p2=(struct xueshen *)malloc(LEN); //创建第一个结构点
- head=p1;
-
- printf("学号:");
- scanf("%d",&p1->num);
- printf("姓名:");
- scanf("%s",&p1->ming);
- printf("数学成绩:");
- scanf("%d",&p1->shu);
- printf("语文成绩:");
- scanf("%d",&p1->nu);
-
- head=NULL;
- while(p1->num)
- {
- n++;
- if(n==1)
- {
- head=p1;
- }
- else
- {
- p2->next=p1;
- }
- p2=p1;
- p1=(struct xueshen *)malloc(LEN); //创建新结点给p1
- printf("学号:");
- scanf("%d",&p1->num);
- printf("姓名:");
- scanf("%s",&p1->ming);
- printf("数学成绩:");
- scanf("%d",&p1->shu);
- printf("语文成绩:");
- scanf("%d",&p1->nu);
- // printf("\n学号%d\n姓名%s\n数学成绩%d\n语文成绩%d\n",*p1->num,p1->ming,p1->shu,p1->nu);
-
- }
- p2->next=NULL;
- return head;
- }
- void print(struct xueshen *head) //打印函数
- {
- struct xueshen *p1;
- p1=head;
- printf("\n共有%d位学生名单。\n",n);
- while(p1)
- {
- printf("\n学号%d\n姓名%s\n数学成绩%d\n语文成绩%d\n",p1->num,p1->ming,p1->shu,p1->nu);
- p1=p1->next; //赋下一个地址
- };
- }
复制代码
|
-
是回车符号造成的,这个光荣的bug就交给你去解决的,相信以你的聪明才智不会让咋们失望的
|