C++编程作业一、编程题(共4小题,每小题10分,共40分)1.有一个健身房内部管理系统,请根据以下信息设计出能够表示会员账户信息的结构体,结构体名称为User。会员信息类型如下:a)用户身份证号码:英文符号为id,数据类型为字符串;b)账号:英文符号为card,数据类型为整型;c)用户姓名:英文符号为name,数据类型为字符串;d)用户地址:英文符号为address,数据类型为字符串;e)账户金额:英文符号为money,数据类型为整型。答structUser{stringid;longcard;stringname;stringaddress;intmoney;}2.有一个学生成绩管理系统,请设计出能够表示学生信息的结构体,结构体名称为Student。学生信息类型如下:f)学号:英文符号为sno,数据类型为字符串;g)姓名:英文符号为sname,数据类型为字符串;h)性别:英文符号为sgender,数据类型为布尔型;i)年级:英文符号为syear,数据类型为整型;答structStudent{stringsno;stringsname;boolsgender;intsyear;}3.设计两个函数,分别用于计算立方体的体积和表面积,函数名分别为calVolumn和calArea。要求边长以参数形式传入函数。立方体的边长为双精度浮点数。答//计算体积doublecalVolumn(doubled_l){returnd_l*d_l*d_l;}//计算表面积doublecalAre(doubled_l){return6*d_l*d_l;}4.给定一个非零整数,判断其是正数还是负数。(注:本题已提供一部分起始代码,请根据题意补充完整即可;无需任何输出结果。)intnumber=100;//给定的非零整数booleanflag=true;//是否为正数的标志。当该变量为true时,表示number为正数,否则为负数。(请补充)if(number%2==0){return“正数”;}else{return“负数”;}二、程序阅读题(共6小题,每小题10分,共60分)#includeiostreamusingnamespacestd;intmain(){doublen=5,r=3;doublet=n-r;doubleresult;doubleresult1=1;doubleresult2=1;doubleresult3=1;for(;n0;n--){result1=result1*n;}for(;r0;r--){result2=result2*r;}for(;t0;t--){result3=result3*t;}result=result1/(result2*result3);coutresult=resultendl;}1.请写出上面这段代码的运行结果。答:result=102.上面这段代码的功能是什么?答:计算阶乘3.如果将r赋值为4,上面这段代码的运行结果是什么。答:result=54.如果将n赋值为4,上面这段代码的运行结果是什么。答:result=45.尝试阐述如何对该算法进行优化。(无需写出代码,文字说明即可)答:可以单独写个计算阶乘的函数,再调用6.日常编程时,如果遇到比如“求平方”之类的数学运算时,是自己编写计算过程好还是直接使用某个数学库的函数好?为什么?答:直接使用数学库的函数比较好,因为这样可以让编程变得更方便快捷,代码也会更加整洁,通读性比较高。以上题目均要求以word文档的形式提交(其他方式一律以0分计)。