综合性设计性实验报告模版.docx

上传人:b****7 文档编号:10004710 上传时间:2023-02-07 格式:DOCX 页数:35 大小:343.98KB
下载 相关 举报
综合性设计性实验报告模版.docx_第1页
第1页 / 共35页
综合性设计性实验报告模版.docx_第2页
第2页 / 共35页
综合性设计性实验报告模版.docx_第3页
第3页 / 共35页
综合性设计性实验报告模版.docx_第4页
第4页 / 共35页
综合性设计性实验报告模版.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

综合性设计性实验报告模版.docx

《综合性设计性实验报告模版.docx》由会员分享,可在线阅读,更多相关《综合性设计性实验报告模版.docx(35页珍藏版)》请在冰豆网上搜索。

综合性设计性实验报告模版.docx

综合性设计性实验报告模版

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

专业:

通信工程年级/班级:

20112011—2012学年第一学期

课程名称

C程序设计

指导教师

王鲜芳

本组成员

学号姓名

1108224015王源标1108224043董俊明

实验地点

215

实验时间

2011.12.8

下午:

2:

30-4:

20

项目名称

使用函数设计菜单趣味程序

实验类型

综合性/设计性

试验项目简介:

设计一个含有多项菜单项的菜单程序,其下包含子菜单。

菜单形式如下:

(一)

1.星座查询

2.排位查询

3.星期查询

4.天支查询

5.娱乐工具(包含子菜单)

6.退出程序

这是菜单的结构图:

(二)用函数实现各模块功能

(三)每种操作后返回主菜单

一、实验目的:

程序和指令的思想是计算机系统中最基本的概念。

通过设计菜单程序,进一步了解计算机工作原理,更好的理解和应用计算机;掌握用计算机处理问题;培养分析问题解决问题的能力;具有编制程序的初步能力。

即使将来不是计算机专业人员,由于学过程序设计,理解软件生产特点和生产过程,就能与程序开发人员更好的沟通与合作。

通过本次实验可以掌握更多的计算机C语言的程序的设计,菜单的设计会包含很多的知识,例如基本的计算机知识,基本计C语言知识以及函数的应用,指针的认识以及应用,还会包含结构体的应用,在与同学的合作中提高合作精神,有易于以后的发展,在实验中采用多种函数的调用,加入一些自己的独立思想,本实验拟在设计一个比较实用、有趣的菜单程序,锻炼学生分析问题、解决问题、应用程序设计语言基本知识的能力。

故此次菜单的程序设计是对同学们学的好与坏的重要考察。

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

使用多种函数对所需的程序进行编译,如使用指针、结构体、多种简单程序等等对主程序进行编译,先画出小程序的流程图,在一个一个编写,最后将他们进行组合,完成主程序。

实验仪器或设备:

学校的机房,和个人计算机。

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

实验分以下阶段完成

一:

完成程序的主框架设计

二:

根据流程图做出相应的程序(包含主函数、子函数)

三:

完成设计后进行调试、编译、组建,改正,得出运行结果。

以下是程序的结构图:

详细设计,进行调试,验证其正确性;

主程序内容:

#include

#include

#include

#include

#include

#include

voidhongxin(intx);

voidkongge(intx);

voidjiemianshouyu();

voidhuanhang(inty);

voidprint_caidan();

voidxuanzemoshi();

voidsanjiao1(intx);

voidsanjiao2(intx);

voidmima();

voidxinxing();

voidmain()

