c 语言 使用菜单选择趣味程序.docx

上传人:b****4 文档编号:24630424 上传时间:2023-05-29 格式:DOCX 页数:20 大小:113.40KB
下载 相关 举报
c 语言 使用菜单选择趣味程序.docx_第1页
第1页 / 共20页
c 语言 使用菜单选择趣味程序.docx_第2页
第2页 / 共20页
c 语言 使用菜单选择趣味程序.docx_第3页
第3页 / 共20页
c 语言 使用菜单选择趣味程序.docx_第4页
第4页 / 共20页
c 语言 使用菜单选择趣味程序.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

c 语言 使用菜单选择趣味程序.docx

《c 语言 使用菜单选择趣味程序.docx》由会员分享,可在线阅读,更多相关《c 语言 使用菜单选择趣味程序.docx(20页珍藏版)》请在冰豆网上搜索。

c 语言 使用菜单选择趣味程序.docx

c语言使用菜单选择趣味程序

 

攀枝花学院

学生课程设计(论文)

题目:

使用菜单选择趣味程序

学生姓名:

学号:

所在院(系):

计算机学院

专业:

软件工程

班级:

2010级1班

指导教师:

何春燕

 

2010年6月20日

攀枝花学院本科学生课程设计任务书

题 目

使用菜单选择趣味程序

1、课程设计的目的

利用菜单作为应用程序的界面,并控制程序的执行顺序,使学生掌握利用,通过对顺序结构,选择结构及循环结构实现结构化程序设计

2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)

一、用C实现如下功能要求:

(1)编写一函数实现确定一数字,使等式:

3□*6237=□3*3564成立。

(2)编写一函数实现求ax2+bx+c=0的根,其a,b,c的值从键盘上输入。

(3)编写一函数实现求一肇事车辆牌照号码的推论:

一辆汽车撞人后逃逸,4个目击者提供如下线索:

甲:

牌照3,4位相同;乙:

牌号为31****;丙:

牌照5,6位相同;丁:

3-6位是一个整数的平方。

(4)编写一个函数,实现下列笑话的计算:

有一只狗熊到玉米地里掰玉米,一边掰一边吃。

第一天吃了一半,又拿圤一个回去喂小狗熊。

第二天又去吃了剩下的一半,走时仍然带一个回去喂小狗熊。

以后每天都吃前一天剩下的一半,拿走一个。

到第十天时,地里只剩下一个玉米了。

求地里一共有多少玉米。

(5)编写一函数实现九九乘法表的打印输出。

(6)编写一函数实现退出整个程序。

(7)用一个简单的菜单提供上述操作。

菜单信息为:

1.FindNum

2.FindRoot

3.Detective

4.Bear

5.99MultiplicationTable

6.Goodbye

Input1-6:

二、撰写课程设计报告或课程设计总结课程设计报告要求:

总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。

3、主要参考文献

[1]谭浩强,《C程序设计》,清华大学出版社2001.2

[2]刘振安,《c语言课程设计》,机械工业出版社2004年9月1日.

[3]贾宗璞、许合利,《C语言程序设计》中国矿业大学出版社,2007.6

4、课程设计工作进度计划

课程设计时间为一周,分四个阶段完成:

1.分析设计阶段。

引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。

这一阶段前第1天完成。

2.编码调试阶段:

根据设计分析方案编写C语言代码,然后调试该代码,实现课题要求的功能。

这一阶段在第2-3天完成。

3.总结报告阶段:

总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。

这一阶段在第4-5天完成。

4.考核阶段。

这一阶段在第5天完成。

指导教师(签字)

日期

年月日

教研室意见:

年月日

学生(签字):

接受任务时间:

2011年06月20日

注:

任务书由指导教师填写。

课程设计(论文)指导教师成绩评定表

题目名称

评分项目

分值

得分

评价内涵

工作

表现

20%

01

学习态度

6

遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。

02

科学实践、调研

7

通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。

03

课题工作量

7

按期圆满完成规定的任务,工作量饱满。

能力

水平

35%

04

综合运用知识的能力

10

能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。

05

应用文献的能力

5

能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。

06

设计(实验)能力,方案的设计能力

5

能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。

07

计算及计算机应用能力

5

具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。

08

对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)

10

具有较强的数据收集、分析、处理、综合的能力。

成果

质量

45%

09

插图(或图纸)质量、篇幅、设计(论文)规范化程度

5

符合本专业相关规范或规定要求;规范化符合本文件第五条要求。

10

设计说明书(论文)质量

30

综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。

11

创新

10

对前人工作有改进或突破,或有独特见解。

成绩

 

指导教师评语

 

指导教师签名:

年 月 日

 

摘要

