| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖
标题:为什么打出都是第0个学生,会陷入死循环
只看楼主 加入收藏
冬天的梦
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2014-12-16
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:3 
为什么打出都是第0个学生,会陷入死循环
程序代码:
// 2014.12.16.22.06.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include"string.h"

int _tmain(int argc, _TCHAR* argv[])
{
    printf("欢迎来到学生管理系统");

    char name[50];
    
    int stu[100];//学生人数100
    char stun[100][30];//学生姓名
    int  stuk[4][100];//学生四门功课成绩
    int i=0;
    while(true)
    {
        printf("\n请输入要查询的内容");
        gets(name);
    if (strcmp(name,"input")==0)
    {
        while(i<100)
        {
        printf("请输入%d学生姓名");
        scanf("请输入学生姓名%s",&stun[i]);
        scanf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);
        i++;
        }
    
    }
    else if(strcmp(name,"avg")==0)
    {
        int sum1=0,sum2=0,sum3=0,sum4=0;
        sum1=sum1+stuk[0][i];
        sum2=sum2+stuk[1][i];
        sum3=sum3+stuk[2][i];
        sum4=sum4+stuk[3][i];
        printf("语文平均分%d,数学平均分%d,英语平均分,计算机平均分%d",sum1/100,sum2/100,sum3/100,sum4/100);
    }
    else if(strcmp(name,"list")==0)
    {
        printf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);

    }
    else
    {
        printf("帮助,input是输入,avg是求平均分,list是列出学生成绩");
    }
    }
    return 0;
}

[local]1[/local]
code]// 2014.12.16.22.06.cpp : 定义控制台应用程序的入口点。附件1是第一个代码显示图
//

#include "stdafx.h"
#include"string.h"

int _tmain(int argc, _TCHAR* argv[])
{
    printf("欢迎来到学生管理系统");

    char name[50];
   
    int stu[100];//学生人数100
    char stun[100][30];//学生姓名
    int  stuk[4][100];//学生四门功课成绩
    int i=0;
    while(true)
    {
        printf("\n请输入要查询的内容");
        gets(name);
    if (strcmp(name,"input")==0)
    {
        while(i<100)
        {
        printf("请输入%d学生姓名");
        scanf("请输入学生姓名%s",&stun[i]);
        scanf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);
        i++;
        if (printf(" "))
                     break;
        }
   
    }
    else if(strcmp(name,"avg")==0)
    {
        int sum1=0,sum2=0,sum3=0,sum4=0;
        sum1=sum1+stuk[0][i];
        sum2=sum2+stuk[1][i];
        sum3=sum3+stuk[2][i];
        sum4=sum4+stuk[3][i];
        printf("语文平均分%d,数学平均分%d,英语平均分,计算机平均分%d",sum1/100,sum2/100,sum3/100,sum4/100);
    }
    else if(strcmp(name,"list")==0)
    {
        printf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);

    }
    else
    {
        printf("帮助,input是输入,avg是求平均分,list是列出学生成绩");
    }
    }
    return 0;
}

[/code]改了之后又只能输入一个学生名字,后直接跳到帮助

IMG_20141216_230419.jpg (2.33 MB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 应用程序 控制台 color 
2014-12-16 23:18
我只是个学生
Rank: 3Rank: 3
来 自:中石大
等 级:论坛游侠
威 望:1
帖 子:57
专家分:190
注 册:2014-12-14
收藏
得分:1 
截图为什么不用qq截图?难道是手机客户端登陆的论坛?

我们的善良将助长一个孩子不劳而获的懒惰心理
2014-12-17 00:05
潇湘书生
Rank: 2
等 级:论坛游民
威 望:1
帖 子:23
专家分:89
注 册:2014-12-9
收藏
得分:5 
while(i<100)
        {
        printf("请输入%d学生姓名");
        scanf("请输入学生姓名%s",&stun[i]);
        scanf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);
        i++;
        }
是不是在这里它会输出100次,只要i<100,它就不断的输出
收到的鲜花
  • 冬天的梦2014-12-17 20:19 送鲜花  3朵   附言:我很赞同
2014-12-17 09:36
lcsama
Rank: 2
等 级:论坛游民
帖 子:12
专家分:19
注 册:2014-12-14
收藏
得分:4 
while(i<100)
       {
        printf("请输入%d学生姓名",i+1);
        scanf("请输入学生姓名%s",&stun[i]);
        scanf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);
        i++;
        }
    这里改用for试试吧
2014-12-17 09:50
快速回复:为什么打出都是第0个学生,会陷入死循环
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020737 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved