以分钟和秒C ++输出时间

时间:2016-10-23 22:28:31

标签: c++

首先,我知道家庭作业被人看不起,但我不是要求任何人为我完成这项工作,只是为了引导一点。我看过网上但是答案各不相同,因为我是新手,所以有点混乱。

我需要制作一个程序,用户输入蜗牛的名字以及完成一圈赛道所需的时间......这个时间需要在几秒钟内完成,但是在几分钟和几秒钟内完成

目前有;

#include<stdio.h>
#include<string>

int main() {


    char snail_name[15] = "";
    char time_taken[1000] = "";

    printf("\nEnter name of snail: ");
    scanf("%s", &snail_name);
    printf("Time to finish course:");
    scanf("%s", &time_taken);
    printf("%s ran the course in\n", &snail_name,&time_taken);
}

目前有:

image

这意味着我需要它说5分钟内运行该课程(例如输入300),虽然代码目前不适用但我可能想出来,只需要知道我怎么样转换用户输入的数字,以分钟和秒显示。

2 个答案:

答案 0 :(得分:2)

将整个时间作为整数而不是字符串接受,然后你可以将它除以60得到整分钟和60的模数来得到剩余的秒数:

#include <stdio.h>
#include <string>

int main() {
    char snail_name[15] = "";
    int time_taken = 0;

    printf("\nEnter name of snail: ");
    scanf("%15s", snail_name);
    printf("Time to finish course:");
    scanf("%d", &time_taken);
    printf("%s ran the course in %d:%d\n", &snail_name, time_taken / 60, time_taken % 60);

    return 0;
}

答案 1 :(得分:0)

我知道您有一个合适的答案,但如果您正在学习C++,请使用iostream代替来自printf的{​​{1}}和scanf。< / p>

C

如果作业声明您必须使用#include <iostream> int main() { std::string snail_name; int time_taken = 0; std::cout << "Enter name: "; std::cin >> snail_name; std::cout << "Time to finish: "; std::cin >> time_taken; std::cout << snail_name << " ran the course in " << time_taken / 60 << ":" << time_taken % 60 << std::endl; } printf,那么您可以忽略此答案。但一般情况下,我建议您在尝试学习scanf时尽量使用C++

我关联来自CppCon 2015: Kate Gregory “Stop Teaching C"的视频(您甚至可以将链接传递给讲师/老师)