2016-05-17 9 views
0

私はWinCE7を使用しています。特定の入力が可変であるときはいつでも、値を保存する必要があります。t1などです。次に入力が再び高い場合は、t2のような別の変数に時間の値を格納します。 cでこれを行う方法。時間の値を変数に保存して更新する

今、私は以下のようにT1で時間を節約しています:

sprintf(time," %d:%d:%d:%d\n",systemTime.wHour,systemTime.wMinute,systemTime.wSecond,systemTime.wMilliseconds); 

if(input==high) 
{ 
strcpy(t1,time); 
printf("time %s\n",t1); 
} 
+0

「SYSTEMTIME t1、t2; t1 = systemTime; /*...*/ t2 = systemTime; ' –

+0

その変数について少し詳しく説明します。一度それが高くなる変更可能な場合は? – Mazhar

+0

変数は変更できません。入力が2番目に高い場合は、別の変数に時間の値を保存する必要があります。 –

答えて

1

あなたは以下など複数回を格納するための配列を使用することができますは、擬似コードの一種です。あなたの実際のコードに従って変更してください。

char t1[30][20], time[20]; 
int counter = 0 , low=0; 
    while(counter < 30) { 
     sprintf(time," %d:%d:%d:%d\n",systemTime.wHour,systemTime.wMinute,systemTime.wSecond,systemTime.wMilliseconds); 

     if(input==high) 
     { 
     strcpy(t1[counter],time); 
     printf("time %s\n",t1[counter]); 
     //reset the input or whatever 
     input = low; 
     counter++; // change index 
     } 
    } 
0

入力値が高い回数をカウントするには、整数値i = 0を使用します。たとえば、次のようになります。

i = 0; 
if(input==high) 
{ 
i++; 
if(i==1) //Input is high for the first time 
{ 
    strcpy(t1,time); 
    printf("time %s\n",t1); 
} 
if(i==2) //Input is high for the second time 
{ 
    strcpy(t2,time); 
    printf("time %s\n",t2); 
} 
if(i==3) //Input is high for the third time 
{ 
    strcpy(t3,time); 
    printf("time %s\n",t3); 
} 

//same for other 
} 
+0

良い!あなたは自分自身を試しました(Y)。しかし、この方法では命令数が増えます。ループを使用して命令を減らすようにしてください。あなたが作ったロジックは、ループを除いて私と同じです。 – Mazhar

+1

ああええ。ありがとう。私はループでそれを変換します。 –

関連する問題