pressAnykeyToContinue ();
return 1;
}
/*学号判重*/
/*重复返回1;不重复返回0*/
int noRepeated (student stu[], int stuNum, int no) {
int i;
for (i=0; istuNum; i++)
if (no == stu[i].no)
return 1;
return 0;
}
/*输出录入学生信息之表头*/
status printInputStuInfoheader (int subNum) {
int i;
puts ("--------------------------------------------------------------------------");
printf ("\t\t学号\t姓名\t");
for (i=0; isubNum; i++)
printf ("%s\t",subject[i]);
putchar ('\n');
puts ("--------------------------------------------------------------------------");
return 1;
}
/*录入单个学生信息*/
/*参数说明:*/
/*int ismod:是否修改信息 。是:1;否:0*/
/*返回值说明*/
/*0:本次未录入;-1:学号重复;-2成绩错误;1:录入成功*/
status inputStuInfo (student stu[], int *stuNum, int subNum, int stuIndex, int ismod) {
int i,temp;
fflush (stdin); /*清除缓冲区*/
scanf ("%d",temp);
if (temp==-1) /*录入-1以结束*/
return 0; /*本次未录入*/
/*非修改,即新增学生信息*/
if (ismod == 0) {
if (noRepeated (stu, *stuNum, temp)==1) /*学号重复*/
return -1;
}
/*修改学生信息*/
if (ismod == 1) {
if (temp!=stu[stuIndex].nonoRepeated (stu, *stuNum, temp)==1) /*学号不等于原学号,且学号重复*/
return -1;
}
stu[stuIndex].id = (*stuNum)+1; /*分配id*/
stu[stuIndex].no = temp; /*学号*/
scanf ("%s",stu[stuIndex].name);/*姓名*/
for (i=0; isubNum; i++) {
scanf ("%f",stu[stuIndex].scores[i].score);
} /*各门课成绩分数*/
for (i=0; isubNum; i++)
if (stu[stuIndex].scores[i].score100 || stu[stuIndex].scores[i].score0)
return -2; /*成绩错误*/
if (ismod!=1)
*stuNum+=1;
return 1; /*本次录入成功*/
}
/*录入全部学生信息*/
status inputAllStuInfo (student stu[], int *stuNum, int subNum) {
int i,inputStatus,count;
puts ("==========================================================================");
puts ("录入学生信息");
puts ("==========================================================================");
putchar ('\n');
/*学生信息为空*/
if (stuInfoEmpty (stu,*stuNum)) {
puts ("请录入学生信息(学号录入-1以结束)↓↓");
putchar ('\n');
}
/*已有学生信息*/
else {
printf ("已有%d名学生信息!\n",*stuNum);
putchar ('\n');
puts ("继续录入以新增(学号录入-1以结束)↓↓");
putchar ('\n');
}
printInputStuInfoheader (subNum); /*录入信息之表头*/
/*录入信息*/
count = 0; /*本次录入学生计数*/
i = *stuNum;
while (1) {
printf ("第%d名学生\t",i+1);
inputStatus = inputStuInfo (stu, stuNum, subNum, i, 0);
/*录入成功*/
if (inputStatus == 1) {
i++;
count ++;
}
/*录入错误*/
else if (inputStatus0) {
putchar ('\n');
if (inputStatus == -1)
printf ("学号重复!");
if (inputStatus == -2)
printf ("成绩错误!");
puts ("请重新输入↓");
continue;
}
/*本次未录入*/
else if (inputStatus == 0)
break;
}
puts ("--------------------------------------------------------------------------");
putchar ('\n');
if (count!=0)
printf ("本次%d名学生信息录入完毕!即将返回主菜单 。\n",count);
else
printf ("您本次未输入学生信息!即将返回主菜单 。\n");
putchar ('\n');
pressAnykeyToContinue ();
return 1;
}
/*输出学生信息之表头*/
推荐阅读
- 小县城直播运营,县城直播运营工资
- js给dom元素添加css,js给div添加css样式
- vb.net百度云 vb下载百度云
- css边框boxshaw,Css边框虚线怎么设置
- html5打开页面弹出键盘,html打开页面弹出一个窗口
- 矩阵转置vb.net代码 矩阵转置程序代码
- 怎么用python提取fasta序列,python提取数据
- 微信视频号怎样拉黑对方,微信视频号怎么拉黑一个人
- 怎么将微信直播视频下载,如何将微信直播视频下载下来