A. c语言学生信息系统管理中,输入男女用m和f表示时,输入错误则提示重新输入
完全错误,gender 是该函数中的局部变量,是程序中的形参,将数据存在形参里面没有意义。改成这样
char inputgender()
{
//累赘定义不要,删掉
char gender;
printf("\n(3)请输入学生性别,‘m’代表女生,‘f’代表男生:");
scanf("%c",&gender); //gender 是 char 变量不是数组,不能用字符串占位符%s!
if (gender != 'm' || gender != 'f' ) //!=才是不等于
{
printf("输入错误,请重新输入:");
inputgender( gender);
}
return gender;//函数返回值
}
B. C语言结构体数组输出学生信息错误
数组下标是从0开始,没有score[4],将1234改为0123
输入字符串会自动加上'\0',你给student[i].name[N]加了空字符后,字符串变短了,所以只有一个字符,因为N等于1
C. C语言:链表,录入学生信息:学号、姓名、性别、年龄、宿舍号码、电话号码。保存在文件里。这个哪里错了
新建链表里面有一个很明显的错误,fscanf的name参数输出格式不应该为%c,而应该是%s
D. c语言 结构体、函数 求大神看看咋错了,输入只能输六个人成绩,多了输不了了
函数调用时参数输入错误。
input和print函数入参应该是数组头指针,也就是元素0的指针,用stu或者&stu[0]都可以,改为:
input(stu);或者
input(&stu[0]);
E. c语言输入学生成绩和学号一直有错
修改一下:
for ( x=0;x<N;x++ )
{ printf("输入第%d学生成绩:",x+1);
scanf("%f",&xue[x]);
printf("输入第%d学生学号:",x+1);
scanf("%d",&ji[x]);
}
F. C语言,输入的学号信息与显示的不一样,输入多个学生信息时,会丢失一些信息,是怎么回事
fscanf(fp,"\n\t%s\t%s\t%s\t\t\t%d\t%s\t%s\n",...——这简直是胡写!你看一下fscanf这个函数的格式化控制字符串应该如何组织……
G. C语言中,输入错误请重新输入
while后多了个分号,while这句不执行,但是之后的花括号里面语句依然按序执行。去掉分号就是你想要的了