c++问题哪位大神帮我看看哪里错,输不出结果

#include <iostream>
using namespace std;
class student
{
public:
student(string a,int b,double c){ name=a; no=b;deg=c; sum+=deg; num++;};
~student(){};
static void avg(){ cout<<"总分为:"<<sum<<"平均成绩:"<<(sum/num)<<endl;};
void display(){ cout<<"姓名:"<<name<<"学号:"<<no<<"成绩:"<<deg<<endl;};
private:
int no;
string name;
double deg;
static double sum;
static double num;
};

int main() {
student s1("小黄",1,89);
s1.display();
student s2("小陈",2,78);
s2.display();
student s3("小花",3,94);
s3.display();
student::avg();
return 0;
}

你的静态成员变量都没有初始化啊。

在int main前面加上:
double student::sum = 0.0;
double student::num = 0.0;
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-15
没有包含头文件#include<string>
用了string变量记得要加头文件

不是静态变量初始化问题,你不初始化系统自动初始化为0

c++ 有一道题目麻烦各位帮我看看我做的哪里错了,谢谢!
一开始就错了。既然是用switch语句,那么p是整型,而不能定为实型。从各个奖金的区间来看,你分的各种case基本都错了,从case 2开始,后面都错了。而且题目没有如果输入p的值是负数的错误提示。整个程序基本上错得差不多了。

我随手写的程序 请C++高手帮我看看为什么运行时不产生输出
程序没有错误,可能是你输入的方法有问题:在输入时,程序要求以空字符结束输入,所以,在最后一个字符串输入完成并回车后应该两次按下CTRL+Z输入两个空字符然后再按回车才能结束输入。

C++这样写程序,为什么输入后没有结果
第一个,你的循环条件是cin>>n;注意>>操作符返回的是流对象cin的引用,也就是如果流对象状态不出错,那么你的判定条件就会一直逻辑真,也就是一直循环要求你输入,解决办法有很多种,输入字母使得流状态错误,从而退出循环,然后cin.clear();cin.ignore();重置流,方便后面继续使用流;循环体里面可以...

C++纠错,帮我看看下面这段代码错在哪,编译能过就是运行不了
所以语句:tok=strtok(NULL," ")有问题

c++可以运行但是没输出结果 请大佬帮忙看看?
tt->data.namewxy == temp.namewxy,如果namewxy是字符数组或字符串,比较不能用==,查找一下函数,有字符串比较函数。

C++程序没错,但不显示结果,我所有的程序都这样
代码有错,当然不显示结果了。已经定义了int a,b,c,后面for语句中又定义int a=1;int b=0;int c=0。修改方法:把3个for语句括号里的int都删掉。

c++程序为什么输出不了我要的结果
因为你用alist[count]== alist[i]来判断,当count == 1,i==1时,你相当于是让第一个数和自身比较,当然相等了,所以break掉而没有cout出来。其次你应该把当前判断的数和他之前的数全部比较一下才知道是否应该打印,你每次都是和数组第一个数比较完就break,当然是错的了!

c++程序改错,输出无法显示??
由于你接收cin >> a[i]是一个整数,又不能等于0,而且sum=sum+1\/n循环的结果是<1的,一旦你输入一个大于1的整数,在你的内重循环中,一开始满足sum<a[j],由于之后的a[j]的值并没有改变,所以会一直循环下去,而且又没有输出语句,当然就没有输出了,相当于死循环了。for(n=1,sum=-1....

c++为什么不输出请大佬指教?
把printf函数里的1*2改成1*2.0或者1.0*2或者1.0*2.0。因为1*2的结果是int型,与控制符%6.2f不匹配。所以如果把1*2当整形输出的话,就得把第一个%6.2f改成%d才对。

C++新手 程序无错误 但只能输入 没有结果
\/\/ 这行要去掉 p->lchild=CreatBiTree(); p->rchild=CreatBiTree();}创建二叉树是从一个分支创建完毕,再创建另一个的。所以输入的时候,要输入很多'.'标识分支结束 比如 a \/ \\ b c 这种输入的数据就是 ab..c..仔细想想二叉树的结构就清楚了。

相似回答