北邮计算机实习报告.docx

上传人:b****6 文档编号:16261023 上传时间:2023-07-12 格式:DOCX 页数:35 大小:388.33KB
下载 相关 举报
北邮计算机实习报告.docx_第1页
第1页 / 共35页
北邮计算机实习报告.docx_第2页
第2页 / 共35页
北邮计算机实习报告.docx_第3页
第3页 / 共35页
北邮计算机实习报告.docx_第4页
第4页 / 共35页
北邮计算机实习报告.docx_第5页
第5页 / 共35页
北邮计算机实习报告.docx_第6页
第6页 / 共35页
北邮计算机实习报告.docx_第7页
第7页 / 共35页
北邮计算机实习报告.docx_第8页
第8页 / 共35页
北邮计算机实习报告.docx_第9页
第9页 / 共35页
北邮计算机实习报告.docx_第10页
第10页 / 共35页
北邮计算机实习报告.docx_第11页
第11页 / 共35页
北邮计算机实习报告.docx_第12页
第12页 / 共35页
北邮计算机实习报告.docx_第13页
第13页 / 共35页
北邮计算机实习报告.docx_第14页
第14页 / 共35页
北邮计算机实习报告.docx_第15页
第15页 / 共35页
北邮计算机实习报告.docx_第16页
第16页 / 共35页
北邮计算机实习报告.docx_第17页
第17页 / 共35页
北邮计算机实习报告.docx_第18页
第18页 / 共35页
北邮计算机实习报告.docx_第19页
第19页 / 共35页
北邮计算机实习报告.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

北邮计算机实习报告.docx

《北邮计算机实习报告.docx》由会员分享,可在线阅读,更多相关《北邮计算机实习报告.docx(35页珍藏版)》请在冰点文库上搜索。

北邮计算机实习报告.docx

北邮计算机实习报告

 

电子工程学院计算机实习报告

 

学院:

班级:

学号:

姓名:

班内序号:

 

1.人民币金额大写问题

题目:

在与财务相关的应用中,经常会到人民币金额大写比如发票打印程序。

本题的任务是:

从键盘输入一个十亿以内正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误的情况)。

比如,用户输入:

35201,程序输出:

叁万伍仟贰佰零壹

用户输入:

30201,程序输出:

叁万零贰佰零壹

用户输入:

30001,程序输出:

叁万零壹

用户输入:

31000,程序输出:

叁万壹仟

用户输入:

120023201,程序输出:

壹亿贰仟零贰万叁仟贰佰零壹

用户输入:

120020001,程序输出:

壹亿贰仟零贰万零壹

用户输入:

100000001,程序输出:

壹亿零壹

可以看到,在万后满千位,则不加零,否则要补零,但不要出现类似“零零”的情况。

在亿后满千万位,则不加零,否则要补零,但整个“万档”没有数字时,“万”字省去。

源代码:

#include

usingnamespacestd;

voidchange(intm);//函数声明

voidshow(int,int,inta[]);//函数声明,函数作用是输出

voidmul(int);//函数声明

 

voidmain()

{

intnum,i=0,j=0,temp;

cout<<"请输入一个九位以内的数字:

"<

cin>>num;

 

inta[10]={0};//用于存放num数字中的各位数

while(num!

=0)//当num不等于0的时候,把输入的数字分解成单个数字,储存在a[i]中

{//用i计数,num有多少位

a[i]=num%10;

num=num/10;

i++;

}

if(i>10)

{

system("pause");

}

for(j=i-1;j>=0;j--)

{

if((i>8)&&(i<=10))//当i位于这个范围内,是亿位字

{temp=0;}

if((i>4)&&(i<=8))//当i位于这个范围内,是万位数

{temp=1;}

if(i<=4)//当i位于这个范围内,是个位数

{temp=2;}

show(j,temp,a);//输出函数,输出大写(每次输出一个值)

}

cout<<"元";

}

 

voidshow(intj,inttemp,inta[])

