Member 13981927 Ответов: 4

Как я печатаю время в соответствии с хронометражем станции? Например, в 6 вечера будет 18.


int main(){
    int i;
    char a[11];
    for(i=0;i<10;i++)
        cin>>a[i];
    if(a[8]=='a' || a[8]=='A')
    {
        for(i=0;i<=7;i++)
            cout<<a[i];
    }
    else if((a[8]=='P' || a[8]==P) && (a[0]==0) && (a[1]==1 || a[1]=='2' || a[1]=='3' || a[1]=='4' || a[1]=='5' || a[1]=='7' || a[1]==7))
    {
        a[1]=a[1]+2;
        a[0]='1';
        cout<<a;
    }
    else if(a[0]=='0'&& (a[1]=='8'|| a[1]=='9'))
    {
        a[0]='2';
        if(a[1]=='8')
            a[1]='0';
        else
            a[1]='1';
        cout<<a;
    }
    else if(a[0]=='1' &&(a[1]=='0'|| a[1]=='1'))
    {
        a[0]='2';
        if(a[1]==0)
            a[1]=='2';
        else
            a[1]='3';
        cout<<a;
    }        
    else if(a[0]=='1' && a[1]=='2' && (a[8]=='a' || a[8]=='A'))
    {
        cout<<"00:00:00";
        
    }
    else
    {
        cout<<"19:05:n45";
    }
    return 0;
}


Что я уже пробовал:

Я не понимаю, что не так в моем коде? Любая помощь будет оценена по достоинству.

4 Ответов

Рейтинг:
1

Michael Haephrati

struct tm tm = {0};
char s[20]; 

tm.tm_year = ...;
tm.tm_mon = ...;
tm.tm_mday = ...;

strftime(s, 20, "%F %H:%M:%S", &tm);


Рейтинг:
0

Leo Chapiro

Похоже на бестолковость:

> Like 6pm will be 18.

// else if((a[8]=='P' || a[8]==P) && (a[0]==0) && (a[1]==1 || a[1]=='2' || a[1]=='3' || a[1]=='4' || a[1]=='5' || a[1]=='7' || a[1]==7))

 else if((a[8]=='P' || a[8]==P) && (a[0]==0) && (a[1]==1 || a[1]=='2' || a[1]=='3' || a[1]=='4' || a[1]=='5' || a[1]=='6' || a[1]=='7'))


Рейтинг:
0

KarstenK

Ваши строковые операции очень запутанны и должны быть медленными. Вам лучше воспользоваться std::строка класс с его приятными функциями, такими как для ввода.

Если что-то в вашем коде неясно, вы должны установить точку останова и использовать отладчик.

чаевые:
а) используйте identions для лучшей читабельности
б) вам лучше написать несколько комментариев в своем коде, чтобы сделать его более понятным.
в) перезапись входных данных-это не очень хорошая идея, генерируйте выходную строку.