久久久久久久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://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
中文一区
|
国产一级片精品
|
国产精品乱码一区二三区小蝌蚪
|
狠狠撸在线视频
|
成人在线a
|
国产一区二区三区四区
|
蜜桃臀av一区二区三区
|
台湾av在线
|
久久精品国产99国产精品
|
久久国产精品久久久久久
|
久久精品小视频
|
超碰操
|
欧美黑人体内she精在线观看
|
精品免费国产一区二区三区
|
福利久久
|
亚洲性视频在线
|
一区欧美
|
亚洲一区免费
|
永久精品
|
色花av
|
成人三级在线播放
|
www久久99
|
一区二区av
|
精品中文字幕一区二区
|
日韩精品久久久
|
亚洲欧美视频
|
成人国产精品久久久
|
国产成人99久久亚洲综合精品
|
欧美成人影院
|
国产精品区二区三区日本
|
综合九九
|
亚洲久草视频
|
欧美一区视频在线
|
黄色一级电影在线观看
|
国产欧美一区二区三区在线看
|
欧美日韩精品亚洲
|
午夜电影福利
|
亚洲精品成人
|
日本一道本
|
免费在线成人
|
国产日韩久久
|