C++ 实现一个简单的类

C++ 实现一个简单的类,第1张

程序补充:

SUBROUTINE

FN(N,X,Y,Z)

IMPLICIT

REAL(A-H,O-Z)

PARAMETER

(a=180,L=210,G=120)

DIMENSION

R(N,N),X(N),Y(N),Z(N)

CALL

DISTANCE(N,X,Y,Z,R)

FX=0

DO

I=1,N

DO

J=1,N

DO

K=1,N

F1=EXP(G/(R(I,J)-a)+G/(R(I,K)-a))

F2=((R(I,J)2+R(I,K)2-R(J,K)2)/(2R(I,J)R(I,K))+1/3)2

FX=FX+LF1F2

ENDDO

ENDDO

ENDDO

RETURN

END

SUBROUTINE

FT(N,X,Y,Z)

IMPLICIT

REAL(A-H,O-Z)

PARAMETER

(c=7049556277,d=06022245584,P=4,Q=0,a=180)

DIMENSION

R(N,N),X(N),Y(N),Z(N)

CALL

DISTANCE(N,X,Y,Z,R)

FY=0

DO

I=1,N

DO

J=1,N

IF(R(I,J)LTa)

THEN

FY=FY+c((d(-P))-R(I,J)(-Q))EXP(1/(R(I,J)-a))

ELSE

FY=0

ENDIF

ENDDO

ENDDO

RETURN

END

SUBROUTINE

ENERGY(N,X,Y,Z)

IMPLICIT

REAL(A-H,O-Z)

DIMENSION

X(N),Y(N),Z(N)

CALL

FN(N,X,Y,Z)

CALL

FT(N,X,Y,Z)

E=FX+FY

RETURN

END

DO

I=1,N

DO

J=1,N

DO

K=1,N

F1=EXP(G/(R(I,J)-a)+G/(R(I,K)-a))

F2=((R(I,J)2+R(I,K)2-R(J,K)2)/(2R(I,J)R(I,K))+1/3)2

FX=FX+LF1F2

ENDDO

ENDDO

ENDDO

RETURN

END

我给你介绍一个公式吧:(泰勒工式展开式)

e=1+ 1 + 1/2! +1/3! +1/4! +1/5! + + 1/n!

其中,n!表示n的阶乘:n!=n(n-1)(n-2)321;可以专门设计一个子函数求 n! ;(n越大,精确度越高)

下面是代码:

//网页上直接写的,在VC++60运行时如果编译出错,那就改一下分

//号和逗号

#include<stdioh>

#define N 20

int jiecheng(int n)

{

int i=n;

int result=1;

while(i)//

{

result=i;

i--;

}

return result;

}

void main()

{

int i;

double e=2;

for(i=2;i<N;i++)

{

e+=1/(jiecheng(i)10)

}

printf("e=%lf\n",e);

}

我重新帮你写了个,你看看:

#include <string>

#include <iostream>

#include <map>

#include <cstddef>

#include <functional>

#include <cstdlib>

#include <ctime>

#include <cmath>

class players

{

struct PlayerInfos

{

PlayerInfos();

std::string name;

int level;

double exp;

}infos;

public:

typedef std::map<std::size_t, PlayerInfos, std::greater<size_t> > value_type;

typedef std::size_t size_type;

void AddPlayer();

void SetInfos();

void GetInfos();

void GetTotalInfo();

size_type Amount()const;

private:

value_type data;

};

players::PlayerInfos::PlayerInfos()

: name(""), level(std::rand() % 100 + 1), exp(pow(level 4480, 2))

{

}

void players::AddPlayer()

{

std::cinexceptions(std::ios_base::failbit | std::ios_base::badbit);

std::cout << "请输入玩家的ID: ";

size_type id;

std::cin >> id;

if(datafind(id) != dataend())

{

std::cout << "该ID已存在!\n";

return;

}

std::cout << "请输入新玩家的姓名: ";

PlayerInfos Pinfos;

std::cin >> Pinfosname;

std::cout << '\n';

this->datainsert(value_type::value_type(id, Pinfos));

}

void players::SetInfos()

{

std::cinexceptions(std::ios_base::failbit | std::ios_base::badbit);

std::cout << "请输入要设置的玩家id: ";

size_type id;

std::cin >> id;

std::cinclear();

if(datafind(id) == dataend())

{

std::cout << "玩家不存在!\n\n";

return;

}

std::cout << "请输入ID为: " << id << " 的玩家的姓名: ";

std::cin >> data[id]name;

std::cout << "请输入ID为: " << id << " 的玩家的等级: ";

std::cin >> data[id]level;

std::cout << "请输入ID为: " << id << " 的玩家的经验: ";

std::cin >> data[id]exp;

std::cout << "设置完毕" << std::endl;

}

void players::GetInfos()

