| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 456 人关注过本帖
标题:求助:大家看我看看程序,为什么我的程序运行的时候什么都没有呢
只看楼主 加入收藏
yuer981211
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-10-22
收藏
 问题点数:0 回复次数:3 
求助:大家看我看看程序,为什么我的程序运行的时候什么都没有呢
#include <iostream.h>
class SchoolClass  //声明了一个类//
{
    int *ClassData;//声明了一个ClassData的指针变量//
    int ClassDataIndex;//一个整数索引,是数据存储区的索引,初始化为0 //
public:
    SchoolClass(int NumberStudents);//构造了一个函数,NumberStudents为函数的参数//
    ~SchoolClass(void);//销毁器,销毁以前分配的内存//

    void AddScore(int Score);
    int GetScore(int Index);
    float AverageScore(void);
};

SchoolClass::SchoolClass(int NumberStudents)//调用所构造的函数//
{
    ClassData=new int[NumberStudents];//new运算符用来给新数据分配存储空间,
                                      //即给NumberStudents分配空间
    ClassDataIndex=0;
}

SchoolClass::~SchoolClass(void)
{
    delete ClassData;//删除ClassData以前的内存
}

void SchoolClass::AddScore(int Score)
{
    ClassData[ClassDataIndex++]=Score;//ClassData为指针(我觉得像是一个数组)
                                      //ClassDataIndex为索引(我觉得它比较象指针)
                                      //每执行一次AddScore索引就增加一次,
                                      //并将数组中的值传递给Score,我感觉Score里只有一个值
                                      //想错了,犯糊涂了,应该是每得到一个Score,就放到ClassData
                                      //数组里,并建立一个索引。
                                      //这里还有一个问题,那就是赋值语句怎么写,谁给谁赋值,
                                      //ClassDataIndex=0,这个就是把0 赋值给ClassDataIndex,
                                      //可上面这样理解那就是反过来了阿?
}

int SchoolClass::GetScore(int Index)
{
    if (Index <= ClassDataIndex)
    {
       return ClassData[Index];
    }
    else
    {
        return -1;
    }
}

float SchoolClass::AverageScore(void)
{
    float Sum=0;
    if (ClassDataIndex==0)
    {
        return -1;
    }
    for (int loop_index=0; loop_index<ClassDataIndex;loop_index)
    {
        Sum+=(float) ClassData[loop_index];
    }
    return Sum/(float) ClassDataIndex;
}
void main()
{   SchoolClass HistoryClass(9);//声明SchoolClass的 两个对象,HistoryClass(9),
                                // EnglishClass(10)
    SchoolClass EnglishClass(10);

    HistoryClass.AddScore(80);
    HistoryClass.AddScore(81);
    HistoryClass.AddScore(82);
    HistoryClass.AddScore(83);
    HistoryClass.AddScore(84);
    HistoryClass.AddScore(85);
    HistoryClass.AddScore(86);
    HistoryClass.AddScore(87);
    HistoryClass.AddScore(88);

    EnglishClass.AddScore(91);
    EnglishClass.AddScore(92);
    EnglishClass.AddScore(93);
    EnglishClass.AddScore(94);
    EnglishClass.AddScore(95);
    EnglishClass.AddScore(96);
    EnglishClass.AddScore(97);
    EnglishClass.AddScore(98);
    EnglishClass.AddScore(99);
    EnglishClass.AddScore(100);

    cout <<"Average Score for History Class:"<<
            HistoryClass.AverageScore()<<"\n";
    cout <<"Average Score for English Class:"<<
        EnglishClass.AverageScore()<<"\n";
    
}


这是我按书上说得写的,注释部分为我的理解,
程序运行应该输出两句话和数字,我的却什么也没有,请教大家。
是不是EnglishClass.AverageScore()调用的问题啊
搜索更多相关主题的帖子: 运行 
2008-11-06 14:26
NJAUBMW
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-3-31
收藏
得分:0 
/*
 * test1.cpp
 *
 *  Created on: 2008-11-6
 *      Author: user
 */

