C++ C++;十进制到时间转换问题

C++ C++;十进制到时间转换问题,c++,C++,我的作业要求我将时间转换为分钟,但时间必须像HH.MM一样插入,中间有一个小数点。所以9:25am将作为9.25输入到程序中。然而,问题是9点25分并不等于9点25分,而是等于9点15分。我还有第二个变量将9.25转换为整数形式,从9中删除.25 我曾尝试将9:25乘以9.25*60,将其转换为分钟,但最终还是会得出错误的答案,因为9.25不等于9:25am cout << "Enter the starting hour of the call cin >&

我的作业要求我将时间转换为分钟,但时间必须像HH.MM一样插入,中间有一个小数点。所以9:25am将作为9.25输入到程序中。然而,问题是9点25分并不等于9点25分,而是等于9点15分。我还有第二个变量将9.25转换为整数形式,从9中删除.25

我曾尝试将9:25乘以9.25*60,将其转换为分钟,但最终还是会得出错误的答案,因为9.25不等于9:25am

    cout << "Enter the starting hour of the call 
    cin >> startTime;

    cout << "Enter the total number of minutes for this call: ";
    cin >> minutes;


    int getwin = startTime; 
    int startHH = getwin / 60; 
    int startMM = getwin % 60;

cout你的问题是你把注意力集中在“小数点”上。它不是小数点,而是分隔符。
您可以输入整个字符串并分别解析小时和分钟(直观的方式),也可以使用cin输入浮点数,如下面的代码所示:

   double input;
   cin >>input;
   int h = (int) input; // the integer part is hours
   double mm = input - h; //the non-integer part is minutes
   mm*=100;// the minutes are less than one ,we have to multiply by 100
   int m = (int) m;

   cout <<h<<":"<<m<<endl;
双输入;
cin>>输入;
int h=(int)输入;//整数部分是小时
双mm=输入-h//非整数部分为分钟
毫米*=100;//分钟不到一分钟,我们必须乘以100
int m=(int)m;

谢谢你,菲尔博士。祝福你。我理解现在乘以100,把小时和分钟分开的概念。