supermacz 发表于 2008-9-5 21:59

要期末了考试了,但是由于地震课没上完,老师叫我们做题,我不会啊,希望有人帮帮我

1、从键盘输入两个整数,分别存放在变量a,b中,计算s=(3*a)!+(3*b)!   要求编写两个函数,一个是用来计算3倍的函数fun1(),另一个是用来计算阶乘值的函数fun2()
2、编写一个程序求一个短整型数中最小数(例如整数12345中最小的整数是1)
3、创建一个circle类,这个类的半径radius默认为1,要求(1)设计一个成员函数来接收从键盘输入的半径参数,(2)设计成员函数来计算圆的perimeter(周长)和area(面积)并输出结果。
4、创建一个学生类student,学校中每个student对象所具有的基本信息为:姓名,年龄,学习年限,所在学院,此类学生具有两种基本操作,(1)printon()//输出个人信息   (2)leave()//判断是否离校,是则从学校中除名,学校规定studebt类谢谢满4年就可以离校   要求定义并实现类student,输入学校学生的人数。

就是这4道题   老师叫我们自己做,但是我以前没学好 实在不会。

ailing 发表于 2008-9-5 23:13

我写了第一个,当然写的可能不是很好
#include<iostream>
using namespace std;
int fun1(int m);
int fun2(int n);
int main(){
        int a,b;
        cout<<"请输入两个正整数:"<<endl;
        cin>>a>>b;
    while(a<=0||b<=0){
                cout<<"输入有误,请重新输入:"<<endl;
                cin>>a>>b;
        }
        int x,y;
        int s;
        x=fun1(a);
        y=fun1(b);
        s=fun2(x)+fun2(y);
        cout<<"s="<<s<<endl;
        return 0;
}
int fun1(int m){
        return m*3;
}
int fun2(int n){
        if(n==1)return n;
        else return n*fun2(n-1);//递归
}

supermacz 发表于 2008-9-6 08:52

谢谢你

szy345 发表于 2008-9-6 11:02

哈哈,我还是3年前在学校里学的C++,好久没用了,看楼上的,修改出来的第二题,也不知道对不对,还请各位指出啊!
#include<iostream>
using namespace std;

int main(){
    short int a;
    cout<<"请输入一个整数:"<<endl;
    cin>>a;
    while(!(cin>>a)){
        cout<<"输入有误,请重新输入:"<<endl;
        cin>>a;
    }
char char_a=a
char min_b='9'

for (int i=1;i<strlen(char_a);i=i+1)
     if min_b > substring(char_a,i,1)
        min_b = substring(char_a,i,1)
     endif
endfor

count<<"你输入的整数为:"<<a<<endl
count<<"其中最小的整数为:"<<min_b<<endl

}

[[it] 本帖最后由 szy345 于 2008-9-6 11:05 编辑 [/it]]

supermacz 发表于 2008-9-6 13:26

嗯我自己去运行不下  还是要谢谢你

xyt_bluesky 发表于 2008-9-6 19:10

呵呵,我也来试一试第三题:
#pragma once
#include <iostream>
#include <cmath>
using namespace std;
//创建一个circle类,这个类的半径radius默认为,
//要求()设计一个成员函数来接收从键盘输入的半径参数,
//()设计成员函数来计算圆的perimeter(周长)和area(面积)并输出结果。


class circle
{
public:
        circle(void);//构造函数
        ~circle(void);//析构函数
        std::istream& get_radius(istream& cin);//获取半径函数
        double perimeter();//计算周长函数
        double area();//计算面积函数
private:
        double radius;
        double PI;
};

#include "circle.h"


circle::circle(void):radius(1.0),PI(3.14159)//构造函数
{
}

circle::~circle(void)//析构函数
{
}

std::istream& circle::get_radius(std::istream &in)//获取半径函数
{
        in>>radius;
        return cin;
}

double circle::perimeter()//计算周长函数
{
        return (2*PI*radius);
}

double circle::area()//计算面积函数
{
        return (PI*radius*radius);
}

int main()
{
        circle circ;
        cout<<"请输入半径参数"<<endl;
        circ.get_radius(cin);
        cout<<"圆的周长是:"<<endl;
        circ.perimeter();
        cout<<"圆的面积是:"<<endl;
        circ.area();
       
        return 0;
}

missiyou 发表于 2008-9-7 09:11

用C 写最后一题
#define N 10
  struct student
{
   char name[20];
   int  nl;
   int  syear;
   char address;

}Students[N];
void input(struct student *S)
{

}
void output(struct student *S)
{
printf("s",S>name);
.......


}
void isleave(struct student *S)
{int l;
  
if(*S.syear>4)
{printf("离校")}
else
{l  等于 4-*S.syear;
printf("还剩 d年离校", l) }

}
void student(sturct student *S,int n)
{
int i;
for(i  0; i<n; i ++)
{input(S);
isleave(S);
}

}
晕,不想写了,嘿嘿。

supermacz 发表于 2008-9-8 11:07

要写完啊 要是考试怎么办啊

页: [1]

编程论坛