前提・実現したいこと
時間を入力して、その1秒後の時間を表示するプログラムなのですが、秒の部分に+1されません。
条件は
void increment_second(unsigned int *hour, unsigned int *minute, unsigned int *second)
の関数を作り、それを利用してプログラムを動作させるというものです。
発生している問題・エラーメッセージ
時・分・秒を入力してください 時(0~23):23 分(0~59):59 秒(0~59):59 1秒後 23時59分59秒 //←入力したものがそのまま出力される(0時0分0秒となるはず)
関数呼び出しで間違っているようなのですが(関数部分のコードをmain関数内に組み込んだところ正常に動作しました)、正しい表記の方法が分かりません。
該当のソースコード
c
1void increment_second(unsigned int *hour, unsigned int *minute, unsigned int *second){ 2 second ++; 3 if(*second == 60){ 4 *second = 0; 5 *minute++; 6 if(*minute == 60){ 7 *minute = 0; 8 *hour++; 9 if(*hour == 24){ 10 *hour = 0; 11 *second++; 12 } 13 } 14 } 15} 16 17int main(void){ 18 int hour,minute,second; 19printf("時・分・秒を入力してください\n"); 20 printf("時(0~23):"); //scanf("%d", &hour); 21 do{ 22 scanf("%d",&hour); 23 if(hour < 1 || hour > 23) printf("\a1~23で入力"); 24 } 25 while(hour < 1 || hour > 23); 26 27//**************************分と秒は同様なのでカット*************************** 28 29 increment_second(&hour,&minute,&second); //おそらくこの部分が間違っています 30 31 printf("1秒後 %d時%d分%d秒\n\n",hour,minute,second); 32 return 0; 33}
試したこと
思いつく限りはすべて試し、上記のような結論に達しました。ご協力お願いします!
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/24 13:59