我在编下面程序的时候,连接出错了
源文件如下:
/*文件头部分 起定义作用*/ /************************************/ # include "stdio.h" # include "bios.h" # include "conio.h" # include "string.h" # define NULL 0 struct student { int num; char name[8]; int score; struct student *next; }; typedef struct student node; node *head; /************************************//************************************/ /*********添加学生信息***************//************************************/ /************************************//************************************/ creat(head) {node *p,*l; /*Q为原来的最后一个记录,L为添加后的最后一个记录*/ int d=2; l=(node*)malloc(sizeof(node)); printf("请输入新同学的信息"); printf("\n姓名:"); scanf("%s",l->name); printf("\n学号:"); scanf("%d",l->num); printf("\n成绩:"); scanf("%d",l->score); while(p=head&&head!=NULL) { while(l!=NULL) { if(strcmp(p->num,l->num)==0) {d=1;break;} if(strcmp(p->score,l->score)==0){d=1;break;} } p=p->next; while(p->next=NULL) {d=2;break;} } switch(d) { case 1:printf("你的输入有误,错误原因可能如下:\n 1:学号重复. 2:姓名重复. 3:其他原因\n"); break; case 2:{l->next=p->next; p->next=l;save();}; break; /*将L作为最后一个记录*/ } } /************************************************************************/ /******将学生成绩输出到屏幕**********************************************/ /************************************************************************/ list(head) { node *p; clrscr(); printf("\n下面是学生资料:\n"); printf(" 学号 姓名 成绩\n"); printf("---------------------------"); p=head; if(head!=NULL) do{ printf("%d %s %d\n",p->num,p->name,p->score); p=p->next; } while(p!=NULL); } /************************************//************************************/ /*****删除学生成绩**********//***********下面*******************/ /************************************//************************************/ delete(node *head) {node *q1,*q2; int m,num; clrscr(); if(head=NULL){printf("\n保存数据为空!");return(head);} q1=head; printf("请输入要删除的学生学号:"); scanf("%d",&num); while(strcmp(q1->num,num)!=0 && q1->next!=NULL){q2=q1;q1=q1->next;} if(num==q1->num) {if (q1==head)head=q1->next; else q2->next=q1->next;free(q1); printf("delete:%s\n",num); } else printf("找不到学号为%s的同学!\n",num); return(head); } /****************************************************************************/ /***************************退出退出*************退出********************/ /****************************************************************************/ end() { exit(0); } /****************************************************************************/ /***************************主函数*******************************************/ /****************************************************************************/ main() {int n; /*N为选择函数变量*/ clrscr(); gotoxy(10,10); printf("欢迎进入学生学籍管理系统"); gotoxy(10,12); printf("1:显示学生信息 2:学号查找信息"); gotoxy(10,14); printf("3:添加学生信息 4:删除学生信息"); gotoxy(10,16); printf("5:成绩查找信息 6:退出管理系统"); gotoxy(10,18); printf("请选择(1-6)"); scanf("%d",&n); switch(n) {case 1:list(head);break; case 2:NULL;break; case 3:creat(head);break; case 4:delete(head);break; case 5:NULL;break; case 6:end();break; } }
大家帮我看看是哪里出问题了?
我的QQ是359282347 欢迎大家来交流。