久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
C語言結構體數組中sys_ctr_sys.preNum存入708三位數分拆時丟失0?
[打印本頁]
作者:
3602755618
時間:
2025-4-25 09:37
標題:
C語言結構體數組中sys_ctr_sys.preNum存入708三位數分拆時丟失0?
//將整數各位取出存放數組
//num: 轉換的整數
//buf: 轉換后存儲到數組內
//返回值: 整數的長度
unsigned char int_to_array(unsigned int num)
{
unsigned char cnt = 0;
if(num != 0) // 傳入的數據不為0
{
while(num != 0)
{
num /= 10; //num = 789
cnt ++; //記錄這個數是幾位數
}
}
else //傳入的數據為0
cnt ++;
return cnt;
}
//獲取第1個計算書并顯示
void get_pre_num_show(void)
{
unsigned char tempbuf[SMG_SHOW_BITNUM] = {0}; //保存數碼管顯示
unsigned char key_cnt; //存儲按鍵按下的次數
// unsigned char j; //循環變量
unsigned char b;
unsigned char SIGN;
unsigned int Num; //獲取矩陣按鍵的按鍵值
while(1)
{
if(key_cnt == 0) //還未輸入數,顯示0
{
DisplayData[0] = 0;
}
//8位輸入有效
Num = Key_GetState();
if(key_cnt == 0 && Num !=16)
DisplayData[0] = 16;
if(key_cnt < SMG_SHOW_BITNUM)
{
//獲取0~9數值
switch(Num)
{
//7,8,9
case 0:
case 1:
case 2: tempbuf[key_cnt] = Num + 7;Display(tempbuf[key_cnt]);sys_ctr_sys.preNum = sys_ctr_sys.preNum*10 + (Num + 7);
key_cnt ++;break;
//5,6,7
case 4:
case 5:
case 6: tempbuf[key_cnt] = Num;Display(tempbuf[key_cnt]);sys_ctr_sys.preNum = sys_ctr_sys.preNum*10 + Num;
key_cnt ++;break;
// //1,2,3
case 8:
case 9:
case 10: tempbuf[key_cnt] = Num - 7;Display(tempbuf[key_cnt]);sys_ctr_sys.preNum = sys_ctr_sys.preNum*10 + (Num - 7);
key_cnt ++;break;
//第一個輸入顯示0,則后面再輸入0還是顯示0
case 12:if(key_cnt == 0)
tempbuf[key_cnt] = Num - 12;
else
{
tempbuf[key_cnt] = Num - 12;Display(tempbuf[key_cnt]);
key_cnt ++;
}
break;
// //清零
case 13:key_cnt = 0;
for(b = 0;b < SMG_SHOW_BITNUM;b++)
{
tempbuf[b] = 0;
}
DisplayClear();
SIGN = 0;
break;
//符號
case 3:DisplayClear();SIGN = 1;sys_ctr_sys.sign = SIGN_ADD;DisplayData[0] = 10;break; // + A
case 7:DisplayClear();SIGN = 2;sys_ctr_sys.sign = SIGN_MIN;DisplayData[0] = 11;break; // - B
case 11:DisplayClear();SIGN = 3;sys_ctr_sys.sign = SIGN_MUL;DisplayData[0] = 12;break; // * C
// case 14:DisplayClear();SIGN = 5;sys_ctr_sys.sign = SIGN_EQUAL;DisplayData[0] = 14;break; // = E
case 15:DisplayClear();SIGN = 4;sys_ctr_sys.sign = SIGN_DIV;DisplayData[0] = 13;break; // / D
default:break;
}
// smg_display(smgbuf,SMG_SHOW_BITNUM + 1 - key_cnt);
}
if(SIGN != 0) //有符合鍵按下
// {
// for(j = 0;j<key_cnt; j++) //將數組內數整合為一個整數
// {
// sys_ctr_sys.preNum += tempbuf[j]*num_pow(10,key_cnt - 1 - j); //789=0+7*10^2+8*10^1+9
// }
//// sys_ctr_sys.preNum += sys_ctr_sys.curNum;//?
break;
// }
}
}
void get_num_show()
{
unsigned int tempbuf[SMG_SHOW_BITNUM] = {0}; //保存數碼管顯示
unsigned char bitnum;
long rnum;
unsigned char j; //循環變量
long n;
unsigned char i;
DisplayData[0] = 16;
Delay2000ms();
bitnum = int_to_array(sys_ctr_sys.preNum); //789,bitnum = 3;
rnum = sys_ctr_sys.preNum;
if(rnum != 0) // 傳入的數據不為0
{
i=bitnum -1;
while(rnum != 0)
{
n = rnum % 10;
if(n == 0)
tempbuf[i] = 0;
else
tempbuf[i] = n; //將各個位的數賦值于數組tempbuf[j],789
rnum /= 10; //現在數組tempbuf[j]記錄的是各個位上的數的反序
i--;
}
}
for(j = 0;j < bitnum;j ++)
{
Display(tempbuf[j]);
}
while(1);
}
復制代碼
作者:
powerdruy
時間:
2025-4-25 15:44
結構體聲明在哪?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
女生羞羞网站
|
久久久久国产一区二区三区不卡
|
成人在线一区二区
|
黄色毛片在线观看
|
色综合一区二区
|
国产成人综合在线
|
亚洲v日韩v综合v精品v
|
男人av网
|
日本在线视
|
91婷婷韩国欧美一区二区
|
日韩精品在线网站
|
欧美精品综合在线
|
精品视频在线播放
|
亚洲成人动漫在线观看
|
久久久久久国产免费视网址
|
日韩毛片在线观看
|
久久久国产一区二区三区
|
国产精品久久久久久久久污网站
|
最新日韩在线
|
午夜欧美
|
av网站观看
|
中文字幕在线观看第一页
|
www.av在线
|
成人精品一区二区
|
亚洲国产一区二区三区在线观看
|
国产成人久久av免费高清密臂
|
精品国产一级
|
日韩午夜
|
亚洲视频三区
|
久久久久久久久久一区二区
|
97精品超碰一区二区三区
|
国产精品一区在线
|
97精品国产97久久久久久免费
|
成人在线精品视频
|
成年人网站在线观看视频
|
久久精品中文
|
中文字幕第7页
|
精品国产色
|
a黄在线观看
|
奇米超碰
|
久久精品一级
|