| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:额~哪位大神能帮菜鸟我找出问题呐?(我想说我是照着答案打得。。。。)
只看楼主 加入收藏
Love小小白
Rank: 2
来 自:江苏扬州
等 级:论坛游民
帖 子:21
专家分:19
注 册:2012-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
额~哪位大神能帮菜鸟我找出问题呐?(我想说我是照着答案打得。。。。)
题目是“有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)
我的循环输入都是对的,可是输出显示的学号、姓名、成绩、平均分为什么都是 0 啊??!!!
#include<iostream>
#include<iomanip>
using namespace std;
const int n=10;
struct student
{
    char num[6];
    char name[8];
    int score[4];
    float avr;
}stu[n];
int main()
{
    int i,j,max,maxi,sum;
    float average;
    for(i=0;i<n;i++)
    {
        cout<<"input scores of student"<<i+1<<endl;
        cout<<"NO:";
        cin>>stu[i].num;
        cout<<"name:";
        cin>>stu[i].name;
        for(j=0;j<3;j++)
        {
            cout<<"score"<<j+1<<":";
            cin>>stu[i].score[j];
        }
        cout<<endl;
    }
    average=0;
    max=0;
    maxi=0;
    for(i=0;i<n;i++)
    {
        sum=0;
    for(j=0;j<3;j++)
        sum+=stu[i].score[j];
    stu[i].avr=sum/3.0;
    average+=stu[i].avr;
    if(sum>max)
    {
        max=sum;
        maxi=i;
    }
    }
    average/=n;
    cout<<" NO, name  score1    score2   score3    average"<<endl;
    for(i=0;i<n;i++)
        cout<<setw(3)<<stu[i].score[j]<<"   ";
    cout<<stu[i].avr<<endl;


    cout<<"average="<<average<<endl;
cout<<"The highest score is:"<<stu[maxi].name<<",score total:"<<max<<endl;
return 0;
}



搜索更多相关主题的帖子: include 键盘 姓名 
2012-12-05 09:42
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:10 
程序代码:
#include <iostream>
using namespace std;

int main(void)
{
    int score[6][3];//二位数组 存放6人3门功课的成绩及平均成绩
    int n=0;
    //收集成绩
    for (int i=0; i<6; i++)
    {
        cout<<"请输入第 "<<i+1<<" 位同学3门功课的成绩:"<<endl;
        for (int j=0; j<3; j++)
        {
            cout<<"请输入第"<<j+1<<" 门成绩: ";
            cin>>score[i][j];
        }
    }

    //输出成绩
    cout<<"请输入要查询成绩的同学序号(1-6),输入 0 结束查询";
    cin>>n;
    while (n)
    {
        n--;
        cout<<"序号为 "<<n<<" 的同学成绩如下:"<<endl;    //输出单科成绩
        for (int i=0; i<3; i++)
        {
            cout<<""<<i+1<<" 门成绩:";
            cout<<score[n][i]<<endl;
            if (i == 2)                                    //输出平均成绩
            {
                cout<<"平均成绩:";
                cout<<(score[n][0]+score[n][1]+score[n][2])/3<<endl;
            }
        }

        cout<<"请输入要查询成绩的同学序号(1-6),输入 0 结束查询";
        cin>>n;

    }

    return 0;
}

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-12-05 10:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
C++不像C++,C又不像C,你这么学下去就学费了,赶紧换书换老师吧
程序代码:
#include <iostream>
#include <string>

struct student
{
    size_t id;
    std::string name;
    double score[3];

    student() : id(0)
    {
        score[0] = 0.0;
        score[1] = 0.0;
        score[2] = 0.0;
    }

    double average() const
    {
        return (score[0]+score[1]+score[2])/3.0;
    }
};

std::ostream& operator<<( std::ostream& os, const student& s )
{
    return os
        << s.id << '\t'
        << s.name << '\t'
        << s.score[0] << '\t'
        << s.score[1] << '\t'
        << s.score[2] << '\t'
        << s.average();
}