{

hongxin(80);

huanhang(3);

kongge(11);

printf("河南师范大学2011级计科院通信工程");

huanhang(3);

hongxin(80);

huanhang

(2);

kongge(15);

hongxin(3);

printf("本程序制作人:

董俊明*&*王源标");

hongxin(3);

huanhang

(2);

xinxing();

mima();

}

voidzhuyunxing()

{

huanhang

(2);

getchar();

jiemianshouyu();

huanhang

(1);

kongge(25);

printf("主菜单程序\n");

huanhang

(1);

hongxin(80);

print_caidan();

hongxin(80);

kongge(25);

printf("\n");

printf("现在进入选择模式");

getchar();

xuanzemoshi();

}

voidjiemianshouyu()

{

voidprint_star();

voidprint_huanying();

print_star();

printf("\n");

printf("\n");

print_huanying();

printf("\n");

printf("\n");

print_star();

}

 

voidprint_star()

{

for(inti=0;i<80;i++)

{

if(i%2==0)putchar(003);

elseputchar(004);

}

}

voidprint_huanying()

{

voidkongge(intx);

kongge(10);

printf("************欢迎您进入***蓝$月$亮***日期查询系统**********\n");

}

voidprint_caidan()

{

huanhang(0);

kongge(10);

printf("*******************请选择要进入的模式*********************\n");

huanhang

(2);

kongge(23);

hongxin

(2);

printf("1******$星座$传说$******\n");

huanhang

(2);

kongge(23);

hongxin

(2);

printf("2******$排位$查询$******\n");

huanhang

(2);

kongge(23);

hongxin

(2);

printf("3******$星期$查询$******\n");

huanhang

(2);

kongge(23);

hongxin

(2);

printf("4******$天支$查询$******\n");

huanhang

(2);

kongge(23);

hongxin

(2);

printf("5******$娱乐$工具$******\n");

huanhang

(2);

kongge(23);

hongxin

(2);

printf("6******$退出&程序$******\n");

}

voidhuanhang(inty)

{

for(inta=0;a

printf("\n");

}

voidkongge(intx)

{

inta;

for(a=0;a

printf("");

}

voidxuanzemoshi()

{

voidxingzuo();

voidnongli();

voidtianzhi();

voidxingqi();

voidyule();

voidpaiwei();

intZ;

printf("**提示:

请输入1到6的数,选择你要操作的程序\n");

printf("**请选择您想进行的查询项目,输入菜单数字:

\n");

scanf("%d",&Z);

hongxin(80);

printf("\a");

switch(Z)

{

case

(1):

xingzuo();break;

case

(2):

paiwei();break;

case(3):

xingqi();break;

case(4):

tianzhi();break;

case(5):

yule();break;

case(6):

{printf("谢谢您使用本程序\n"),hongxin(80);}break;

}

}

voidhongxin(intx)

{

for(inta=0;a

putchar(003);

}

voidhunhe(intx)

{

if(x%2==0)

{for(inta=0;a

putchar(004);

}

else

for(inta=0;a

}

 

voidxingzuo()

{voidhongxin(intx);

voidxingzuo3();

printf("欢迎您进入星座传说查询信息");

hongxin(3);

printf("\n请输入回车继续操作\n");

hongxin(3);

getchar();

printf("现在我将为您对星座查询进行简单介绍\n星座日期查询:

十二星座是按阳历也就是公历的日期来进行划分的,首先你得知道你的阳历出生日期,然后输入即可\n");

hongxin(3);

getchar();

printf("欢迎您进入星座查询统\n");

hongxin(80);

printf("\n");

printf("请输入你要查询的日期!

!

!

注意请按照正确的格式输入\n");

printf("例如五月二十四,输入524即可\n");

xingzuo3();

}

voidxingzuo3()

{

voidhongxin(intx);

intriqi;charm;

hongxin(80);

printf("请输入日期\n");

scanf("%d",&riqi);

if(121<=riqi&&riqi<=219)

{hongxin(3);

printf("亲*******您要查询的日期对应星座是水瓶座\n");

hongxin(3);}

if(120>=riqi&&riqi>=0)

{hongxin(3);

printf("您要查询的日期对应星座是魔蝎座\n");

hongxin(3);

}

if(220<=riqi&&riqi<=320)

{hongxin(3);

printf("您要查询的日期对应星座是双鱼座\n");

hongxin(3);

}

if(321<=riqi&&riqi<=420)

{hongxin(3);

printf("您要查询的日期对应星座是白羊座\n");

hongxin(3);

}

if(421<=riqi&&riqi<=521)

{hongxin(3);

printf("您要查询的日期对应星座是金牛座\n");

hongxin(3);

}

if(522<=riqi&&riqi<=621)

{hongxin(3);

printf("您要查询的日期对应星座是双子座\n");

hongxin(3);

}

if(622<=riqi&&riqi<=722)

{hongxin(3);

printf("您要查询的日期对应星座是巨蟹座\n");

hongxin(3);

}

if(723<=riqi&&riqi<=823)

{hongxin(3);

printf("您要查询的日期对应星座是狮子座\n");

hongxin(3);

}

if(824<=riqi&&riqi<=923)

{hongxin(3);

printf("您要查询的日期对应星座是处女座\n");

hongxin(3);

}

if(924<=riqi&&riqi<=1023)

{hongxin(3);

printf("您要查询的日期对应星座是天秤座\n");

hongxin(3);

}

if(1024<=riqi&&riqi<=1122)

{hongxin(3);

printf("您要查询的日期对应星座是天蝎座\n");

hongxin(3);

}

if(1123<=riqi&&riqi<=1221)

{hongxin(3);

printf("您要查询的日期对应星座是射手座\n");

hongxin(3);

}

if(1222<=riqi)

{hongxin(3);

printf("您要查询的日期对应星座是魔蝎座\n");

hongxin(3);

}

hongxin(80);

printf("是否继续进行查询\n****如果是请输入y\n****如果退出请输入n\n");

printf("您的选择是\n");

getchar();

m=getchar();

hongxin(80);

if(m=='y')

xingzuo3();

else

print_caidan();xuanzemoshi();

}

voidsanjiao1(intx)

{

for(inta=0;a

putchar(021);

}

voidsanjiao2(intx)

{

for(inta=0;a

putchar(022);

}

voidtianzhi()

{

voidtianzhi1();

printf("欢迎您进入天支查询\n");

printf("说明:

本系统只支持公元后咨询\n");

tianzhi1();

}

voidtianzhi1()

{

voidhongxin(intx);

intm,n,A;chari;

printf("请输入您想要查询的年份:

\n");

hongxin(80);

scanf("%d",&A);

m=(A-3)%10;n=(A-3)%12;

printf("你要查询的年份是:

\n");

switch(m)

{

case

(1):

printf("甲");break;

case

(2):

printf("乙");break;

case(3):

printf("丙");break;

case(4):

printf("丁");break;

case(5):

printf("戊");break;

case(6):

printf("己");break;

case(7):

printf("庚");break;

case(8):

printf("辛");break;

case(9):

printf("壬");break;

case(0):

printf("癸");break;

}

switch(n)

{

case

(1):

printf("子");break;

case

(2):

printf("丑");break;

case(3):

printf("寅");break;

case(4):

printf("卯");break;

case(5):

printf("辰");break;

case(6):

printf("巳");break;

case(7):

printf("午");break;

case(8):

printf("未");break;

case(9):

printf("申");break;

case(10):

printf("酉");break;

case(11):

printf("戌");break;

case(0):

printf("亥");break;

}

printf("年\n");

hongxin(80);

printf("是否继续进行查询\n如果是请输入y\n如果退出请输入n\n");

printf("\n");

printf("请输入您的选择:

\n");

getchar();

i=getchar();

hongxin(80);

if(i=='y')

tianzhi1();

else

print_caidan();xuanzemoshi();

}

voidyule()

{

voidfeixingqi();

voidshujuchuli();

intp;

hongxin(80);

huanhang

(2);

printf("1:

飞行棋\n");

printf("2:

数据处理\n");

huanhang

(2);

hongxin(80);

printf("请输入1或2进入相应程序\n");

printf("如果您想退出本操作请按“0”。

\n");

scanf("%d",&p);

switch(p)

{

case

(1):

feixingqi();break;

case

(2):

shujuchuli();break;

case(0):

{print_caidan();xuanzemoshi();}break;}}

voidfeixingqi()

{

voidzhishaizi();

charm;

printf("欢迎您进入本游戏请按y进入游戏:

\n");

getchar();

m=getchar();

switch(m)

{case'y':

zhishaizi();break;}

}

voidyouxixuanze()

{

voidzhishaizi();

charm;

printf("是否继续进行游戏\n如果是请选y否则的话请选n\n");

m=getchar();

getchar();

if(m=='y')

zhishaizi();

else

yule();

}

voidzhishaizi()

{voidyouxixuanze();

voidhongxin(intx);

intguocheng(inty);

intsjs();

intn=1,i,j,z=1;charm;

printf("请打回车键。

进行游戏\n");

for(j=0;j<100;n++)

{m=getchar();

i=sjs();

j=guocheng(j);

printf("您所正在的位置是:

%d\n",j);

hongxin(80);}

printf("您一共用<<<%d步>>完成了游戏\n",n);

if(n<40)

printf("亲。

您的运气很适合买彩票啊。

\n");

if(n>40&&n<60)

printf("亲。

您的运气一般老老实实的工作吧。

\n");

if(n>60)printf("亲。

对不起。

您的运气不适合在地球上居住...\n");

getchar();

youxixuanze();

}

intsjs()//此为伪随机数函数

{srand((unsigned)time(NULL));//通过对时间的调用来确定伪随机数,此句摘自网络

inta;

a=rand()%6+1;

return(a);}

intguocheng(inty)

{intsjs();

inthanshu1(intx);

inthanshu2(intx);

inthanshu3(intx);

inthanshu4(intx);

inthanshu5(intx);

inthanshu6(intx);

intm,x;

m=sjs();

switch(m)

{case

(1):

x=hanshu1(y);break;

case

(2):

x=hanshu2(y);break;

case(3):

x=hanshu3(y);break;

case(4):

x=hanshu4(y);break;

case(5):

x=hanshu5(y);break;

case(6):

x=hanshu6(y);break;}

return(x);}

inthanshu1(intx)

{

printf("恭喜您您遇见了丘比特。

可以前进多三步;继续努力啊!

\n");

x=x+3;

return(x);

}

inthanshu2(intx)

{

printf("唉。

运气这么不好。

掉进了陷阱里。

后退5格继续努力啊!

\n");

x=x>5?

(x-5):

(x=1);

return(x);

}

inthanshu3(intx)

{

printf("恭喜你...>..>..你遇上了智慧女神...你可以多前进5步继续努力啊!

\n");

return(x=x+10);

}

inthanshu4(intx)

{

printf("噢。

你很不幸。

踩上了香蕉皮后退5步继续努力啊!

继续努力啊!

继续努力啊!

\n");

return((x-5)>0?

(x-5):

(x=1));

}

inthanshu5(intx)

{

printf("你很幸运。

遇见幸运女神前进十步。

继续努力啊!

\n");

return(x=x+10);

}

inthanshu6(intx)

{

printf("唉,,,,很不幸你遇见了孟利明。

后退3步吧....继续努力啊!

\n");

return((x-3)>0?

(x-3):

(x=1));

}

 

voidshujuchuli()

{voidsort(char*p,intm);

char*p,num[20],q;

printf("本程序功能说明:

数字的排序\n");

hongxin(80);

printf("请您输入你要排序的数的个数\n");

printf("inputn:

");

inti,n;

scanf("%d",&n);

printf("pleaseinputthesenumbers:

\n");

printf("请您输入%d个整数,字符间用空格隔开。

\n",n);

for(i=0;i

scanf("%d",&num[i]);

hongxin(80);

p=&num[0];

sort(p,n);

printf("数字的排序为:

\n");

printf("nowthesequenceis:

\n");

hongxin(80);

for(i=0;i

printf("%d\t",num[i]);

printf("\n");

getchar();

printf("是否继续进行程序\n如果是请选y否则的话请选n\n");

q=getchar();

hongxin(80);

if(q=='y')

shujuchuli();

elseyule();

}

voidsort(char*p,intm)

{inti;

chartemp,*p1,*p2

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

当前位置:首页 > 工程科技 > 能源化工

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

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