C程序设计实训报告.docx

上传人:b****3 文档编号:3940672 上传时间:2023-05-06 格式:DOCX 页数:16 大小:69.66KB
下载 相关 举报
C程序设计实训报告.docx_第1页
第1页 / 共16页
C程序设计实训报告.docx_第2页
第2页 / 共16页
C程序设计实训报告.docx_第3页
第3页 / 共16页
C程序设计实训报告.docx_第4页
第4页 / 共16页
C程序设计实训报告.docx_第5页
第5页 / 共16页
C程序设计实训报告.docx_第6页
第6页 / 共16页
C程序设计实训报告.docx_第7页
第7页 / 共16页
C程序设计实训报告.docx_第8页
第8页 / 共16页
C程序设计实训报告.docx_第9页
第9页 / 共16页
C程序设计实训报告.docx_第10页
第10页 / 共16页
C程序设计实训报告.docx_第11页
第11页 / 共16页
C程序设计实训报告.docx_第12页
第12页 / 共16页
C程序设计实训报告.docx_第13页
第13页 / 共16页
C程序设计实训报告.docx_第14页
第14页 / 共16页
C程序设计实训报告.docx_第15页
第15页 / 共16页
C程序设计实训报告.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C程序设计实训报告.docx

《C程序设计实训报告.docx》由会员分享,可在线阅读,更多相关《C程序设计实训报告.docx(16页珍藏版)》请在冰点文库上搜索。

C程序设计实训报告.docx

C程序设计实训报告

C程序设计实训报告

 

系部信息工程系

班级电子121

学号6101121128

学生姓名杨莹

指导教师

 

完成日期2013年12月23日至27日

1系统功能需求分析

1.1系统的基本要求

1.算术运算功能。

能够实现+、-、*、/、mod、int运算。

2.函数运算功能。

能够实现exp、ln、sin、x^y、log、cos、x^3、n!

、tan、x^2、1/x等运算。

3.进制之间的转换功能。

能够实现十六、十、二、八进制数据之间的转换。

4.通过键盘控制字符和数字的输入。

1.2数据结构设计及用法说明

此程序调用的函数主要有:

/*数学函数的定义*/

/*字符串函数*/

/*库函数*/。

基本使用方法:

1:

先输入需要计算法则对应的代码。

2:

按照要求输入需要计算的数据(X代表只需一个数据,XY代表需要两个数据)。

3:

求几个数的和sum时需要先输入数据的个数,然后依次输入需要求和的数据,系统同时给出平均值、方差以及标准差。

4:

求进制转换时,先输入需要转换的数据,然后输入这个数的进制为多少,最后输入需要转换为多少进制。

2系统设计

显示结果

输入第二个数y

+、-、*、/、x^y、log、等

输入计算代码i

输入第一个数x

开始

3系统实现

本系统采用C语言开发,生成可执行文件在任何系统下都可以执行,具有很好的数据处理能力和稳定性。

并且使用MicrosoftVisualC++6.0生成的程序可移植性强、兼容性好

代码:

#include

#include

#include

voiddtox(doublenum,intjz)/*将输入的数转化为所需进制*/