生活在二十一世纪的我们,我们面临着生活的挑战,社会的快速发展,时代的不断更新。

越来越来多的现代科技占有主导地位,特别是科技方面的,尤为是计算机技术,在我们生活的各个领域广泛运用,占有一席之地,所谓的后来者居上。

本次课程设计的内容就是使用菜单选择趣味程序,其主要操作就是通过编写程序来完成菜单选项,然后通过调用函数来完成小程序的编写,还要用到我们学到的选择,嵌套,循环的方法的使用。

该课程主要是将我们的所学C语言运用于实践,在实践中学习,获得成长,锻炼我们的独立思考能力,动手操作能力,完善自己。

我会努力完成此次任务,真正获得知识。

 

关键词:

菜单项,函数,调用

目录

摘要I

1需求分析1

1.1问题描述1

1.2需求环境1

1.3功能描述1

2概要设计2

2.1程序模块设计2

2.2程序流程图2

2.3数据结构的设计3

2.3.1选择结构3

2.3.2调用函数3

3详细设计4

3.1程序功能4

3.2趣味菜单程序4

4测试与运行程序8

5程序运行感言10

结束语11

参考文献12

1需求分析

1.1问题描述

通常程序需要有一个顶级菜单,用户选择对应的菜单进入对应的功能。

程序中不同的功能通常使用不同的函数来实现,在设计这些函数的时候需要考虑函数(功能模块)的输入和输出。

输入数据如果比较简单可以通过函数的参数传递,如果比较多或者比较复杂则可以通过全局变量来传递。

函数的输出如果是一个数则可以通过return函数带回,如果是多个结果则只能通过全局变量带回。

对于使用菜单选择趣味程序:

首先设计含有多个菜单项的菜单演示程序,然后为这一些菜单项配上相应的功能。

这些菜单项分别为1.FindNum2.FindRoot3.Detective4.Bear5.99MultiplicationTable6.Goodbye,只能用1-6这几个数值来确定菜单项,其他数字则无效。

功能项1.FindNum:

编写一函数实现确定一数字,使等式:

3□*6237=□3*3564成立2.FindRoot:

编写一函数实现求ax2+bx+c=0的根,其a,b,c的值从键盘上输入3.Detectiv:

对三个人的描述来讨论车牌号问题4.Bear:

讨论小熊吃东西知道剩余几个,求总个数问题5.99MultiplicationTable:

编写一函数实现九九乘法表的打印输出6.Goodbye:

编写一个函数,实现程序的结束退出整个程序。

此设计主要是要熟悉运用c语言的选择,循环,顺序等算法的运用,也是设计的难点和重点。

1.2需求环境

本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:

①硬件要求:

一台计算机。

②软件配置:

WINDOWS、C/VC++6.0。

1.3功能描述

对于设计的菜单趣味程序主要是运用于大家学习c语言,程序里面有各种程序题目,对语言的算法知识做个系统的总结。

运用菜单项功能对题目总结。

想了接哪方面的题目就选择哪个菜单项。

看起来简洁,对语言学习者提供极大的帮助。

增加学习的兴趣。

其功能如下:

1打开运行原程序,进入菜单选项,选择自己需要的菜单项。

2进入选项题目,编写程序。

3查看对应的原程序。

 

2概要设计

2.1程序模块设计

由题目可以知道,可以设置一下几个模块:

首先选择菜单程序模块,FindNum题目模块,FindRoot题目模块,Detective题目模块,Bear题目模块,99MultiplicationTable题目模块。

2.2程序流程图

 

 

2.3数据结构的设计

2.3.1选择结构

对于选择程序模块使用switch语句,switch(cn)case1:

printf(“FindNum()\n”);breake;case2:

printf(“FindRoot()\n”);breake;case3:

printf(“Detective()\n”);breake;case4:

printf(“Bear()\n”);breke;

case5:

printf(“99MultiplicationTable()\n”);breke;

case6:

printf(“Goodbye\n”);breke;

2.3.2调用函数

使用调用函数来完成第二个模块设计,例如:

voidFindNum(),voidFindRoot()等函数调用来对题目编写完成。

3详细设计

3.1程序功能

该次设计的程序使用switch语句,printf语句输出菜单,主要是通过调用函数来完成相应菜单程序的编写查看。

3.2趣味菜单程序

#include

#include

#include

#include

voidFindNum();

voidFindRoot();

voidDetective();

voidBear();

voidMultiplication();

intmenu_select();

voidmain()