{

inti=j+1;

switch(temp)

{

case0:

//当i位于这个范围内,是亿级

{

if(a[j]!

=0)

{

change(a[j]);//把a[j]转化成大写

mul(i);//显示a[j]的位数

}

if(i==9)//判断i是否已经达到了亿位,如果是,输出“亿”

{cout<<"亿";}

break;

}

case1:

//当i位于这个范围内,是万级

{

if(a[j]!

=0)

{

change(a[j]);//把a[j]转化成大写

mul(i);//显示a[j]的位数

}

if(i==5)//判断i是否已经达到了万位,如果是,输出“万”

{cout<<"万";}

if((a[j]==0)&&(a[i]!

=0))//判断是否有“万”级里是否有零,有的话,需要输出零,如10011111;

{

cout<<"零";

}

break;

}

case2:

{

if(a[j]!

=0)

{

change(a[j]);

mul(i);

}

if((a[j]==0)&&(a[i]!

=0))

{

cout<<"零";

}

}

default:

break;

}

if((i==8)&&(a[8]==0))//在switch语句中判断i时,无法正常工作,所以有关零的判定,写在了这里

cout<<"零";

if((i==4)&&(a[8]!

=0)&&(a[4]==0))

cout<<"零";

}

 

voidmul(inti)//函数作用是显示位数,如111,当判断第一位时,mul作用输出佰

{

if(i%4==0)

cout<<"仟";

if(i%4==3)

cout<<"佰";

if(i%4==2)

cout<<"十";

}

 

voidchange(inti)//作用是将小写改变成大写

{

switch(i)

{

case1:

cout<<"壹";

break;

case2:

cout<<"贰";

break;

case3:

cout<<"叁";

break;

case4:

cout<<"肆";

break;

case5:

cout<<"伍";

break;

case6:

cout<<"陆";

break;

case7:

cout<<"柒";

break;

case8:

cout<<"捌";

break;

case9:

cout<<"玖";

break;

default:

break;

}

}

 

程序主要运行界面截图:

程序介绍:

程序编译环境为VisualStudio2010。

程序功能为:

从键盘输入一个9位以内的数字,把它转换为人民币金额大写,并输出到屏幕。

程序可以识别小数点,但小数点后的数字将不做转换(只转换整数部分)。

目前已知的bug:

在某些情况下输出结果会出现连续两个“零”。

 

2.最高频率字或字母数统计

设计一个程序,可输入文本,并统计输入文本中出现频率最高的3个字或字母(不统计数字),显示出现次数。

源代码:

#include

#include

usingnamespacestd;//统计字母的出现频率,不区分大小写

voidmain()

