c语言第二次大作业答案,C语言第二次大作业

《C语言第二次大作业》由会员分享,可在线阅读,更多相关《C语言第二次大作业(29页珍藏版)》请在人人文库网上搜索。

1、C语言第二次大作业班级:机电*学号:*姓名:*一、题目1、基于VC6编写一个简易菜单驱动(简易的闪烁菜单)的程序,实现求解三角形面积、一元二次方程根、判断素数、退出四个功能。要求界面友好,光标控制(光标所在行对应文字闪烁显示),按回车键进入相应的功能,其中求解三角形面积功能中有一个子菜单以实现三种不同解法并可以返回主菜单。至少定义5个函数,可适当加入一些趣味函数提高趣味性。2、基于KEIL编写一个控制单片机实验系统V2数码管动态显示本人学号的程序。 应用设想:某些店面门口可以动态显示订餐、订货电话,为消费者提供便利。当然,点阵显示效果更好,不仅可以显示数字还可以显示字母、文字。二、题目分析及算。

2、法1、 该题要求实现光标控制的闪烁菜单,并且有一个子菜单。该题主要是对模块化程序设计进行训练。菜单实现四种不同的功能可使用switch-case函数实现(本程序的选择分支结构均可使用该函数),为使界面友好可定义一个光标定位函数使得光标先到相应行和列再执行程序语句。闪烁菜单可在静态菜单的基础上根据定义好的静态菜单返回的不同的函数值,巧妙结合延时函数间歇性输出菜单选项,实现闪烁。编程时应注意数据类型(全局变量、局部变量、静态变量(关键字Static)的使用。此外还有return、break,continue、exit()、while语句、if语句、kbhit()、getch()等函数的使用。求解三。

3、角形面积算法:要求实现三种不同解法(已知三边(首先要判断输入的三边长能否构成三角形)、已知两边及其夹角,已知底和对应的高)。解法一要注意函数sin()的用法!判断素数算法: 素数(质数)指在大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。这里可以利用for循环语句定义一个判断素数的函数。求解一元二次方程算法:设a, b, c分别为二次项系数、一次项系数和常数。当a=0时该方程不是一元二次方程,当a0时分0,=0 三种情况,其中0输出实解x1、x24、返回主菜单#include #include #include #include #def。

4、ine pi 3.#define UP 72#define DOWN 80#define ENTER 13void screen(char ch); /函数说明void delay(void);void gotoxy(int x,int y);int menu(int cur);int Menu(int cur);void displaymenu(int cu);void displaymenu(int cu);void keyscan(void);void Keyscan(void);void sanbian(void);void lbjj(void);void dhg(void);void。

5、 exec(void);void Exec(void);void Area(void);int IsPrime(int m);void jfch(void);void prime(void);void clear(void);void clear1(void);int cursor=1,tcqq; /全局变量的定义void delay(void) /定义一个延时函数int i,j;for(i=0;ic & a+cb & b+ca)s=0.5*(a+b+c);mj=sqrt(s*(s-a)*(s-b)*(s-c);gotoxy(23,20);printf(Area=%f,mj);elsegoto。

6、xy(23,20);printf( 不能构成三角形哦!,亲! n);void lbjj(void)float mj,a,b,angle;gotoxy(23,18);printf(请输入三角形两边及其夹角:);scanf(%f%*c%f%*c%f,&a,&b,&angle);mj=0.5*a*b*sin(pi*angle/180);gotoxy(23,20);printf(Area=%f,mj);void dhg(void)float a,h,mj;gotoxy(23,18);printf(请输入三角形底边和对应的高:);scanf(%f%*c%f,&a,&h);mj=0.5*a*h;gotox。

7、y(23,20);printf(Area=%f,mj);void Area(void)/定义求解三角形面积函数while(1)tcqq=0;menu(cursor);displaymenu(cursor);keyscan();if(tcqq=1)break;else continue;int IsPrime(int m) /判断M是否为素数,是返回1,不是返回0int i;if(m0)x1=(-b/2.0)/a+sqrt(b*b-4*a*c)/(2*a);x2=(-b/2.0)/a-sqrt(b*b-4*a*c)/(2*a);gotoxy(23,14);printf(实根分别为:x1=%f x。

8、2=%f n,x1,x2);else x1=-b/(2*a);gotoxy(23,14);printf(相同实根x2=x1=%fn,x1);int Menu(int cur) /定义主菜单函数int cu;static int flag=1;if(flag=1)gotoxy(23,5);screen(3);delay();printf(请使用并按回车键选择相应功能);delay();screen(3);putchar(n);gotoxy(23,6);printf(1、求解三角形的面积);gotoxy(23,7);printf(2、判断素数);gotoxy(23,8);printf(3、求解一元。

9、二次方程);gotoxy(23,9);printf(4、退出程序);flag=0;switch (cur)case 1:gotoxy(23,6);cu=1;break;case 2:gotoxy(23,7);cu=2;break;case 3:gotoxy(23,8);cu=3;break;case 4:gotoxy(23,9);cu=4;break;return cu;void displayMenu(int cu) /定义主菜单闪烁函数switch(cu)case 1:gotoxy(23,6);printf(1、);delay();gotoxy(23,6);printf(1、求解三角形的面。

10、积);break;case 2:gotoxy(23,7);printf(2、);delay();gotoxy(23,7);printf(2、判断素数);break;case 3:gotoxy(23,8);printf(3、);delay();gotoxy(23,8);printf(3、求解一元二次方程);break;case 4:gotoxy(23,9);printf(4、 );delay();gotoxy(23,9);printf(4、退出程序);break;void main(void)while(1)Menu(cursor);displayMenu(cursor);Keyscan();2。

11、、#include /包含头文件#define uchar unsigned charvoid delay(void);sbit K1=P26; /对控制四个数码管的引脚进行定义sbit K2=P37;sbit K3=P27;sbit K4=P21;uchar SEG=0x9f,0xd0,0x9f,0x8b,0x91,0xd0,0xd0,0x9f; /定义数码管字型码数组void delay(void) uchar a,b;for(b=80;b0;b-)for(a=75;a0;a-);void main()uchar i;for(i=0;i100;i+) K1=K2=K3=K4=1;K4=0;。

12、P1=SEG0;delay();delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K3=0;P1=SEG0;delay();K1=K2=K3=1;K4=0;P1=SEG1;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K4=0;P1=SEG0;delay();K1=K2=K4=1;K3=0;P1=SEG1;delay();K1=K3=K4=1;K2=0;P1=SEG2;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG0;delay();K1=K3=K4=1;K2=0;P1=SEG1;del。

13、ay();K2=K1=K4=1;K3=0;P1=SEG2;delay();K3=K1=K2=1;K4=0;P1=SEG3;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG1;delay();K1=K3=K4=1;K2=0;P1=SEG2;delay();K2=K1=K4=1;K3=0;P1=SEG3;delay();K3=K1=K2=1;K4=0;P1=SEG4;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG2;delay();K1=K3=K4=1;K2=0;P1=SEG3;delay();K。

14、2=K1=K4=1;K3=0;P1=SEG4;delay();K3=K1=K2=1;K4=0;P1=SEG5;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG3;delay();K1=K3=K4=1;K2=0;P1=SEG4;delay();K2=K1=K4=1;K3=0;P1=SEG5;delay();K3=K1=K2=1;K4=0;P1=SEG6;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG4;delay();K1=K3=K4=1;K2=0;P1=SEG5;delay();K2=K1=K。

15、4=1;K3=0;P1=SEG6;delay();K3=K1=K2=1;K4=0;P1=SEG7;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG5;delay();K1=K3=K4=1;K2=0;P1=SEG6;delay();K1=K2=K4=1;K3=0;P1=SEG7;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG6;delay();K1=K3=K4=1;K2=0;P1=SEG7;delay();for(i=0;i100;i+)K1=K2=K3=K4=1;K1=0;P1=SEG7;de。

16、lay();五、调试过程及运行结果1、此程序调试过程极其繁杂,调试需一遍遍进入自定义函数,过程非常漫长、复杂。现给出几个主要函数的调试过程:Menu()函数:Step into Menu()函数后,光标在“1、”下间歇闪烁:displayMenu()函数:Step into displayMenu( )函数,单步可见“1、求解三角形面积”行从“隐身”到显现:这样,在计算机执行程序时的高速运行下,人眼看到的是“闪烁”效果。Keyscan()函数:使用光标键操控菜单,在“求解三角形面积”下按回车进入:进入二级菜单:执行一次计算:返回主菜单:、运行结果: 连续求解三角形面积: 连续判断素数: 多次解。

17、一元二次方程:观看视频效果:http:/yunpan.cn/QiFHp9kq7DdXy 访问密码 49d02、数码管从右往左流动显示学号:,现附上运行照片:观看视频效果:http:/yunpan.cn/QiFHX8LYKHCac 访问密码 3185六、心得体会首先,很高兴第二次大作业基本完成,其次,我要对本次作业进行总结和反思。本次C语言设计作业主要是对模块化设计、自定义函数的使用的训练,使得复杂的程序结构清晰、可读性强,但是这种思想是要慢慢悟的。第二个V2实验系统硬件作业把软、硬件结合起来了,更注重实用性操作技能,通过这次作业我更好地理解了单片机及其应用。记得做这个C作业,除了上课和基本起居。

18、、休息,我连续做了一天半,多数时间在上机,今天又花了好几个小时编辑这份文档。这之中有难过、有欣喜、有埋怨、有想放弃、有挫败感、有成就感我觉得这之中最重要的是放平心态,静下心来。的确,寝室里有各种各样的声音,但是我发现当我真正静下心来、心无旁骛的时候,那种感觉是多么的美好、可贵,时间也过得快了、过得充实而有意义了。“大学,就是要大大的学!”还记得院长在12年新生开学典礼上的这句话,想想自己近2年的大学生活,真正的学习又有几次?虽然,目前为止期末考试成绩基本上位列第一,但我觉得为应付考试而学是没有多大意义的。以后的学习中要更主动、更努力才行啊!平时也常常和自己做思想斗争,偶偶“学”占上风,但大多数。

19、“玩”占上风,这是一种病,得治!明天就是母亲节了,有时候想想还挺对不住父母、对不住大学时光、对不住自己。一名成功的学生,必然忍受着寂寞,以书为友、以学为乐!人是很奇怪的动物,“人之初,性本善”,在这里,我想说人之初,性本惰,不逼自己一把你拿什么来进步?最后,感谢工学院存在这么一位默默感化着无数学子的院长!还有,由于学时有限我觉得上课时老师多讲知识点比较好,习题检查意义不大,有心者自会解决、无心者自有妙计来应付。针对某道习题进行深入讲解也很好,收益比较大。参考文献: 老师上课所讲、课程网站简易菜单范例程序、单片机教程2014年5月10日15:36:50补充:最近发现上述C程序存在一个漏洞,第二次进入求解三角形面积子菜单时,只闪烁显示第一行“已知三边求三角形面积”,但使用、后,光标第一次达到某行则重新闪烁显示。原因是自定义clear()函数的使用,可惜修改未果。而且此程序比较冗杂,有待改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值