| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 603 人关注过本帖, 1 人收藏
标题:请教一个程序怎么编?谢谢了!
只看楼主 加入收藏
bester214
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-21
结帖率:75%
收藏(1)
已结贴  问题点数:20 回复次数:8 
请教一个程序怎么编?谢谢了!
输入N个学生数据:学号 姓名 成绩 要求输出这些学生数据并计算平均分(通过对象数组来表示)
谢谢大哥们了!
搜索更多相关主题的帖子: 大哥 姓名 
2009-10-21 19:18
bester214
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-21
收藏
得分:0 
大家帮帮忙啊 !!
2009-10-22 12:11
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:0 
晚上我帮你看看!应该不难!
2009-10-22 12:50
bester214
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-21
收藏
得分:0 
回复 3楼 kspliusa
好的 谢谢了 确实不难 只是我新手 一点 也不懂~~ thx~~
2009-10-22 13:22
pp398948781
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2009-10-22
收藏
得分:10 
#include <iostream>
#include <string>
using namespace std;
struct student_info
{
    int Number;
    string strName;
    int score;
    double average;
};
student_info student[50];
void inputInfo()
{
    int i;
    char a[50];
    for(i=0;i<50;i++)
    {
        cout<<"请输入第"<<i+1<<"个学生的信息:"<<endl;
        cout<<"请输入姓名:"<<endl;
        cin>>a;
        student[i].strName=a;
        cout<<"请输入学号:"<<endl;
        cin>>student[i].Number;
        cout<<"请输入成绩:"<<endl;
        cin>>student[i].score;
    }
}
void outputInfo()
{
    int i;
    for(i=0;i<50;i++)
    {
        cout<<"第"<<i+1<<"个学生的信息:"<<endl;
        cout<<"学号:"<<student[i].Number<<endl;
        cout<<"姓名:"<<student[i].strName<<endl;
        cout<<"成绩:"<<student[i].score<<endl;

    }
}
void computResault()
{
    int sum = 0;
    int i;
    for(i=0;i<50;i++)
    {
        sum+=student[i].score;
    }
    cout<<"平均成绩:"<<sum/50<<endl;
}
int main()
{
    inputInfo();
    outputInfo();
    computResault();
    cin.get();
    return 0;
}
我这写的是50 你可以自己换
刚调试了 没有问题
        

2009-10-22 14:31
bester214
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-21
收藏
得分:0 
回复 5楼 pp398948781
谢谢了! 有个问题 N是不定的话 不一定是50 想输几个就是几个 这样怎么搞?
2009-10-23 08:40
bester214
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-21
收藏
得分:0 
回复 5楼 pp398948781
还有 本题的对象数组是怎么用的?
2009-10-23 08:42
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
收藏
得分:5 
昨天没时间写,今天写了一个,看看行不行,我也是新手,呵呵,加油!
#include <iostream>
#include <cstring>
#include <cstdlib>
 
class Student {
    private :
        std::string Sname;
        std::string Idnum;
        double score;
        double total_sc;
        double ave;
    public :
        Student();
        Student(const std::string name,const std::string IDnum,  double Sscore);
        ~Student(){}
        Student Get_total_score(const Student * tmp,const int num);
 
        friend std::ostream & operator << (std::ostream & os, const Student & t);
};
 
Student::Student(){
    Sname = '\0';
    Idnum = '\0';
    score = 0.0;
    total_sc = 0.0;
    ave = 0.0;
}
 
Student::Student(const std::string name, const std::string IDnum, const double Sscore){
    using std::cerr;
    using std::endl;
 
    if (Sscore < 0.0){
        cerr<<"Error, Please enter a number over zero!\n"
        <<"\nscore = "<<score<<endl;
    }
 
    else{
        Sname = name;
        Idnum = IDnum;
        score = Sscore;
    }
}
Student Student::Get_total_score(const Student * tmp,const int num){
        Student sum;
    for (int i=0; i<num; i++){
        sum.total_sc += (*(tmp+i)).score;
    }
     
    sum.ave = sum.total_sc/num;
    std::cout<<"Averge :"<<sum.ave<<std::endl;
    return sum;
}
 
 
std::ostream & operator << (std::ostream & os, const Student & t){
    os<<"Idnum :"<<t.Idnum<<"\nName :"<<t.Sname
    <<"\nScore :"<<t.score<<std::endl;
    return os;
}
 
int main()
{
    using namespace std;
    cout << "Enter the number of student :\n";
    int stunum = 0;
    while (!(cin>>stunum)){
        cin.clear();
        while (cin.get()!='\n'){
            continue;
        }
        cout <<"Enter a number!"<<endl;
    }
 
    Student *pn = new Student [stunum];
 
    string strn, stri;
    double tempscore =0.0;
    Student temp_score;
    for (int i=0; i<stunum; i++){
 
        cout <<"Enter Id :"<<endl;
        cin.ignore();
        getline (cin, stri);
        cin.clear();
 
        cout<<"Enter name :"<<endl;
        cin.clear();
        getline (cin, strn);
        cin.clear();
 
        cout<<"Enter score :"<<endl;
        cin>>tempscore;
 
        (*(pn+i)) = Student(strn, stri, tempscore);
 
    }
    cout<<endl;
    for (int i=0; i<stunum; i++){
        cout<<*(pn+i);
        cout<<endl;
    }
    temp_score.Get_total_score(pn,stunum);
    return 0;
}
2009-10-23 12:43
qlc00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:157
专家分:540
注 册:2007-11-26
收藏
得分:5 
#include <iostream>
#include <string>
using namespace std;
class student
{
private:
    string name;
    double no;
    float score;
public:
    string get_name()
    {
        return name;
    }
    double get_no()
    {
        return no;
    }
    float get_score()
    {
        return score;
    }
    void input()
    {
        char a[50];
            cout<<"请输入学生的姓名"<<endl;
            cin>>a;
            name=a;
            cout<<"请输入学生的学号"<<endl;
            cin>>no;
            cout<<"请输入学生的分数"<<endl;
            cin>>score;
    }
    void output()  
    {
            cout<<"姓名"<<name<<endl;
            cout<<"学号"<<no<<endl;
            cout<<"分数"<<score<<endl;
    }
};
void main()
{
    int N;
    int sum=0;
    float average;
    cout<<"请输入你要录入学生信息的学生个数"<<endl;
    cin>>N;
    student *stu=new student[N];
    for(int i=0;i<N;i++)
    {
        cout<<"请输入第"<<i+1<<"个学生的信息:"<<endl;
        stu[i].input();
    }
    for(i=0;i<N;i++)
    {
        cout<<"第"<<i+1<<"个学生的信息如下:"<<endl;
        stu[i].output();
    }
    for(i=0;i<N;i++)
    {
        sum+=stu[i].get_score();
    }
    average=sum/N;
    cout<<"学生的平均成绩为:"<<average<<endl;
    delete []stu;
}
这个程序应该比较容易理解吧!

Anything is possible!
2009-10-24 20:26
快速回复:请教一个程序怎么编?谢谢了!
数据加载中...
 
   



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

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