C语言设计性实验报告

更新时间:2023-09-13 08:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言设计性实验报告

菜单设计趣味程序实验报告

本组成员:

学院:计算机与信息工程学院 班级:2012级计算机科学与技术二班

1

计算机与信息技术学院设计性实验报告

专业:计算机科学与技术 年级/班级:2012级2班 2012—2013学年第一学期 课程名称 C程序设计 指导教师 张利霞 本组成员 学号姓名 实验地点 项目名称 一、实验目的:

利用菜单程序为应用程序界面,并控制程序的执行顺序,使学生掌握利用,通过对顺序结构,选择结构及循环结构实现程序化设计。本程序旨在训练学生的编程能力,使用C语言最基本的知识,训练结构化程序设计的基本技术。

功能:设计分两步,首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。 二、实验仪器或设备: 1、硬件设备:微型计算机

215机房 使用菜单设计趣味程序 实验时间 实验类型 13-15周 设计性 2、软件环境 :WINDOWS、VC++6.O

三、总体设计(设计原理、设计方案及流程等)

按要求设计一个含有多个菜单项的菜单程序。要求: 1) 主菜单形式如下: 1 ******* 2 *******

3 ******* 4 ******* 5 *******

6退出程序

2) 用函数实现各模块功能。

3) 每种操作完成后返回主菜单。 1、菜单第1项完成: 一只老鼠咬坏了账本,公式中符号[ ]代表老鼠咬掉的地方,表示一位数字。要恢复等式,3[ ]*4356+[ ]8*832=196360,应在[ ]中填上什么样的数字

2、菜单第2项完成: 输出如下图案

* * * * * * * * *

2

* * * * * * * * * * * * * * * * 3、菜单第3项完成:

A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛,哪些人没参加:A参加时,B也参加;B和C只有一个人参加;C和D或者都参加,或者都不参加;D和E中至少有一个人参加;如果E参加,那么A和D也都参加。 4、菜单第4项完成:

产生一个100到300之间的随机数x,让用户去猜。第一次猜中得100分,第二次猜中得90分;每多猜一次少10分,最多允许猜10次,输出所得分数s。 (备注:stdlib.h中有srand( )接受随机数的种子; rand( )产生0~RAND_MAX的一个整数的函数。用100+rand( ) 0可以产生不大于100到300之间的正整数值。)

5、菜单第5项完成:

编写递归函数,完成将一串字符串的倒序输出,且这串字符串一.结束。例如,给abcdefg.,则输出gfedcba

四、实验步骤(包括主要步骤、代码分析等)

步骤一:

#include #include #include void main() {

void printmessage(); void zb(); void lx(); void js(); void cs(); void nx(); void tc(); int i; for(;;) {

printmessage(); scanf(\ if(i==1) zb(); if(i==2) lx(); if(i==3) js(); if(i==4) cs(); if(i==5) nx(); if(i==6) tc(); }

3

}

void printmessage() {

printf(\账本问题\\n2,菱形图案\\n3,竞赛\\n4,猜数\\n5,逆序\\n6,退出程序\\n\}

总的菜单程序代码,打开软件运行可得到下图:

步骤二:输入菜单1程序代码如下:

void zb() {

int i,j;

for(i=0;i<=9;i++) for(j=0;j<=9;j++)

if((30+i)*4356+(j*10+8)*832==196360)

printf(\}

运行后得到结果如图:

步骤三:输入菜单2程序代码如下:

void lx() {int i,j,k;

for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++) printf(\

for(k=1;k<=2*i-1;k++) printf(\printf(\}

for(i=3;i>=1;i--) {for(j=1;j<=4-i;j++) printf(\

4

for(k=1;k<=2*i-1;k++) printf(\printf(\} }

运行后得到的结果如图所示:

步骤四:输入菜单3的程序代码如下:

void js()

{ int a,b,c,d,e;

printf(\可能的组合是:\\n\for(a=0;a<=1;a++) for(b=0;b<=1;b++) for(c=0;c<=1;c++) for(d=0;d<=1;d++) for(e=0;e<=1;e++)

if(((!a)||b)&&((b&&!c)||(!b&&c))&&((c&&d)||(!b&&!c))&&(!(!d&&!e))&&((!e)||(a&&d))) {

if(a) putchar('a'); if(b) putchar('b'); if(c) putchar('c'); if(d) putchar('d'); if(e) putchar('e'); }

printf(\}

运行后得到的结果如图所示:

5

本文来源:https://www.bwwdw.com/article/n3ih.html

Top