| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1672 人关注过本帖
标题:程序执行过程中反复出现“遇到问题需要关闭……”
只看楼主 加入收藏
xiaoyi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-9-11
收藏
 问题点数:0 回复次数:6 
程序执行过程中反复出现“遇到问题需要关闭……”

#include <iostream.h>
float g=3.14;
float &pi=g;
class simplecircle
{
public :
simplecircle(float *p);
float C();
float S();
private :
float *itsradius;
};

simplecircle::simplecircle (float *p)
{
*itsradius=*p;
}

float simplecircle::C()
{
return (2*pi**itsradius);
}

float simplecircle::S()
{
return (pi**itsradius**itsradius);
}

void main()
{
float a;
cout<<"请输入半径:"<<endl;
cin>>a;
simplecircle c(&a);
cout<<"该圆的周长是:"<<c.C();
cout<<"该圆的面积是:"<<c.S();
}

该程序编译和构件都通过了,但在执行输入数据时却反复跳出“遇到问题需要关闭……”的对话框,是百思不得其解。望高手赐教!!!多谢!!

搜索更多相关主题的帖子: 反复 
2006-09-11 14:01
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
第一:你在指针的地方套个括号。
第二:如下
simplecircle::simplecircle (float *p)
{
*itsradius=*p;
}

改为
simplecircle::simplecircle (float *p)
{
itsradius = p;
}

你写的代码真够乱啊

强烈建议你把所有的float *p换成float p,不要指针,直接都用变量。
根本没必要用指针

[此贴子已经被作者于2006-9-11 16:10:49编辑过]


我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-09-11 16:09
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

同意樓上的.

樓主導致問題的原因是沒有爲 itoradius 分配空間. 沒有地方保存它的值.
不要輕易使用指針.


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-09-11 16:28
xiaoyi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-9-11
收藏
得分:0 

按一楼的方法程序已经可以运行了,深表感谢!但对二楼的“問題的原因是沒有爲 itoradius 分配空間”还是不大了解。声明的同时系统本身不是就为该指针分配内存空间了吗??
还有,还想问一下。怎样的情况下会出现“遇到问题需要关闭……”的对话框?因为以下的程序也遇到了相同的问题。
#include <iostream.h>
char change(char a[50])
{
int i,num;
char b='.';
char *p;
p=a;
for (;*p!=b;i++)
{p=&a[i];
num++;}
return num;
}

void main()
{
char a[50];
cout<<"请输入统计名!"<<endl;
cin.get(a,'.');
cout<<"您一共输入了"<<change(a)<<"个字符!"<<endl;
}


2006-09-11 18:56
yeshirow
Rank: 4
等 级:贵宾
威 望:10
帖 子:854
专家分:0
注 册:2006-6-8
收藏
得分:0 

第一樓, 指定未指向.
------------------------
上面的. i 和 num 未賦初始值. (導致錯誤).
返回類型爲 char, 而 num 是 int 類型.


原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔 MCSD Training
2006-09-11 19:04
xiaoyi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-9-11
收藏
得分:0 
虽然没有得到预计的计算长度的功能,但经过赋值后解决了“遇到问题需要关闭……”的问题。深表感谢!!
还想劳烦一下版主上边的问题:如果编译和构件都通过了但执行时出现错误应如何调试呢?

2006-09-12 01:03
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
没什么好办法,你在觉得可能出错的地方设个断点,跟踪一下。

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-09-12 08:37
快速回复:程序执行过程中反复出现“遇到问题需要关闭……”
数据加载中...
 
   



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

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