📄 input.cpp
字号:
//输入
#include "head.h"
student * input(student * p)
{
char queren='Y';//quenren 为用户确认标
int i=0, j=0;
float score=1000;
char name[16]={' '};
student *head=p;
student *taill=p;
student *q=NULL;
while(queren=='y' || queren=='Y')
{
system("cls");
j=0;
printf("请输入该学员的学号:\n");
fflush(stdin);
for(i=0;i<11;i++)
{
j=j+1;
if(j>10)
{
printf("输入数据太长,请核对后重新输入!\n");
goto END;
}
scanf("%c",&name[i]);
if(name[i]=='\n')
{
name[i]='\0';
break;
}
}
if(j==1 )
{
printf("学号不能为空!\n");
goto END ;
}
q=( student *)malloc(sizeof( student));
strcpy(q->Stnumber," ");
q->next=NULL;
if(p==NULL)
p=head=taill=q;
else
{
while(head!=NULL)
{
taill=head;
head=head->next;
}
taill->next=q;
taill=q;
}
j = check_re(name,p); //检查是否输入重复
if(j==0)
{
strcpy(q->Stnumber,name);
}
else
{
printf("该学员号已存在,请核对后再输入!\n");
goto END;
}
NAME:
printf("请输入学员的姓名:\n");
fflush(stdin);
j=0;
for(i=0;i<17;i++)
{
j=j+1;
if(j>16)
{
printf("输入数据太长,请核对后重新输入!\n");
goto NAME; //返回重新输入姓名
}
scanf("%c",&name[i]);
if(name[i]=='\n')
{
name[i]='\0';
break;
}
}
strcpy(q->name ,name);
SEX:
printf("请输入性别:\n");
fflush(stdin);
j=0;
for(i=0;i<3;i++)
{
j=j+1;
if(j>2)
{
printf("性别只能是 \"男\" 或 \"女\" !\n");
goto SEX; //返回重新输入性别
}
scanf("%s",name);
if(name[i]=='\n');
{
break;
}
}
if(strcmp(name,"男")!=0 && strcmp(name,"女")!=0)
{
printf("性别只能是 \"男\" 或 \"女\" !\n");
goto SEX;
}
strcpy(q->sex,name);
NUMBER:
printf("请输入该学员的语文、数学、英语的单科成绩:\n");
fflush(stdin);
(*q).average=0.0 ; //赋初值
for(i=0;i<3;i++)
{
scanf("%f",&score);
if(score>100 || score<0) //判断是否输入是数字
{
printf("成绩只能在0到100之间,请核对后再输入!\n");
goto NUMBER;
}
q->grade[i]=score;
(*q).average=(*q).average+(*q).grade[i];
}
(*q).average = (*q).average/3.0;
END:
printf("是否继续添加数据 (Y/N)?\n");
fflush(stdin);
scanf("%c",&queren);
if(queren!='n' && queren!='N'&& queren!='Y' && queren!='y') //判断输入是否正确
{
printf("错误输入,请从新输入!\n");
goto END;
}
}
if(p!=NULL)
{
save_student(p); //保存数据
}
return p;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -