C语言课程设计报告.docx

上传人:b****3 文档编号:1804349 上传时间:2022-10-24 格式:DOCX 页数:19 大小:89.56KB
下载 相关 举报
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语言课程设计报告

一.课程设计的目的与要求……………………………………4

二.方案实现与调试……………………………………………4

2.1分屏处理数据系统

2.1.1题目内容的描述

2.1.2应用程序功能的详细说明

2.1.3输入数据类型、格式和内容限制;

2.1.5调试过程及实验结果

2.2掷骰子游戏

2.2.1题目内容的描述

2.2.2应用程序功能的详细说明

2.2.3输入数据类型、格式和内容限制;

2.2.5调试过程及实验结果

2.3射击游戏

2.3.1题目内容的描述

2.3.2应用程序功能的详细说明

2.3.3输入数据类型、格式和内容限制;

2.3.5调试过程及实验结果

2.4金币

2.4.1题目内容的描述

2.4.2应用程序功能的详细说明

2.4.3输入数据类型、格式和内容限制;

2.4.5调试过程及实验结果

2.5缩印

2.5.1题目内容的描述

2.5.2应用程序功能的详细说明

2.5.3输入数据类型、格式和内容限制;

2.5.5调试过程及实验结果

三.课程设计分析与总结………………………………………15

四.源程序清单…………………………………………………15

一.课程设计的目的与要求

一、实验目的

C语言是一种编程灵活,特色鲜明的程序设计语言。

C语言除了学习必须的基本知识,如概念,方法和语法规则之外,更重要的是进行实训,以提高学习者的动手和编程能力,这是学习语言的最终目的。

结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《高级语言程序设计任务书》,以在实训过程中给学生提供帮助。

达到如下目的:

1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识;

3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。

二、设计要求

根据实验内容的要求自由选定题目。

编写程序要求遵循如下基本要求:

●模块化程序设计

●锯齿型书写格式

●必须上机调试通过

二.方案实现与调试

2.1分屏处理数据系统

2.1.1题目内容的描述

随机产生1000个数,并分屏显示(每行显示10个数字,每页显示10行),而且在每一屏的下方显示本屏中数据的最大值、最小值和平均值。

提示:

循环显示,在分屏点上输出pressanykeytocontinue…,通过getch()函数让用户以按回车键的方式进入下一屏。

2.1.2应用程序功能的详细说明

利用随机函数产生1000个随机数,每次屏幕上显示100个随机数,分十次显示,通过按回车键的方式进入下一屏。

2.1.3输入数据类型、格式和内容限制;

输入数据类型是整型,格式是%d,每页100个数字,最大数字是100.

2.1.5调试过程及实验结果

2.2掷骰子游戏

2.2.1题目内容的描述

两人玩骰子,游戏规则如下:

1)两人轮流掷骰子,每次掷两个,每人最多掷10次。

2)将每人每次的分值累加计分

3)当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。

4)结束条件:

当双方都掷10次或经过5次后一方累计分数为另一方的两倍。

最后显示双方分数并判定优胜者。

2.2.2应用程序功能的详细说明

可以显示两人每次投掷骰子的点数,并统计每每次人累加的分数,在第五次的时候比较一次,判断是否符合获胜条件。

若不符合,则继续投掷,直到结束。

最后统计两人的分数并显示在屏幕上,判定优胜者.

2.2.3输入数据类型、格式和内容限制;

类型是整型,格式是%d,每次随机产生的数字在1~6之间。

2.2.5调试过程及实验结果

2.3射击游戏

2.3.1题目内容的描述

在程序运行时屏幕上方第一行随机出现一个符号,要求游戏者输入一个1-200之间的整数,当用户输入一个整数后,一个*立即从屏幕底端的该整数列向上移动,若移动到屏幕的顶端能撞上符号,则游戏者获胜;若没有撞上,则要求再输入一个整数,共允许输入5次,如果一直没有撞上,则认为游戏者输。

提示:

1)输入符号可以采用printf("%c",'\1')

2)显示*号向上移动:

输出一些空行;输出*号;以循环的方式增加延时(for(i=0;i<100000;i++););clrscr()清屏重新绘制*号。

2.3.2应用程序功能的详细说明

在屏幕上随机出现出现一个笑脸,要求你输入一个数字,输完,一个子弹从输入数字对应的列位置发出,若撞上则显示你赢了,若没撞上,提示你再来一次,且你还有4次机会。

5次过后,若还没撞到,则显示你输了

2.3.3输入数据类型、格式和内容限制;

数据类型是整型,格式是%d,笑脸随机产生的位置大约在1~80之间。

2.4金币

2.4.1题目内容的描述

国王用金币奖励他忠诚的侍从。

第一天侍从工作结束后,国王奖励了他一个金币;接着的两天侍从工作中(第二天,第三天)的每一天,国王奖励了他两个金币;接着的三天侍从工作中(第四天,第五天,第六天)的每一天,国王奖励了他三个金币;接着的四天侍从工作中(第七天,第八天,第九天,第十天)的每一天,国王奖励了他四个金币。

