哪位大哥大姐帮忙做3道C++题目,感激不尽: 20

(1)十进位制数转换二、八和十六进制数程序。要求:a.编写一个函数实现十进制数转换其它进制数;b.在主函数中给十进制数和转换的进位制,输出转换结果。(2)定义一个圆类,计... (1)十进位制数转换二、八和十六进制数程序。要求:
a. 编写一个函数实现十进制数转换其它进制数;
b. 在主函数中给十进制数和转换的进位制,输出转换结果。
(2) 定义一个圆类,计算圆的面积和周长。要求:分别用成员函数和友元函数来求圆的面积和周长。
(3) 定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。要求:
a) 使用成员函数实现对输出的输入、输出;
b) 使用构造函数和析构函数实现对数据的输入、输出。
展开
 我来答
sunnylht
2007-01-07 · 超过15用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:27.6万
展开全部
我今天上午给你写了一个你要的程序,是用函数实现的,很简洁,随时可以调用。
以下是程序清单:

#include<stdio.h>

void er2(int num);
void er8(int num);
void er16(int num);
void main()
{
int a,num;
do
{
printf("\n0、退出 1、十进制~二进制 2、十进制~八进制 3、十进制~十六进制\n请选择功能:");
scanf("%d",&a);
if(a!=0)
{
printf("请输入一个进制整数:");
scanf("%d",&num);
switch(a)
{
case 1:
er2(num);
break;
case 2:
er8(num);
break;
case 3:
er16(num);
break;
}
}
}while(a!=0);
}

void er2(int num)
{
int count=0,p[20],temp[20],i = 0,a = 0;
while(num!=0)
{
p[count]=num%2;
num=num/2;
count++;
a=count;
}
printf("转换为二进制:");
for(count=a-1;count>=0;count--)
temp[i++] = p[count];

for(count=0;count<a;count++)
printf("%d",temp[count]);
printf("\n");
for(count=a-1;count>=0;count--)
printf("%d",p[count]);
}

void er16(int num)
{
int count=0,p[5],temp[5],i = 0,a = 0;
int data;
while(num!=0)
{
p[count]=num%16;
num=num/16;
count++;
a=count;
}
printf("转换为十六进制:");
//排列次序为正向次序
for(count=a-1;count>=0;count--)
temp[i++] = p[count];
//输出转换结果
for(count=0;count<a;count++)
printf("%d",temp[count]);
printf("\n");
//验证排序后的转换结果
for(count=a-1;count>=0;count--)
printf("%d",p[count]);
printf("\n Result:");
// 做成一个变量存储转换结果
switch(a)
{
case 2:
data = temp[a-2]*10+temp[a-1];
break;
case 3:
data = temp[a-3]*100+temp[a-2]*10+temp[a-1];
break;
}
//输出转换的最后结果
printf("%d",data);
}

void er8(int num)
{
int count=0,p[5],temp[5],i = 0,a = 0;
int data;
while(num!=0)
{
p[count]=num%8;
num=num/8;
count++;
a=count;
}
printf("转换为八进制:");
//排列次序为正向次序
for(count=a-1;count>=0;count--)
temp[i++] = p[count];
//输出转换结果
for(count=0;count<a;count++)
printf("%d",temp[count]);
printf("\n");
//验证排序后的转换结果
for(count=a-1;count>=0;count--)
printf("%d",p[count]);
printf("\n Result:");
// 做成一个变量存储转换结果
switch(a)
{
case 2:
data = temp[a-2]*10+temp[a-1];
break;
case 3:
data = temp[a-3]*100+temp[a-2]*10+temp[a-1];
break;
}
//输出转换的最后结果
printf("%d",data);

}
peter114
2007-01-05 · TA获得超过5172个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:3837万
展开全部
同志,C++只会看,不会写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式