#include <iostream>
using namespace std;
class SchoolClass  //声明了一个类//
{
    int *ClassData;//声明了一个ClassData的指针变量//
    int ClassDataIndex;//一个整数索引,是数据存储区的索引,初始化为0 //
public:
    SchoolClass(int NumberStudents);//构造了一个函数,NumberStudents为函数的参数//
    ~SchoolClass(void);//销毁器,销毁以前分配的内存//

    void AddScore(int Score);
    int GetScore(int Index);
    float AverageScore(void);
};

SchoolClass::SchoolClass(int NumberStudents)//调用所构造的函数//
{
    ClassData=new int[NumberStudents];//new运算符用来给新数据分配存储空间,
                                      //即给NumberStudents分配空间
    ClassDataIndex=0;
}

SchoolClass::~SchoolClass(void)
{
    delete ClassData;//删除ClassData以前的内存
}

void SchoolClass::AddScore(int Score)
{
    ClassData[ClassDataIndex++]=Score;//ClassData为指针(我觉得像是一个数组)
                                      //ClassDataIndex为索引(我觉得它比较象指针)
                                      //每执行一次AddScore索引就增加一次,
                                      //并将数组中的值传递给Score,我感觉Score里只有一个值
                                      //想错了,犯糊涂了,应该是每得到一个Score,就放到ClassData
                                      //数组里,并建立一个索引。
                                      //这里还有一个问题,那就是赋值语句怎么写,谁给谁赋值,
                                      //ClassDataIndex=0,这个就是把0 赋值给ClassDataIndex,
                                      //可上面这样理解那就是反过来了阿?
}

int SchoolClass::GetScore(int Index)
{
    if (Index <= ClassDataIndex)
    {
       return ClassData[Index];
    }
    else
    {
        return -1;
    }
}

float SchoolClass::AverageScore(void)
{
    float Sum=0.0f;
    if (ClassDataIndex==0)
    {
        return -1;
    }
   for (int loop_index=0; loop_index<ClassDataIndex;loop_index++)
    {
       Sum+=(float) ClassData[loop_index];
    }
    return Sum/(float) ClassDataIndex;
}
int main()
{   SchoolClass HistoryClass(9);//声明SchoolClass的 两个对象,HistoryClass(9),
                                // EnglishClass(10)
    SchoolClass EnglishClass(10);

    HistoryClass.AddScore(80);
    HistoryClass.AddScore(81);
    HistoryClass.AddScore(82);
    HistoryClass.AddScore(83);
    HistoryClass.AddScore(84);
    HistoryClass.AddScore(85);
    HistoryClass.AddScore(86);
    HistoryClass.AddScore(87);
    HistoryClass.AddScore(88);

    EnglishClass.AddScore(91);
    EnglishClass.AddScore(92);
    EnglishClass.AddScore(93);
    EnglishClass.AddScore(94);
    EnglishClass.AddScore(95);
    EnglishClass.AddScore(96);
    EnglishClass.AddScore(97);
    EnglishClass.AddScore(98);
    EnglishClass.AddScore(99);
    EnglishClass.AddScore(100);

    cout <<"Average Score for History Class:"<<
            HistoryClass.AverageScore()<<"\n";
    cout <<"Average Score for English Class:"<<
        EnglishClass.AverageScore()<<"\n";

    return 0;

}
2008-11-06 15:38
NJAUBMW
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-3-31
收藏
得分:0 
Average Score for History Class:84
Average Score for English Class:95.5
2008-11-06 15:39
yuer981211
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-10-22
收藏
得分:0 
谢谢NJAUBMW,不过我还是不明白阿
原来书上的程序也是有错误的啊,郁闷。
可是我看不出来了,上面的好多内容还没接触到呢。例如
iostream与iostream.h的区别,第二个语句的意思,
谢谢NJAUBMW,
2008-11-06 16:17
快速回复:求助:大家看我看看程序,为什么我的程序运行的时候什么都没有呢
数据加载中...
 
   



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

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