if(p==NULL)
{ /*未建信息*/ printf(\ \\n ??? 记录为空!! ???\\n ### 请先输入信息记录!! ###\\n\\n\ return ; } printf(\请输入要删除记录的学号:\ scanf(\
while(p!=NULL&&strcmp(temp,p->number)==0) /*要删除结点是表头结点*/ { ptr2=p; p=p->next; free(ptr2); }
if(p==NULL) {
printf(\ 删除成功!! \\n\\n\ return ; }
/*要删除结点不是表头结点*/ ptr1=p;
ptr2=p->next; while(ptr2!=NULL){ if(strcmp(temp,ptr2->number)==0) { ptr1->next=ptr2->next; free(ptr2); i++; } else
ptr1=ptr2; /*ptr1后移一个结点*/ ptr2=ptr1->next; /*ptr2指向ptr1的后一个结点*/ } if(i!=0) }
printf(\ <<<删除成功!!! >>> \\n\\n\\n\else printf(\ ??? 没有该信息!! ??? \\n\\n\
/*按学号查询信息*/
void search_number(struct student *head) { int temp[20],i=0; struct student *ptr=head ;
system(\ /*清屏*/ printf(\*********************************\\n\\n\ if(ptr==NULL){
}
查
询
界
面
printf(\ ???? 记录为空!!请输入记录!! ????\\n\\n\\n\\n\getchar(); return;
printf(\ 请输入要查询的学号: \ scanf(\ for(;ptr;ptr=ptr->next ) { if(strcmp(temp,ptr->number)==0) { printf(\学号:%s 班级:%s 姓名:%s 年龄:%d 性别:%s 日期:%s 电话:%s 电子邮
件:%s\ail); i++; } } if(i==0) printf(\ ??? 没有找到信息! ???\\n\\n\ printf(\ getchar(); }
/*按班级查询学生信息*/
void search_class(struct student *head) { int i=0; char temp[10]; struct student *ptr=head; system(\ printf(\查询界面*********************************\\n\\n\ if(ptr==NULL){ printf(\ ???? 记录为空!请输入记录! ????\\n\\n\\n\\n\ getchar(); return;
}
printf(\ 请输入要查询的班级: \ scanf(\ for(;ptr->next;ptr=ptr->next ) { if(strcmp(temp,ptr->myclass)==0) { printf(\学号:%s 班级:%s 姓名:%s 年龄:%d 性别:%s 日期:%s 电话:%s 电子邮
件:%s\ail); i++; } } if(i==0) printf(\ ??? 没有该信息! ???\\n\\n\ printf(\ getchar(); }
/*定义导出信息报表函数*/ int fpint(struct student *head) { FILE *fp; struct student *p=head->next; system(\ /*清屏*/ getchar(); if((fp=fopen(\ { printf(\打开文件啊\ exit(0); } while(p->next!=NULL) { fprintf(fp,\学号:%s 班级:%s 姓名:%s 年龄:%d 性别:%s 日期:%s 电话:%s 电子邮件:%s \\n\ p=p->next; } if(fclose(fp)) { printf(\文件无法关闭\ exit(0); } printf(\学生录############################\\n##\\n##\
printf(\ ##### 导出成功!! #####\\n##\\n##\ printf(\ ##### 请查看文件“newstudent.txt”!!! #####\\n##\\n## \ printf(\*************\\n\\n\ getchar(); }
int fscan_student(struct student * head) { struct student *pt1=head; struct student *temp; int size=sizeof(struct student); FILE * fp;
system(\ /*清屏*/
if((fp=fopen(\ printf(\ File open error ! \\n\ exit(0); }
while(!feof(fp)) { temp=(struct student *)malloc(size); /*
申请新的地址*/
temp->next=NULL; fscanf(fp,\
\\n\mail); pt1->next=temp; if(!feof(fp)) pt1=temp; else temp->next=NULL; } if(fclose(fp)){ printf(\ 不能关闭文件!!\\n\ exit(0); } printf(\ <<<<导入成功!!>>>> \\n\\n\}
int judgedate(struct student *pt) {
}
struct student *p=pt; int a=0;
if(p->date[4]!='-'||p->date[7]!='-') {
printf(\ 日期输入格式有问题,请重新正确输入日期: \ a=1; return a; }
else if(p->date[8]>='3'&&p->date[9]>'1') {
printf(\ 日输入不对,请重新正确输入日期: \ a=1; return a; }
else if( (p->date[5]>'1') || ( (p->date[5]==1) )&& (p->date[6]>'2') ) {
printf(\ 月份输入不正确,请重新正确输入日期: \ a=1; return a; }
return a;