赞
踩
第十四届国赛的参数调节部分与以往不同,出现了负参数。由于平时这类参数都使用的是unsigned int和unsigned char类型,因此突然遇到负数会让人感到有些困惑。下面提供一个实例以供参考。
代码中的“voltage”是需要使用按键调节的电压参数,其阈值为-5V至5V。通过以下程序,可以实现按下按键一次,电压参数自增0.5V,超过5V时切换至-5V。为了方便数码管显示,abs((int)(voltage10)/10)用于获取电压参数的整数部分,abs((int)(voltage10)%10)则获取小数部分。通过判断“voltage”是否小于0,可以让数码管在电压参数为负数时显示负号。
- #include <stdio.h>
- #include <math.h>
-
- char keyboard;
- float voltage = 0; // -5v-5v
-
- void test()
- {
- keyboard = getchar();
- if( keyboard == 'k' ) //按键被按下
- {
- voltage += 0.5;
- if( voltage == 5.5 ) //范围控制 电压参数-5v-5v
- voltage = -5;
- printf("voltage:%f\r\n",voltage);
- printf("%d",(int)(voltage*10));
- if(voltage < 0) printf("是负数\t");
- else printf("是正数\t");
- printf("个位是%d\t",abs((int)(voltage*10)/10));
- printf("小数位是%d\r\n",abs((int)(voltage*10)%10));
- }
- }
-
- int main()
- {
- while(1)
- {
- test();
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。