{

charxnum[100];

intdnum=(int)num;

inti=0,j=0,f;

while(dnum>=jz)

{

f=dnum%jz;

if(f==10)xnum[j++]='A';

elseif(f==11)xnum[j++]='B';

elseif(f==12)xnum[j++]='C';

elseif(f==13)xnum[j++]='D';

elseif(f==14)xnum[j++]='E';

elseif(f==15)xnum[j++]='F';

elsexnum[j++]=f+48;

dnum=dnum/jz;

}

xnum[j]=dnum+48;

printf("转换后为:

");

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

{

printf("%c",xnum[i]);

}

printf("\n");

}

doublextod(charnum[],intjz)/*将输入的字符串转化为数字*/

{

doublednum=0;

inti,j,b;

for(i=0;;i++)

{

if(num[i]=='\0'||num[i]=='.')break;

}

j=i;

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

{

if(num[j-i-1]=='A')b=10;

elseif(num[j-i-1]=='B')b=11;

elseif(num[j-i-1]=='C')b=12;

elseif(num[j-i-1]=='D')b=13;

elseif(num[j-i-1]=='E')b=14;

elseif(num[j-i-1]=='F')b=15;

elseb=num[j-i-1]-'0';

dnum=dnum+b*pow(jz,i);

}

returndnum;

}

voidmain()

{

inti=1,flag;

printf("*****欢迎使用简单计算器*******\n");

printf("1.+12.ln\n");

printf("2.-13.sin\n");

printf("3.*14.cos\n");

printf("4./15.tan\n");

printf("5.mod16.x^2\n");

printf("6.and17.x^3\n");

printf("7.or18.x^y\n");

printf("8.xor19.n!

\n");

printf("9.not20.√\n");

printf("10.int21.sum,avg\n");

printf("11.exp22.进制转换\n");

while(i!

=0)

{

printf("请输入计算代码i的值:

\n");

scanf("%d",&i);

switch(i)

{

case1:

flag=1;break;

case2:

flag=2;break;

case3:

flag=3;break;

case4:

flag=4;break;

case5:

flag=5;break;

case6:

flag=6;break;

case7:

flag=7;break;

case8:

flag=8;break;

case9:

flag=9;break;

case10:

flag=10;break;

case11:

flag=11;break;

case12:

flag=12;break;

case13:

flag=13;break;

case14:

flag=14;break;

case15:

flag=15;break;

case16:

flag=16;break;

case17:

flag=17;break;

case18:

flag=18;break;

case19:

flag=19;break;

case20:

flag=20;break;

case21:

flag=21;break;

case22:

flag=22;break;

case23:

flag=23;break;

case24:

flag=24;break;

case25:

flag=25;break;

default:

printf("请输入有错误!

\n");break;

}

if(flag==1)

{

doublex,y,d;

printf("请输入x,y的值:

\n");

scanf("%lf%lf",&x,&y);

d=x+y;

printf("%lf\n",d);

}

elseif(flag==2)

{

doublex,y,d;

printf("请输入x,y的值:

\n");

scanf("%lf%lf",&x,&y);

d=x-y;

printf("%lf\n",d);

}

elseif(flag==3)

{

doublex,y,d;

printf("请输入x,y的值:

\n");

scanf("%lf%lf",&x,&y);

d=x*y;

printf("%lf\n",d);

}

elseif(flag==4)

{

doublex,y,d;

printf("请输入x,y的值:

\n");

scanf("%lf%lf",&x,&y);

d=x/y;

printf("%lf\n",d);

}

elseif(flag==5)

{

intx,y,d;

printf("请输入x,y的值:

\n");

scanf("%d%d",&x,&y);

d=x%y;

printf("%d\n",d);

}

elseif(flag==6)

{

longx,y,d;

printf("请输入x,y的值:

\n");

scanf("%ld%ld",&x,&y);

d=x&y;

printf("%ld\n",d);

}

elseif(flag==7)

{

longx,y,d;

printf("请输入x,y的值:

\n");

scanf("%ld%ld",&x,&y);

d=x|y;

printf("%ld\n",d);

}

elseif(flag==8)

{

longx,y,d;

printf("请输入x,y的值:

\n");

scanf("%ld%ld",&x,&y);

d=x^y;

printf("%ld\n",d);

}

elseif(flag==9)

{

longx,d;

printf("请输入x,y的值:

\n");

scanf("%ld%ld",&x);

d=~x;

printf("%ld\n",d);

}

elseif(flag==10)

{

doublex;

intd;

printf("请输入x的值:

\n");

scanf("%lf",&x);

d=(int)x;

printf("%d\n",d);

}

elseif(flag==11)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

d=exp(x);

printf("%lf\n",d);

}

elseif(flag==12)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

d=log(x);

printf("%lf\n",d);

}

elseif(flag==13)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

x=x*3.14/180;

d=sin(x);

printf("%lf\n",d);

}

elseif(flag==14)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

x=x*3.14/180;

d=cos(x);

printf("%lf\n",d);

}

elseif(flag==15)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

x=x*3.14/180;

d=tan(x);

printf("%lf\n",d);

}

elseif(flag==16)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

d=x*x;

printf("%lf\n",d);

}

elseif(flag==17)

{

doublex,d;

printf("请输入x的值:

\n");

scanf("%lf",&x);

d=x*x*x;

printf("%lf\n",d);

}

elseif(flag==18)

{

doublex,y,d;

printf("请输入x,y的值:

\n");

scanf("%lf%lf",&x,&y);

d=pow(x,y);

printf("%lf\n",d);

}

elseif(flag==19)

{

intn,d=1,i;

printf("请输入n的值:

\n");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

d=d*i;

}

printf("%d\n",d);

}

elseif(flag==20)

{

doublex,e;

printf("请输入x的值:

\n");

scanf("%lf",&x);

e=sqrt(x);

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

}

elseif(flag==21)

{

intj=0,i=0,n;

doublesum=0.0,ave,w=0.0,m;

doublea[1000];

printf("请问要输入多少个数\n");

scanf("%d",&n);

for(j=0;j

{

printf("请输入第%d个数据\n",j+1);

scanf("%lf",&a[j]);

}

for(i=0;i

{

sum=sum+a[i];

}

ave=(double)sum/n;

printf("输出和!

\n:

");

printf("%lf\n",sum);

printf("输出平均值!

\n");

printf("%lf\n",ave);

for(j=0;j

{

w=pow(a[j]-ave,2)+w;

}

printf("请输出方差!

\n");

printf("%lf\n",w);

m=sqrt(w);

printf("请输出标准差!

\n");

printf("%l\n",m);

}

elseif(flag==22)

{

charnum[100];

intjz1,jz2;

printf("请输入需要转换的数:

");

scanf("%s",num);

printf("输入数据为几进制:

");

scanf("%d",&jz1);

printf("转化为几进制:

");

scanf("%d",&jz2);

dtox(xtod(num,jz1),jz2);

}

}

}

程序运行结果如图所示

4实训总结

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

当前位置:首页 > 医药卫生 > 临床医学

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

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