标题:[求助]我是新手请教老手
只看楼主
wuqingyuok
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-15
 问题点数:0 回复次数:10 
[求助]我是新手请教老手

题目:编写一个程序,程序中带有一个string类,类包括一个成员变量字符数组s;一个成员函数toup(),该函数实现将s中的所有小写字母转换为大写字母.下面是我写的
#include"iostream.h"
#include"stdio.h"
class string
{
public:
char s[10];
int n;
char toup()
{
for(n=0;s[n]!=0;n++)
s[n]=s[n]+32;
return puts(s);
}
}
main()
{
string A;
cout<<"输入数组:"<<endl;
gets(A.s);
cout<<"将大写转变为小写:"<<A.toup()<<endl;
}
总是出现F:\自学\visual c++\9月7号\Cpp1.cpp(21) : warning C4508: 'main' : function should return a value; 'void' return type assumed不懂
还有在执行程序时出错,还有什么更好写这程序方法吗,

搜索更多相关主题的帖子: 老手 toup string 
2007-09-07 22:26
Janlex
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:303
专家分:0
注 册:2006-9-12
得分:0 
int main() //<==
{
string A;
cout<<"输入数组:"<<endl;
gets(A.s);
cout<<"将大写转变为小写:"<<A.toup()<<endl;
return 0; //<==
}

★★★★★欢迎光临我的博客 ★★★★★
http://www.
2007-09-08 00:17
wuqingyuok
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-15
得分:0 

谢了

2007-09-08 09:19
wuqingyuok
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-15
得分:0 
f:\自学\visual c++\程序编写\cpp1.cpp(15) : error C2628: 'string' followed by 'int' is illegal (did you forget a ';'?)
f:\自学\visual c++\程序编写\cpp1.cpp(21) : error C2440: 'return' : cannot convert from 'const int' to 'class string'
No constructor could take the source type, or constructor overload resolution was ambiguous
f:\自学\visual c++\程序编写\cpp1.cpp(22) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
还是有错误
2007-09-08 09:28
wuqingyuok
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-15
得分:0 
我改为
#include"iostream.h"
#include"stdio.h"
class string
{
public:
char s[10];
int n;
void toup()
{
for(n=0;s[n]!=0;n++)
s[n]=s[n]+32;
return ;
}
} ;
int main()
{
string A;
cout<<"输入数组:"<<endl;
gets(A.s);
cout<<"将大写转变为小写:"<<endl;
A.toup();
puts(A.s);
return 0;
}
但是输不出答案
2007-09-08 09:42
wuqingyuok
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-15
得分:0 
会出现
输入数组:
asd
将大写转变为小写:
亾?
Press any key to continue
2007-09-08 09:44
wuqingyuok
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-15
得分:0 
谁能告诉我这是怎么了 谢谢了
2007-09-08 09:45
a273369457
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-9-7
得分:0 
[QUOTE]会出现
输入数组:
asd
将大写转变为小写:
亾?
Press any key to continue
[/QUOTE]
你输入的是小写的 加上+32 = 什么了?

2007-09-08 10:45
anly_2002
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-5
得分:0 
回复:(a273369457)[QUOTE]会出现输入数组:asd将大...

请问个问题:下请问个问题:下面的程序应该建在什么工程一下阿?谢谢大侠了!!!!




#include"stdafx.h"
#include"EXP9_3.h"
#include"ChildView.h"
#include"math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#endif
#define T_END 1000.0 //模拟终止时刻
#define T_DISP 20.0
#define TAU_MAX 10 //tau的最大值
double exponent(double lambda,double tau);
//CChildView
CChildView::CChildView()
{
}

CChildView::~CChildView()
{
}

BEGIN_MESSAGE_MAP(CChildView,CWnd)
//{{AFX_MSG_MAP(CChildView)
ON_WM_PAINT()
ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//CChildView message handlers
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)
{
if(!CWnd::PreateWindow(cs)
return FALSE;
cs.style &=~WS_BORDER;
cs.lpszClass=AfxRegisterWndClass(CS_HREDRAMM|CS_VREDRAM|CS_DBLCLKS,
::LoadCursor(NULL,IDC_ARROW),HBRUSH(COLOR_WINDOM+1),NULL);
return TRUE;
}

void CChildView::OnPaint()
{
CPaintDC dc(this); //device context for painting
//TODO:Add your message handler code here
RECT rect;
dc.GetClipBox(&rect);
dc.SelectStockObject(BLACK_BRUSH);
dc.Rectangle(&rect);
window1.Paint(&dc);
window2.Paint(&dc);
//DO not call CWnd::OnPaint() for painting messages
}
int CChildView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CWnd::OnCreate(lpCreateStruct)==-1)
return -1;
//TODO:Add your specialized create code here
long j; //事件发生次数
int f[TAU_MAX+1]={0}; //柱状图
int u; //tau的整数部分
double lambda=1;
double dt=0.01; //微小时间
double t0=0.0;
double t=0.0; //现在时间
double tau=0.0; //事件发生间隔TAU
srand(time(NULL));
//图形准备
InitWindow(this->GetParentFrame(),WIDTH,HEIGHT);
window1.SetWindow(0.0,0.0,T_DISP,1.0,0,0,WIDTH,100);
window2.SetWindow(0.0,0.0,T_DISP/2,1.0,0,80,WIDTH,HEIGTH-100);
window2.Axis(1.0,0.1,"模拟指数分布","τ","freq");
window2.MoveTo(0,exponent(lambda,0));
while(tau<=TAU_MAX)
{
window2.LineTo(tau,exponent(lambda,tau));
tau+=dt;
}

//主循环
j=0;
while(t<=T_END)
{
if((lambda*dt)>RANDOM())
{
if(t<T_DISP)
{
window1.Line(t,0,t,1);
}
tau=t-t0;
u=(int)tau;
if(u<TAU_MAX)
{
f[u]=f[u]+1;
}
t0=t;
j=j+1;
}
t+=dt;
}

//绘制柱状图
window2.SetLineStyle(PS_SOLID,3);
for(u=0;u<TAU_MAX;u++)
{
window2.Line(u+0.5,u+0.5,(double)f[u]/j);
}
return 0;
}

double exponent(double lambda, double tau)
{
return lambda* exp(-lambda*tau);
}

2007-09-08 20:16
anly_2002
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-5
得分:0 
救命啊!
2007-09-08 20:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-168505-1-1.html




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

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