这种奖励的模式将是固定不变的,即在N天侍从工作中的每一天,国王将奖励他N个金币;接着的N+1天的侍从工作中的每一天,国王将奖励他N+1个金币。

要求在给定的天数时,你的程序能够统计国王总共奖励了侍从多少金币。

2.4.2应用程序功能的详细说明

根据题目中国王的奖励规则,屏幕上会显示“请输入天数:

”,只要你输入天数,程序就会计算出在这给定的天数中,国王总共奖励了侍从多少金币,并输出打印在屏幕上.

2.4.3输入数据类型、格式和内容限制;

输入天数的类型为整型,格式是%d

2.5缩印

2.5.1题目内容的描述:

你想把一张560×400的图像放到一张216×280的页面中,并且要使图像最大,你会怎么做?

你可以将图像旋转90度,然后压缩50%,图像现在的大小变为200×280。

这样就可以放入页面中!

1)输入:

输入数据包含四个用空格隔开的正整数A,B,C和D,表示图像大小是A×B,页面大小是C×D。

所有的数据都小于1000。

2)输出:

如果图像不需要压缩(可能需要旋转)则输出100%。

如果图像需要被压缩则输出最小压缩比(可能需要旋转)。

我们假定没有图像会被压缩到1%以下,所有结果为一个整型的百分比,从1%到100%。

2.5.2应用程序功能的详细说明:

根据提示输入,前两个是图像的大小,后两个是页面的大小。

图像旋转是为了使图像大的边与页面大的边对应,所以程序会根据图像与页面的大小比例,确定是否旋转使图像与页面的大小边对应。

比较后,在进行压缩,输出最小压缩比.

2.5.3输入数据类型、格式和内容限制:

输入数据类型为整型和单精度,格式是%d,%c.大小限制在1000之内

深化部分:

题目内容的描述:

职工工资管理系统设计:

功能:

实现简单的职工工资信息管理,职工工资的基本信息包括编号、姓名、基本工资、奖金、工资总额等

基本要求:

1设计简单的菜单,能够进行系统功能选择。

2实现信息的录入功能。

3在已有信息的基础上添加新的记录。

4删除指定编号的记录。

5修改指定编号的记录

6实现信息的浏览功能

7按编号查询功能

8按工资总额排序功能

应用程序功能的详细说明:

通过输入与各项功能相对应的按键来达到控制系统的目的,可以有简单的菜单,能够进行系统功能选择,实现信息的录入功能,在已有信息的基础上添加新的记录,删除指定编号,也可以实现信息的浏览功能。

输入数据类型、格式和内容限制:

类型有int,char.格式有%d,%c.

主要模块的算法描述

调试过程及实验结果:

三.课程设计分析与总结

在这次课程设计中,既有基本的程序编程,也有复杂的深化题目。

用到了很多基本的东西,如for语句,也有需要建立复杂的链表。

不过,课程设计能培养自主编程的能力,养成程序编辑的好习惯。

对我们这些接触C语言不久的学生是个很好的锻炼的机会。

四.源程序清单

分屏处理数据系统:

#include

#include

#defineN10

#defineMAX99

#defineMIN10

main()

{

inti,j,k,q,max,min,temp=0,a[N][N];

randomize();

for(q=0;q<10;q++)

{

clrscr();

for(i=0;i

for(j=0;j

a[i][j]=MIN+random(MAX-MIN+1);

printf("Theresultis:

\n");

for(i=0;i

{

for(j=0;j

printf("%5d",a[i][j]);

printf("\n");

}

max=a[0][0];

for(i=0;i

{

for(j=0;j

if(max

}

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

min=a[0][0];

for(i=0;i

{

for(j=0;j

if(min>a[i][j])min=a[i][j];

}

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

for(i=0;i

for(j=0;j

temp=temp+a[i][j];

k=temp/100;

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

printf("pressanykeytocontinue...");

getch();

temp=0;

}

}

掷骰子游戏:

#include

#include

#defineN2

#defineMAX6

#defineMIN1

main()

{

inti,j,m,n,k,q,s,temp1=0,temp2=0;

randomize();

clrscr();

for(s=0;s<10;s++)

{

i=MIN+random(MAX-MIN+1);

j=MIN+random(MAX-MIN+1);

if(i==j==6)k=8;

if(i==j&&i!

=6&&j!

=6)k=7;

else

k=i

i:

j;

temp1=temp1+k;

m=MIN+random(MAX-MIN+1);

n=MIN+random(MAX-MIN+1);

if(m==n==6)q=8;

if(m==n&&m!

=6&&n!

=6)q=7;

else

q=m

m:

n;

temp2=temp2+q;

if(s==4&&2*temp1==temp2)

{printf("1:

%d2:

%d\nThewineris2.",temp1,temp2);break;}

if(s==4&&temp1==2*temp2)

{

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

当前位置:首页 > 解决方案 > 商业计划

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

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