using namespace std;

int main()
{
    const size_t n = 3;
    student stu[n];

    for( size_t i=0; i<n; ++i )
    {
        cout<<"input scores of student"<<i+1<<endl;
        cout<<"NO:";
        cin >> stu[i].id;
        cout<<"name:";
        cin>>stu[i].name;
        for( size_t j=0; j<3; ++j )
        {
            cout<<"score"<<j+1<<":";
            cin>>stu[i].score[j];
        }
        cout<<endl;
    }

    size_t maxindex = 0;

    cout<<"NO\tname\tscore1\tscore2\tscore3\taverage\n";
    for( size_t i=0; i<n; ++i )
    {
        cout << stu[i] << '\n';

        if( stu[i].average() > stu[maxindex].average() )
            maxindex = i;
    }
    cout<<endl;

    cout<<"The highest score is:\n";
    cout << stu[maxindex] << endl;

    return 0;
}

2012-12-05 10:28
Love小小白
Rank: 2
来 自:江苏扬州
等 级:论坛游民
帖 子:21
专家分:19
注 册:2012-12-2
收藏
得分:0 
额~大神,你。。。你确定看清我的题目了么?还是说我的表达能力有那么差么?它“要求打印出3门课的总平均成绩,以及最高分的学生的数据”。。。大神,在帮我看看吧>_<!!

C++神马的。。。好头疼!!!
2012-12-05 10:29
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:0 
向版主学习

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-12-05 11:10
Love小小白
Rank: 2
来 自:江苏扬州
等 级:论坛游民
帖 子:21
专家分:19
注 册:2012-12-2
收藏
得分:0 
回复 3楼 rjsp
好的吧~~听从版主大人教诲。!然后。。。然后。。。。然后,您给的答案,偶看不懂。。。原谅偶吧。。。

C++神马的。。。好头疼!!!
2012-12-05 11:40
Love小小白
Rank: 2
来 自:江苏扬州
等 级:论坛游民
帖 子:21
专家分:19
注 册:2012-12-2
收藏
得分:0 
最后的答案貌似是这个。。。谢谢上面各位啦!!!


#include<iostream>
#include<iomanip>
using namespace std;
const int n=10;
struct student
{
    char num[6];
    char name[8];
    int score[4];
    float avr;
}stu[n];
int main()
{
    int i,j,max,maxi,sum;
    float average;
    for(i=0;i<n;i++)
    {
        cout<<"input scores of student"<<i+1<<endl;;
        cout<<"NO:";
        cin>>stu[i].num;
        cout<<"name:";
        cin>>stu[i].name;
        for(j=0;j<3;j++)
        {
            cout<<"score"<<j+1<<":";
            cin>>stu[i].score[j];
        }
        cout<<endl;
    }
    average=0;
    max=0;
    maxi=0;
    for(i=0;i<n;i++)
    {
        sum=0;
    for(j=0;j<3;j++)
        sum+=stu[i].score[j];
    stu[i].avr=sum/3.0;
    average+=stu[i].avr;
    if(sum>max)
    {
        max=sum;
        maxi=i;
    }
    }
    average/=n;
    cout<<"   NO   name   score1   score2   score3   average"<<endl;
    for(i=0;i<n;i++)
    {
        cout<<setw(8)<<stu[i].num<<"   "<<setw(10)<<stu[i].name<<" ";
        for(j=0;j<3;j++)
         cout<<setw(3)<<stu[i].score[j]<<" ";
        cout<<stu[i].avr<<endl;
    }
      cout<<"average="<<average<<endl;
      cout<<"The highest score is:"<<stu[maxi].name<<",score total:"<<max<<endl;
      return 0;
}

C++神马的。。。好头疼!!!
2012-12-05 11:41
快速回复:额~哪位大神能帮菜鸟我找出问题呐?(我想说我是照着答案打得。。。。 ...
数据加载中...
 
   



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

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