{

cout<<"统计一段字符中,出现频率最多的前三个字母,不区分大小写"<

stringstr;

inti,j;

//int*arr=newint[26];

intnum[26]={0};//记录26个字母的出现次数

inttemp1=0;//传递变量,将此次遍历中出现最多的字母传递给max[]

intmax[26]={0};//用于记录前三个字母是什么

cout<<"请输入一段字母,可以含空格:

";

getline(cin,str);

ints=0;

while(s

{

if((str[s]>='a')&&(str[s]<='z'))

num[str[s]-97]++;

if((str[s]>='A')&&(str[s]<='Z'))

num[str[s]-65]++;

s++;

}

 

for(i=0;i<26;i++)

{

inttemp=num[i];

for(j=0;j<=26;j++)

{

if((temp

{

if((max[1]!

=j)&&(max[0]!

=j))

{

temp=num[j];

temp1=j;

}

}

}

max[i]=temp1;

}

for(i=0;i<26;i++)

{

for(j=i+1;j<=26;j++)

{

if(num[i]

{

inttemp1=num[i];

num[i]=num[j];

num[j]=temp1;

}

}

}

 

for(intm=0;m<4;m++)

cout<<(char)(max[m]+'a')<<""<

}

程序主要运行界面截图:

程序介绍:

程序编译环境为VisualStudio2010。

程序功能为:

从键盘输入一个字符串,统计字符串中出现字数最多的三个字母,并将这3个字母及其出现的次数输出到屏幕上。

目前已知的bug:

无法对文本进行统计。

 

3.算术运算测试程序

题目:

制作一个可供小学数学运算的程序。

0—100整数加减乘除四则运算,如结果为小数四舍五入保留小数点后两位。

根据输入题数出题,题目应为随机,每次应不一样。

如:

题目数=3

77-55=

33*3=

100/3=

判断是否正确,如不正确给出正确答案,并计算分数,分数为正确题目的百分比(四舍五入取整数)。

如:

77-55=22对

33*3=99对

100/3=33错结果应为33.33

分数为:

67分

流程图:

源代码:

#include

#include

#include

#include

#include

usingnamespacestd;

voidmain()

{

floatoperand[2]={0};//两个操作数

intnum;//题目数

inti;//循环变量

intsymbol;//0->+1->-2->*3->/

intk=0;//答对题数

intc;//答案

floatb;//在除法过程中,输出有可能为小数,所以需要定义一个浮点数,以显示小数点后两位

cout<<"请输入你想得到几组随机题目(输入0退出程序):

";

srand((unsignedint)(time(NULL)));

cin>>num;

for(i=0;i

{

symbol=rand()%4;//产生操作符的索引

operand[0]=rand()%100+1;//第一个操作数

operand[1]=rand()%100+1;//第二个操作数

switch(symbol)

{

case0:

{

cout<

cin>>c;

if(c==(operand[0]+operand[1]))

{

k=k+1;

cout<<"right\n";

}

else

{

cout<

}

break;

}

case1:

{

cout<

cin>>c;

if(c==(operand[0]-operand[1]))

{

k=k+1;

cout<<"right\n";

}

else

{

cout<

}

break;

}

case2:

{

cout<

cin>>c;

if(c==(operand[0]*operand[1]))

{

k=k+1;

cout<<"right\n";

}

else

{

cout<

}

break;

}

case3:

{

floatfloatnum;

floatnum=operand[0]/operand[1];

cout<

}

else

{

cout<

}

break;

}

default:

break;

}

}

cout<

}

程序主要运行界面截图:

程序介绍:

程序编译环境为VisualStudio2010。

程序功能:

本四则运算程序可以随机产生100以内加法、减法、乘法、除法运算题目,题目不会出现负数。

可以对所做的每道题目进行检查对错,并最终给出分数。

 

4.设计一个测量身体BMI指数和体脂率的健康计算器

题目要求:

BMI指数公式:

体重(kg)除以身高(m)的平方(BMI=公斤/m2)

体重过低<18.5

体重正常18.5~23.9

超重24.0~27.9

肥胖≥28

体脂率公式:

女性的身体脂肪公式:

参数a=腰围×0.74

参数b=体重×0.082+34.89

身体脂肪总重量=a-b

体脂率(身体脂肪百分比)=(身体脂肪总重量÷体重)×100%

男性的身体脂肪公式:

参数a=腰围×0.74

参数b=体重×0.082+44.74

身体脂肪总重量=a-b

体脂率(身体脂肪百分比)=(身体脂肪总重量÷体重)×100%

 

流程图:

源代码:

总界面源代码:

namespace体脂率

{

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

}

privatevoidtextBox1_TextChanged(objectsender,EventArgse)

{

}

privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)

{

boBox1.DropDownStyle=ComboBoxStyle.DropDownList;

}

privatevoidprogressBar1_Click(objectsender,EventArgse)

{

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringsex="0";

stringwarning="0";

doubleheight=0.0,weight=0.0,waist=0.0;

sex=comboBox1.SelectedItem.ToString();

height=double.Parse(textBox1.Text);

weight=double.Parse(textBox2.Text);

waist=double.Parse(textBox3.Text);

doublebmi;

bmi=weight/(height*height);

bmi=(int)(bmi*10)/10.0;

if(bmi>=28)warning="过于肥胖请多锻炼身体!

";

elseif(bmi>=24.0&&bmi<=27.9)warning="体重超重请注意饮食!

";

elseif(bmi>=18.5&&bmi<=23.9)warning="体重正常请继续保持!

";

elseif(bmi<18.5)warning="体重过轻请向着吃货奋斗!

";

 

doublea=0.0,b=0.0,t=0.0,t1=0.0;

inti;

if(sex=="男")

{

a=waist*0.74;

b=weight*0.082+44.74;

t=(a-b)/weight;

}

elseif(sex=="女")

{

a=waist*0.74;

b=weight*0.082+34.89;

t=(a-b)/weight;

}

i=(int)(t*10000);

t1=i/100.0;

MessageBox.Show("您的BMI指数为"+bmi.ToString()+'\n'+"您"+

warning+'\n'+'\n'+'\n'+"您的体脂率为"+t1.ToString()+"%","温馨提示",

MessageBoxButtons.OKCancel);//指定帮助文件的路径

}

privatevoidlabel1_Click(objectsender,EventArgse)

{

}

privatevoidlabel2_Click(objectsender,EventArgse)

{

}

privatevoidForm1_Load(objectsender,EventArgse)

{

}

privatevoidtextBox2_TextChanged(objectsender,EventArgse)

{

}

privatevoidwebBrowser1_DocumentCompleted(objectsender,WebBrowserDocumentCompletedEventArgse)

{

}

privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

{

System.Diagnostics.Process.Start("

}

}

}

 

程序运行界面部分截图:

 

程序介绍:

程序编译环境为VisualStudio2015。

程序功能:

本健康计算器程序可以通过输入的身高、体重、腰围以及性别来计算BMI指数和体脂率,并且可以根据计算结果给出相应的提示和建议。

计算结果弹窗显示,关闭弹窗后可以继续修改输入的各项数值,并重新计算。

5.动画:

制作一个两辆赛车比赛的游戏,要求可以用键盘控制小汽车的运行方向进行比赛。

设计方案:

使用软件为:

Scratch2

蓝黄两辆赛车在由一大一小两个圆圈组成的赛道上比赛,通过键盘上的WSAD键控制黄色赛车的加速、刹车、左转和右转。

光标键“上下左右”控制蓝色赛车的加速、刹车、左转和右转。

赛车经过赛道上的红点时将会获得加速。

此游戏不仅实现了赛车流畅的比赛,还具备有趣的配音、丰富的赛道元素、活泼的UI,使游戏内容更加丰富,更具可玩性。

主要截图:

 

6、矩阵计算器

可输入矩阵,并最大可进行10*10矩阵运算

题目要求:

要求能进行矩阵加法、乘法、求转置矩阵、求矩阵的秩

流程图:

源代码:

#include

#include

#include

#include

#include"math.h"

#defineMAX10//最大行(列)数

usingnamespacestd;typedefstruct

{

intm,n;

inta[MAX][MAX];

}matrix;

voidinput_matrix(matrix*dat);

voidoutput_matrix(matrixdat);

voidexchang_row(int*a,int*b,intn);//交换两行

voidmul_row(int*a,intk,intn);//将某一行乘以k

voidadd_row(int*a1,int*a2,intk,intn);//将a2行的k倍加到a1行上

intrank_matrix(matrixdat,matrix*res);

voidplus1(doublec[10][10],doublea[10][10],doubleb[10][10],intm,intn);

voidmul_(doublec[10][10],doublea[10][10],doubleb[10][10],intm,intn,intk);

voidzhuan_(doublec[10][10],doublea[10][10],intm,intn);

doublea[10][10],b[10][10],c[10][10];

intmain()

{

intx;

intm1,n1;

intz;

inti,j,k;

doublea1[10][10],b1[10][10],c1[10][10];

while

(1){

cout<<""<

cout<<"1.矩阵求和"<

cout<<"2.矩阵乘法"<

cout<<"3.矩阵转置"<

cout<<"4.矩阵求秩"<

cout<<"5.退出"<

cout<<""<

cout<<"请选择功能:

";

cin>>x;

if(x==1)

{

cout<<"请输入矩阵a行数列数:

";

cin>>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2