{

for(;;){

switch(menu_select())

{

case1:

FindNum();

break;

case2:

FindRoot();

break;

case3:

Detective();

break;

case4:

Bear();

break;

case5:

Multiplication();

break;

case6:

printf("Goodbye!

\n");

exit(0);

}

}

}

//菜单选择操作

intmenu_select()

{

chars;

intcn;

printf("1.FindNum\n");

printf("2.FindRoot\n");

printf("3.Detective\n");

printf("4.Bear\n");

printf("5.99MultiplicationTable\n");

printf("6.Goodbey!

\n");

do{

s=getchar();

cn=(int)s-48;

}while(cn<0||cn>6);

returncn;

}

//找出一个数使等式成立

voidFindNum()

{

inti,j;

printf("求填入一个数使等式3□*6237=□3*3564成立\n");

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

for(j=1;j<10;j++)

{

if((3*10+i)*6237==(j*10+3)*3564)

printf("3%d*6237=%d3*3564",i,j);

}

}

 

//完成一元二根的问题次方程

voidFindRoot()

{

floata,b,c;

floatdelta;

printf("求一个二元方程ax2+bx+c=0的根的问题");

printf("inputa,b,c:

");

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

delta=(b*b-4*a*c);/*b^2-4ac*/

if(delta<0)

{

printf("nofactroot.\n");

}

elseif(delta<0)

{

/*delta==0,have1root*/

printf("root1=root2=%0.2f\n",-1*b/(2*a));

}

else

{

/*delta>0,have2root.*/

printf("root1=%0.2f,root2=%0.2f\n",-1*b+sqrt(delta)/(2*a),-1*b-sqrt(delta)/(2*a));

}

}

 

//狗熊吃玉米问题

voidBear()

{

intday,x1,x2;

printf("狗熊到玉米地吃了包谷");

printf("第一天吃了一半又拿走一个回去喂小狗熊。

\n");

printf("第二天又去吃了剩下的一半,走是任然带一个回去。

/n");

printf("以后每天都吃前一天剩下的一半,拿走一个。

/n");

printf("到了第十天时,地里只剩下一个包谷。

求地里一共有多少包谷。

/n");

day=10;

x2=1;

while(day>0)

{

x1=(x2+1)*2;

x2=x1;

day--;

}

printf("包谷总数=%d\n",x1);

}

//九九乘法表问题

voidMultiplication()

{

inti,j;

for(i=1;i<=9;i++)//循环计算1~9

{

for(j=1;j<=i;j++)//输出数i的i个乘法项

{

printf("%d*%d=%d",i,j,i*j);

}

printf("\n");//输出换行符

}

}

//车牌号问题

voidDetective()

{

intn;

inta;

intx1,x2,x3,x4;

printf("一辆车撞人后逃逸,四位目击者的描述如下");

printf("甲说车牌得3,4位相同");

printf("乙说车牌号为31****");

printf("丙说车牌5,6位相同");

printf("丁说车牌的3~6位是一个整数的平方");

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

{

a=n*n;

x1=a/1000;

x2=a%1000/100;

x3=a%100/10;

x4=a%10;

if(x1==x2&&x3==x4&&x1!

=x3)

{

printf("thenumberis:

%d\n",310000+a);

break;

}

4测试与运行程序

图4.1狗熊吃玉米

图4.2车牌问题

 

图4.3一元二次方程

图4.4九九乘法表

 

图4.5运行两个程序

 

5程序运行感言

程序运行主要出错的地方有:

中文与英文的符号不一样,使用调用函数的函数名得用法,程序中不使用相应调用函数时不做出主函数调用,声明数据类型时如:

inta应在printf前面。

以上就是我运行程序出错的地方,虽然调试程序时很麻烦很恼火,但是运行成功过后喜悦却是很难找到的。

那种自信,成就感豁然而生。

此次课程设计我收获很多,不光是是知识上的,还有我以后学习的收获。

第一次做出我自己的程序,我是无比高兴,在以后我会更加努力的完成我的每一次课程设计,我会加油的!

结束语

本次课程设计我大有收获,主要通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。

在刚开始的几次调试中曾经出现过不能运行、不会正确输出结果、不能进行循环练习等等问题。

经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。

现在它能对出错的题目发出报警声,并且给出正确答案。

最后还能分别输出对错的题数及所得分数。

在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。

从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。

除此之外,我还得到了一些有用的教训:

写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。

在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。

最后对给过我帮助的指导老师和同学表示忠心的感谢!

参考文献

[1]谭浩强,《C程序设计》,清华大学出版社2001年1月

[2]刘振安,《c语言课程设计》,机械工业出版社2004年9月1日

[3]杨正华,《趣味程序导学》,清华大学出版社2006年6月

[4]

[5]

[6]贾宗璞、许合利,《C语言程序设计》中国矿业大学出版社,2007.6

 

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

当前位置:首页 > 考试认证 > 从业资格考试

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

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