C语言课程设计报告.docx

上传人:b****8 文档编号:10034576 上传时间:2023-02-08 格式:DOCX 页数:19 大小:191.66KB
下载 相关 举报
C语言课程设计报告.docx_第1页
第1页 / 共19页
C语言课程设计报告.docx_第2页
第2页 / 共19页
C语言课程设计报告.docx_第3页
第3页 / 共19页
C语言课程设计报告.docx_第4页
第4页 / 共19页
C语言课程设计报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告.docx

《C语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告.docx

C语言课程设计报告

 

海南大学三亚学院

 

C语言课程设计报告

 

设计课题:

游戏设计

专业班级:

计科1001班

学生姓名:

李媛媛

学生学号:

1010711015

指导教师:

李春林

 

1猜数小游戏

要求:

游戏的开始有欢迎界面,然后由机器产生一个随机数(1~100之间,用库函数rand()),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:

YouranswerisHIGH,tryagain.,否则,程序提示:

YouranswerisLOW,tryagain.,直到猜对为止。

程序可实现连续猜数,直到游戏者退出。

程序输出要求:

累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“I canbetyoucandoitbetter.”;当n>=15时,给出失败信息。

#include

#include

#include

voidmain()

{

printf("欢迎进入游戏,请输入一个数:

\n");

intm,n,p,i;

m=rand()%100;

scanf("%d",&n);

for(i=1;;i++)

{if(n>m)

{printf("youranswerishigh,tryagain\n");

scanf("%d",&n);}

elseif(n

{printf("youranswerislow,tryagain\n");

scanf("%d",&n);}

else

break;}

p=i;

if(p<=7)

printf("congratulation\n");

elseif(p>=15)

printf("错误");

else

printf("Icanbetyoucandoitbetter\n");

printf("输入次数%d\n",p);

}

 

2.21点游戏。

游戏规则:

可连续让程序发牌。

若牌的总点数超过程序产生的点数,你就赢了。

若你的总点数超过21或者是程序产生的点数大于你的点数,你就输了。

要求:

欢迎界面后界面如下:

发牌吗?

Y发牌:

4

发牌吗?

Y发牌:

3

发牌吗?

Y发牌:

10

发牌吗?

Y发牌:

4

发牌吗?

N

你的点数为:

21。

你赢了!

#include

#include

#include

voidmain()

{

intsum,i,b,c;

chara;

printf("Welcometothe21pointgame\n");

srand((unsigned)time(NULL));

sum=rand()%13+1;

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

for(i=0;;i++)

{

srand((unsigned)time(NULL));

printf("Onemorecard?

\n");

scanf("%c",&a);

if(a=='Y')

b=rand()%13+1;

if(a=='N')

{

srand((unsigned)time(NULL));

c=rand()%20+1;

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

break;

}

sum=sum+b;

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

if(sum>21)

{

printf("Youloss!

\n");

break;

}

}

if(sum

printf("Youloss!

\n");

elseif(sum==21||sum<21&&sum>c)

printf("Youwin!

\n");

}

3.计算器设计

界面如下:

@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@欢迎使用计算器@@@@@@@@@@

@@@@@@@设计者:

@@@@@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@@

(也可以根据自己的喜好设计更美观的界面。

请选择功能:

---------

1————加法

2————减法

3————乘法

4————除法

5————求余数

6————求三角形面积

7————求三角形周长

8————求梯形面积

9————求圆形面积

10————求sin

11————求cos

12————求tg

13————求ctg

(可以根据需要添加更多的功能。

要求:

在主函数中,输出欢迎界面,并输出所有的功能列表之后,让用户选择功能。

根据选择的功能数,调用不同的函数。

功能1——9要求编写函数。

功能10——13可以直接使用c的库函数。

#include

#include

voidmain()

{

inta,g,R,m,n;

doublex,S1,S2,S3,n1,n2,n3,n4;

floatb,c,sum,reduce,multiply,divide,s,d,e,f;

printf("**********************************\n!

WelcometousethisCalculator!

\n*********DesignedbyMars*********\n**********************************\n");

printf("Pleasechoosethefunctionyouneeded\n1.sum\n2.reduce\n3.multiply\n4.divide\n5.remainder\n6.square\n7.girth\n8.trigonometricfunction\n");

scanf("%d",&a);

if(a==1)

{

printf("Pleaseinputyournumbersthatneedtobecalculated.\n");

scanf("%f,%f",&b,&c);

sum=b+c;

printf("sum=%f\n",sum);

}

if(a==2)

{

printf("Pleaseinputyournumbersthatneedtobecalculated.\n");

scanf("%f,%f",&b,&c);

reduce=b-c;

printf("reduce=%f\n",reduce);

}

if(a==3)

{

printf("Pleaseinputyournumbersthatneedtobecalculated.\n");

scanf("%f,%f",&b,&c);

multiply=b*c;

printf("multiply=%f\n",multiply);

}

if(a==4)

{

printf("Pleaseinputyournumbersthatneedtobecalculated.\n");

scanf("%f,%f",&b,&c);

divide=b/c;

printf("divide=%f\n",divide);

}

if(a==5)

{

printf("Pleaseinputyournumbersthatneedtobecalculated.\n");

scanf("%d,%d",&m,&n);

R=m%n;

printf("remainder=%d\n",R);

}

if(a==6)

{

printf("Pleasechooseyourgeometricfigureyouwanted.\n");

printf("1.triangle\n2.trapezium\n3.circle\n");

scanf("%d",&g);

if(g==1)

{

printf("Pleaseinputthelengthofthethreerimofthistriangle\n");

scanf("%f,%f,%f",&d,&e,&f);

S1=sqrt((1/2)(d+e+f)(d+e-f)(d+f-e)(f+e-d));

printf("Square=%f\n",S1);

}

if(g==2)

{

printf("Pleaseinputthelengthofthetoprim,thebottomrimandthetallofthistrapeziuminproperorder.\n");

scanf("%f,%f,%f",&d,&e,&f);

S2=(d+e)*f/2;

printf("Square=%f\n",S2);

}

if(g=3)

{

printf("Pleaseinputtheradiusofthiscircle.\n");

scanf("%f",&b);

S3=3.14*b*b;

printf("Square=%f\n",S3);

}

}

if(a==7)

{

printf("Pleaseinputthelengthofthethreerimofthistriangle\n");

scanf("%f,%f,%f",&b,&e,&f);

s=b+e+f;

printf("Girth=%f\n",s);

}

if(a==8)

{

printf("Pleasechoosethefunctionyouneed.\n");

printf("1.sin\n2.cos\n3.tan\n4.cot\n");

scanf("%d",&g);

if(g==1)

{

printf("Pleaseinputyournumber.\n");

scanf("%f",&b);

n1=sin(b);

printf("sin(%f)=%f\n",b,n1);

}

if(g==2)

{

printf("Pleaseinputyournumber.\n");

scanf("%f",&b);

n2=cos(b);

printf("cos(%f)=%f\n",b,n2);

}

if(g==3)

{

printf("Pleaseinputyournumber.\n");

scanf("%f",&b);

n3=tan(b);

printf("tg(%f)=%f\n",b,n3);

}

if(g==4)

{

printf("Pleaseinputyournumber.\n");

scanf("%f",&b);

n4=1/tan(b);

printf("cot(%f)=%f\n",b,n4);

}

}

printf("Myresponsibilityisdone.\nWelcomefornexttime,butyouneedrestartthisprogram.\nI'vedied.\nIonlyhaveonetimetolive,andyoutoo.\nSo,valueit.NocomplainandNoregret!

\n");

}

 

4.学生成绩管理系统设计

程序说明:

有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:

(1)主菜单

界面如下:

@@@@@@@@@@@@@@@@@@@@@@@@@@

@@@@@@@欢迎使用学生成绩管理系统@@@@@

@@@@@@@设计者:

@@@@@@

@@@@@@@@@@@@@@@@@@@@@@@@@@

请选择功能:

----

1、成绩录入

2、成绩查询

3、成绩统计 

2)各菜单项要求完成的功能

1成绩录入:

输入学生的学号、姓名及三门课的成绩;并输出所有学生所有信息。

2成绩查询:

v按学号查询学生记录。

v按学生姓名查询学生记录。

v查询不及格学生的记录。

v查询及格学生的记录。

v查询最高分学生的记录。

③成绩统计:

v计算每个学生的平均分,并输出。

v计算各科的总分及平均分,并输出。

v输出各科状元的记录。

(3)定义的结构体数组可以定义如下:

#defineN30

structstudent

{intnum;/*定义学号*/

charname[20];/*定义姓名*/

floatscore[3];/*定义存贮三门课成绩的数组*/

floataverage;/*定义平均成绩*/

}stu[N]; /*定义结构体数组,存贮多个学生的记录*/

注:

由于结构体作参数同学们没有学过,可以把所有的功能写在一个主函数中。

也可以自学教材,采用函数调用的方式完成。

#include"stdio.h"

#include"string.h"

#defineN100

 

voidmain()

{

structstudent

{

intnum;/*定义学号*/

charname[20];/*定义姓名*/

floatscore[3];/*定义存贮三门课成绩的数组*/

floataverage;/*定义平均成绩*/

}stu[N];

inta,b,d,c,i,j;

chare[20];

for(i=0;i

stu[i].num=0;//给所有学号赋初值为0

printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");

printf("@@@@@@@@欢迎使用学生成绩管理系统@@@@@@@@@@\n");

printf("@@@@@@@@@@@@@设计者:

赵敏@@@@@@@@@@@@@@@@\n");

printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");

for(;;)

{

printf("请选择功能:

----\n1、成绩录入\n2、成绩查询\n3、成绩统计\n");

scanf("%d",&a);

if(a==1)//成绩录入

{

printf("请输入学生学号:

");

scanf("%d",&b);

for(i=0;i

{

if(b==stu[i].num)

{

break;

}

}

if(i!

=100)

{

printf("请输入学生姓名:

");

scanf("%s",&stu[i].name);

printf("请输入学生三科成绩:

\n");

scanf("%f%f%f",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;

printf("学生姓名%s成绩%g,%g,%g平均成绩%g\n\n",stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);

}

else

{

for(i=0;i

{

if(stu[i].num==0)

break;

}

if(i!

=100)

{

printf("这是一个新的学生数据\n");

printf("请输入学生姓名:

");

scanf("%s",&stu[i].name);

printf("请输入学生三科成绩:

\n");

scanf("%f%f%f",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;

printf("学生姓名%s成绩%g,%g,%g平均成绩%g\n\n",stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);

}

elseprintf("数据已满");

}

}

elseif(a==2)//选择查询

{

printf("请选择查询模式——————\n1、查询学号\n2、查询姓名\n3、查询不及格学生\n4、查询几个学生\n5、查询最高分学生\n");

scanf("%d",&c);

if(c==1)//1、查询学号

{

printf("请输入学号:

");

scanf("%d",&d);

for(i=0;i

{if(d==stu[i].num)

break;

}

printf("学生姓名%s成绩%g,%g,%g平均成绩%g\n\n",stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average);

}

elseif(c==2)

{

printf("请输入姓名:

");

scanf("%s",e);

for(i=0;i

{if(strcmp(e,stu[i].name)==0)

break;

}

}

}

}

}

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1