鱼C论坛

 找回密码
 立即注册
查看: 1652|回复: 3

[已解决]学生成绩管理系统

[复制链接]
发表于 2019-4-27 09:24:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 saberAMD 于 2019-4-27 09:30 编辑

        for(i=0;i<MAX;i++)
        {
                printf("姓名:");
                scanf("%s",stu[i].name);//stu后面有个【i】没显示出来,不知道为什么
                printf("是否继续输入学生信息:(Y 继续,N 返回主菜单)\n");
                change = getchar();
                if(change=='Y')
                {
                        system("cls");
                }
                else if(change=='N')
                {
                        break;
                }

        }
请问下这里为什么没起作用 谢谢
最佳答案
2019-4-27 11:39:03
本帖最后由 我叫MD 于 2019-4-27 11:40 编辑

getchar();      //先获取上字符
change = getchae();             //在赋值;

或者 把  change = getchae();  这行去了,直接下面这样   

if(getchar() == 'Y')
{
}
else if (getchar() == 'N')
{
}
6@5}$}J}41HPE65UO~N}72H.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-27 11:39:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 我叫MD 于 2019-4-27 11:40 编辑

getchar();      //先获取上字符
change = getchae();             //在赋值;

或者 把  change = getchae();  这行去了,直接下面这样   

if(getchar() == 'Y')
{
}
else if (getchar() == 'N')
{
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-27 11:50:45 From FishC Mobile | 显示全部楼层
scanf后面接个getchar 把你输入姓名后的回车清了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-27 11:58:59 | 显示全部楼层
本帖最后由 jackz007 于 2019-4-27 12:00 编辑

        scanf() 会影响后面的 getchar(),所以,应该在 scanf() 的后面添加 fflush(stdin) ; 清除键盘缓冲区
. . . . . .
        scanf("%s" , stu[i] . name)                            ;
        fflush(stdin)                                          ; // 清除键盘缓冲区,因为执行 scanf() 后,键盘缓冲区内会有回车符滞留,会成为后面 getchar() 的输入
        printf("是否继续输入学生信息(Y 继续,N 返回主菜单) : ")      ;
. . . . . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 17:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表