| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:[求助]编写几个c++程序
只看楼主 加入收藏
rrysl1985
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-7-1
收藏
 问题点数:0 回复次数:8 
[求助]编写几个c++程序

编程
1 实现函数 StringCheck.
函数原型:bool StringCheck(char s[])
功能说明:检查字符串S中左、右圆括号的个数是否相同。
参数说明:S 存储字符串的字符数组。
返 回 值:true 字符串s中左、右圆括号的个数相同。
false 否则。

2 实现函数 AverOdd.
函数原型:float AverOdd(int d[],int n)
功能说明:计算数组d中所有奇数的算术平均值(若无奇数时返回值为0)。
参数说明:d 存储数据的数组。
n 数组d中数据的个数(n>0)。
返 回 值:数组d中所有奇数的算术平均值。

3 定义一个Person类,其中
数据成员(“私有”访问方式)包括:姓名、年龄、电话号码;
成员函数包括(“公有”访问方式):
(1)构造函数:能初始化对象的姓名、年龄和电话号码;
(2)折构函数:显示对象的姓名和“拜拜!”字样;
(3)函数ModifyAge():根据实参值修改年龄;
(4)函数ModifyTel():根据实参值更该电话号码;
定义主函数并实现:
(1)建立下列 zs、ls两个对象:
张三、35、62458686
李四、32、58729877
(2)将张三的电话号码改成63580246
(3)将李四的年龄增加1岁
(4)输出上述两个对象的数据

4 说明一个类CIRCLE,包含:
成员数据(访问权限:均为私有,数据类型:均为float类型):
x 圆心的横坐标值
y 圆心的纵坐标值
r 圆的半径
成员函数(访问权限:均为公有):
(1)带缺省参数值的构造函数。
缺省参数值:圆心位置:(0,0) 半径:50
(2)拷贝构造函数
(3)设置圆(圆心)的位置
void SetPosition(float NewX,float NewY)
(4)设置圆的半径 void SetRadius(float NewR)
(5)取圆的半径 float GetRadius(void)

搜索更多相关主题的帖子: 编写 
2007-07-01 12:10
rrysl1985
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-7-1
收藏
得分:0 
小弟刚学C++ 还请大家帮忙看看
2007-07-01 12:12
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
First problem you can use a stack to first push (, then whenever you get ), pop one ) from the stack. If the stack is empty at the end, you result is true, otherwise, the result is false;

second problem you can scan the array and store two numbers: the sum of odd numbers and num --- the number of odd numbers. Finally return sum/num.

These are basic problems, you need to do it without help.


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-07-01 12:59
rrysl1985
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-7-1
收藏
得分:0 
问题是很简单,可是我还是不会编,还请会的帮忙写一下,谢谢楼上指导
2007-07-01 13:37
realnaoko
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-22
收藏
得分:0 
#include <iostream>
using namespace std;
//时间2007.7.1
class person
{
public:
person();//初始化对象
person(string nam,int agee,long number);//初始化对象
void ModifyAge(int agee);//修改年龄加上实参值
void ModifyTel(long tel);//根据实参值更改电话号码
private:
string name;
int age;
long telnumber;
};
int main()
{
person zs("张三",35,62458686),ls("李四",32,58729877);
zs.ModifyTel(63580246) ;
ls.ModifyAge(1);
cout << zs.name << endl << zs.age << endl << zs.telnumber << endl;
cout << ls.name << endl << ls.age << endl << ls.telnumber << endl;
return 0;
}
person::person():name(""),age(0),telnumber(0)
{
//留空
}
person::person(string nam,int agee,long number)
{
mame = nam;
age = agee;
telnumber = number ;
}
person::ModifyAge(int agee)
{
age += agee;
}
person::ModifyTel(long tel)
{
telnumber = tel;
}


我也是拿这里面的题来练练自己,请版主帮忙修改修改.
析构函数是什么还没学到,不好意思,实现不了.
字符串的定义与赋值也没学到......
今天刚学到操作符重载,还不是很清楚,先试试.

2007-07-01 14:16
realnaoko
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-22
收藏
得分:0 

class person
{
public:
friend ostream& operator <<(const ostream& outs,const person& xm);
friend istream& operator >>(istream& ins,person& xm);
.........
}
int main()
{
...........
cout << zs << endl;
cout << ls << endl;
return 0;
}
ostream& operator <<(const ostream& outs,const person& xm)
{
outs << xm.name << endl << xm.age << endl << xm.telnumber << endl;
return outs;
}
istream& operator >>(istream& ins,person& xm)
{
ins >> name >> ',' >> age >> ',' >> telnumber ;
return ins;
}

