0008. 時間の加算(C言語)

戻る

addtime.cのソースコード】


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char line[100], zz;
    int totaltime = 0, min, sec, inputnum, z;
    
    printf("【音楽CD作成用の時間の加算をします】\n");
    printf("時間値を「m'ss\"」の形式で入力してください。\n");
    printf("(例:3'08\"[Enter]《3分8秒》)\n");
    printf("-1が入力されると入力を終了します。\n\n");
    
    while (1) {
        min = sec = inputnum = 0;
        while (1) {
            printf("時間値は? ");
            fgets(line, sizeof line, stdin);
            sscanf(line, "%d%c", &z, &zz);
            inputnum = sscanf(line, "%d'%d\"%c", &min, &sec, &zz);
            if ((z == -1) && (zz == '\n'))
                return EXIT_SUCCESS;
            else if (inputnum != 3) {
                printf("入力が正しくありません。\n");
                printf("時間値を「m'ss\"」の形式で入力してください。\n");
                continue;
            } else
                break;
        }
        totaltime += min * 60 + sec;
        
        printf("小計: %02d'%02d\"\n", totaltime/60, totaltime%60);
    }
}


addtimeの実行結果】赤字はキーボードからの入力を表す。

D:\test>addtime
【音楽CD作成用の時間の加算をします】
時間値を「m'ss"」の形式で入力してください。
(例:3'08"[Enter]《3分8秒》)
-1が入力されると入力を終了します。

時間値は?[エンター]キー
入力が正しくありません。
時間値を「m'ss"」の形式で入力してください。
時間値は? 3'02"
小計: 03'02"
時間値は? 3'28"
小計: 06'30"
時間値は? 4'53"
小計: 11'23"
時間値は? 4'04"
小計: 15'27"
時間値は? 3'11"
小計: 18'38"
時間値は? 2'45"
小計: 21'23"
時間値は? 2'26"
小計: 23'49"
時間値は? 1'42"
小計: 25'31"
時間値は? 3'56"
小計: 29'27"
時間値は? 3'53"
小計: 33'20"
時間値は? 4'13"
小計: 37'33"
時間値は? 3'35"
小計: 41'08"
時間値は? 4'15"
小計: 45'23"
時間値は? 4'07"
小計: 49'30"
時間値は? 3'51"
小計: 53'21"
時間値は? 3'47"
小計: 57'08"
時間値は? 4'13"
小計: 61'21"
時間値は? 4'24"
小計: 65'45"
時間値は? 4'46"
小計: 70'31"
時間値は? 3'20"
小計: 73'51"
時間値は? 3'00"
小計: 76'51"
時間値は? -1

戻る