{

std::cinexceptions(std::ios_base::failbit | std::ios_base::badbit);

std::cout << "请输入要检索的玩家ID: ";

std::cinclear();

size_type id;

std::cin >> id;

std::cinclear();

if(datafind(id) == dataend())

{

std::cout << "玩家不存在!\n\n";

return;

}

std::cout << "\nID为: " << id << " 的玩家的姓名: ";

std::cout << data[id]name << '\n';

std::cout << "ID为: " << id << " 的玩家的等级: ";

std::cout << data[id]level << '\n';

std::cout << "ID为: " << id << " 的玩家的经验: ";

std::cout << data[id]exp << '\n';

std::cout << "检索完毕\n" << std::endl;

}

inline players::size_type players::Amount()const

{

return datasize();

}

void players::GetTotalInfo()

{

for(value_type::iterator it = databegin(); it != dataend(); ++it)

{

std::cout << "ID: " << it->first << '\n';

std::cout << "姓名: " << it->secondname << '\n';

std::cout << "等级: " << it->secondlevel << '\n';

std::cout << "经验: " << it->secondexp << '\n' << std::endl;

}

}

int main()

{

using namespace std;

srand(unsigned(time(0)));

players ps;

for(int i = 0; i < 5; ++i)

psAddPlayer();

cout << endl;

for(int i = 0; i < 5; ++i)

psGetInfos();

psGetTotalInfo();

}

演示:

请输入新玩家的ID: 3

请输入新玩家的姓名: shj

请输入新玩家的ID: 6

请输入新玩家的姓名: jimmyi

请输入新玩家的ID: 1

请输入新玩家的姓名: spring

请输入新玩家的ID: 121

请输入新玩家的姓名: bird

请输入新玩家的ID: 99

请输入新玩家的姓名: boss

请输入要检索的玩家ID: 3

ID为: 3 的玩家的姓名: shj

ID为: 3 的玩家的等级: 42

ID为: 3 的玩家的经验: 354042e+008

检索完毕

请输入要检索的玩家ID: 1

ID为: 1 的玩家的姓名: spring

ID为: 1 的玩家的等级: 71

ID为: 1 的玩家的经验: 101175e+009

检索完毕

请输入要检索的玩家ID: 121

ID为: 121 的玩家的姓名: bird

ID为: 121 的玩家的等级: 57

ID为: 121 的玩家的经验: 652087e+008

检索完毕

请输入要检索的玩家ID: 99

ID为: 99 的玩家的姓名: boss

ID为: 99 的玩家的等级: 53

ID为: 99 的玩家的经验: 563778e+008

检索完毕

请输入要检索的玩家ID: 8

玩家不存在!

ID: 121

姓名: bird

等级: 57

经验: 652087e+008

ID: 99

姓名: boss

等级: 53

经验: 563778e+008

ID: 6

姓名: jimmyi

等级: 47

经验: 443355e+008

ID: 3

姓名: shj

等级: 42

经验: 354042e+008

ID: 1

姓名: spring

等级: 71

经验: 101175e+009

public static void main(String[] args) {

String time="2012-03-04";

String time1="2012-03-05";

int point=8;

String a="时间:"+time+"分数:"+point++;

String b="时间:"+time+"分数:"+point++;

String c="时间:"+time+"分数:"+point++;

String d="时间:"+time1+"分数:"+point++;

String e="时间:"+time1+"分数:"+point++;

String f="时间:"+time1+"分数:"+point++;

String g="时间:"+time1+"分数:"+point++;

List<String> sug = new ArrayList<String>();

sugadd(a);

sugadd(b);

sugadd(c);

sugadd(d);

sugadd(e);

sugadd(f);

sugadd(g);

List<String> res = new ArrayList<String>();

String exp = "";

int count = 0;

for(int i=0;i<sugsize();i++){

exp = sugget(i);

if(ressize()==0){

resadd(exp);

}else{

int size = ressize();

for(int j=0;j<size;j++){

if(resget(j)indexOf(expsplit(":")[1])>0){

count+=1;

if(IntegerparseInt(expsplit(":")[2])>IntegerparseInt(resget(j)split(":")[2])){

String tmp = "";

tmp = exp;

exp = resget(j);

resset(j, tmp);

}

}else if(j+1 == ressize()){

resadd(exp);

}

if(j+1==ressize() && count<3 && count!=3){

resadd(exp);

}

}

count = 0;

}

}

Iterator<String> it = resiterator();

while(ithasNext()){

Systemoutprintln(itnext());

}

}

以上就是关于FORTRAN 程序问题,子程序无法调用 导致无法运算结果。急!!!全部的内容,包括:FORTRAN 程序问题,子程序无法调用 导致无法运算结果。急!!!、c语言中怎求数学中的e是多少啊、C++ 实现一个简单的类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/8811969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存