不知道这样写法行吗?请指出错误,节省时间的话就不用说怎么改了....3Q


2007-07-01 14:26
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
to realnaoko:
才学就能正确的重载不错。
那个类设计可以,但是电话最好是用字符串。
下面的重载基本正确,只有一点问题:

istream& operator >>(istream& ins,person& xm)
{
ins >> name >> ',' >> age >> ',' >> telnumber ;
return ins;
}

cin >> ','是不对的,‘,’是个右值。
可以这样改:
istream& operator >>(istream& ins,person& xm)
{
char ch;
ins >> name >> ch >> age >> ch >> telnumber ;
return ins;
}
不过在输入的时候就有严格格式:姓名-字符-年龄-字符-学号。

[此贴子已经被作者于2007-7-1 14:44:26编辑过]


Fight  to win  or  die...
2007-07-01 14:43
amyvmiwei
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-4
收藏
得分:0 

[CODE]
/*
//第一题:
#include <iostream>
using namespace std;

int main()
{
bool StringCheck(char S[]);
char strArray[20] = "";
bool myBool = false;

printf("请输入不超过20的字符串:\n");
gets(strArray);

myBool = StringCheck(strArray);
if(myBool == true)
{
cout << "'(' == ')'" << endl;
}
else
{
cout << "'(' != ')'" << endl;
}
return 0;
}

bool StringCheck(char S[])
{
int count1 = 0;
int count2 = 0;
int INum = -1;
//为了计算字符数组的长度!
for(int i = 0; ; i++)
{
INum++;
if(S[i] == 0)
{
break;
}

}
for(i = 0; i < INum; i++)
{
if(S[i] == '(')
{
count1++;
}
else if(S[i] == ')')
{
count2++;
}
}

cout << count1 << endl << count2 << endl;
if(count1 == count2)
{
return true;
}
else
{
return false;
}
}

//第二题:
#include <iostream>
using namespace std;

int main()
{
float AverOdd(int d[], int n);
int d[10] = {0};
float avg = 0.0;

printf("请输入数组的元素:\n");

for(int i = 0; i < 10; i++)
{
scanf("%d",&d[i]);
}

avg = AverOdd(d,10);
printf("avg = %f\n",avg);
return 0;
}

float AverOdd(int d[], int n)
{
int sum = 0;
float avg = 0;
int count = 0;

for(int i = 0; i < n; i++)
{
if(d[i] % 2 != 0)
{
sum += d[i];
count++;
}
}

avg = sum/count;
return avg;
}


//第三题:
#include <iostream>
using namespace std;

class Person
{
public:
Person(string _name, int _age, int _tel);
~Person();
void ModifyAge();
void ModifyTel();
private:
string name;
int age;
int tel;
};

int main()
{
Person zs("张三",35,62458686);
Person ls("李四",32,58729877);

zs.ModifyAge();
ls.ModifyTel();

return 0;
}

Person::Person(string _name, int _age, int _tel)
{
name = _name;
age = _age;
tel = _tel;
}

Person::~Person()
{

}
void Person::ModifyTel()
{
tel = 63580246;
cout << tel << endl;
}

void Person::ModifyAge()
{
age += 1;
cout << age << endl;
}

//第四题:
#include <iostream>
using namespace std;

class CIRCLE
{
public :
CIRCLE()
{
x = 0;
y = 0;
r = 50;
}
CIRCLE(CIRCLE &)
{

}

void SetPosition(float NewX,float NewY);
void SetRadius(float NewR);
float GetRadius();

private:
float x;
float y;
float r;
};

int main()
{
return 0;
}

void CIRCLE::SetPosition(float NewX, float NewY)
{
x = NewX;
y = NewY;
}

void CIRCLE::SetRadius(float NewR)
{
r = NewR;
}

float CIRCLE::GetRadius()
{
return r;
}
*/
[/CODE]

2007-07-01 14:50
rrysl1985
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-7-1
收藏
得分:0 

谢谢了 让我好好研究下 有不懂的再请教各位

2007-07-01 16:02
快速回复:[求助]编写几个c++程序
数据加载中...
 
   



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

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