crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в множественное объявление проблема
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Влад Дата 8.4.2014, 13:25
  Ну так компилятор же на чистом английском языке пишет, в чем проблема. У тебя же переменные определены два раза, он даже пишет, какие именно и где.

Нет, все-таки бери любые книжки по С/C++ для начинающих и кури до тех пор, пока не будет понятна разница между объявлением и определением (declaration и definition).
astra Дата 8.4.2014, 13:09
 
Цитата(Влад @ 8.4.2014, 11:12) *
Сравни код, предложенный в посте #3, со своим кодом, найди различия и сопоставь их с сообщениями компилятора.

calculate.h
Раскрывающийся текст
#ifndef CALCULATE_H
#define CALCULATE_H


#include <math.h>
#include <complex.h>

#include <stdio.h>

extern float alm, als, am, ak, at, al9 , al, alpr, arg, an,
        bet, bu, bn,
       con, chi, cal, ch, c,
       dx , dx2, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test ,
       x , x1, x2;


extern int icase;
extern int k;

void calculate90();
void calculate95();
void fme1();
void fme2_3();
void fme4_5();
void fme6_7();

void Case1();
void Case2_3();
void Case4_5();
void Case6_7();

#endif // CALCULATE_H


calculate.cpp
Раскрывающийся текст
#include "calculate.h"

float alm, als, am, ak, at, al, alpr, arg, an;
float bet, bu, bn,
       con, chi, cal, ch, c,
       deltx, dn, dx, x, dx2,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x1, x2;

int icase;
int k;

void calculate90()
{    
    if( icase == 2 || icase == 3) fme2_3();
    if( icase == 4 || icase == 5) fme4_5();
    if( icase == 6 || icase == 7) fme6_7();
    fme1();
}

void calculate95()
{    

  
    if( x <= deltx ) calculate90 ();
    if( ps > test ) calculate90 ();
  
}

void fme1()
{
    
    if( fme > 40.0 )
    {
        fm = 0.0;
        calculate95();
    }
    fm =  exp ( - fme );
    calculate95 ();
}


case2_3.cpp
Раскрывающийся текст
#include "calculate.h"
float  alm, als, am, at, al9,
       con, chi,
       deltx,
       f, f1, fg, fx, dfi, Fmin, Fmax,
       gam, gas,
       sim, sum, si,
       x;
int icase, k;

void Case2_3()
{
x = 0.0;
    al9 = - log ( 0.90 );
    deltx = 2.0;
    if( icase == 3)
    {
        dfi = 0.05;
        con = 1.5736879;
        chi = 2.9955;
        alm = 20.0;
        gam = 0.9735;
   }
}



ошибки :
debug/case2_3.o: In function `Z7Case2_3v':
C:\media\bsrv/case2_3.cpp:12: multiple definition of `alm'
debug/case1.o:C:\media\bsrv/case1.cpp:9: first defined here
debug/case2_3.o: In function `Z7Case2_3v':
C:\media\bsrv/case2_3.cpp:12: multiple definition of `als'
debug/case1.o:C:\media\bsrv/case1.cpp:9: first defined here
debug/case2_3.o: In function `Z7Case2_3v':
C:\media\bsrv/case2_3.cpp:13: multiple definition of `at'
debug/case1.o:C:\media\bsrv/case1.cpp:10: first defined here
Влад Дата 8.4.2014, 11:12
  Сравни код, предложенный в посте #3, со своим кодом, найди различия и сопоставь их с сообщениями компилятора.
astra Дата 8.4.2014, 10:19
 
Цитата(Влад @ 8.4.2014, 9:47) *
Вот это вот все:
float alm, als, am, ak, at, al9 = - log ( 0.90 ), al, alpr, arg, an;
float bet,
       con, chi, cal, ch, c,
       dx = 0.001, dx2 = 0.0005, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x = 0.0, x1, x2;
int icase;
int k = 0;
перенести в файл *.cpp. А в твоем файле calculate.h приписать к ним волшебное слово extern. И, кстати, не забудь про стражи включения (guards) в файле *.h. Должно получиться примерно так:
#ifndef __CALCULATE_H__
#define __CALCULATE_H__

#include <complex.h>
#include <stdio.h>

extern float alm, als, am, ak, at, al9, al, alpr, arg, an;
extern float bet,
       con, chi, cal, ch, c,
       dx, dx2, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test,
       x, x1, x2;
extern int icase;
extern int k;

// тут все прочее....
#endif


сделал вот так
calculete.h
Раскрывающийся текст

#ifndef CALCULATE_H
#define CALCULATE_H

#include <math.h>
#include <complex.h>

#include <stdio.h>

extern float alm, als, am, ak, at, al9 = - log ( 0.90 ), al, alpr, arg, an;
extern float bet,
       con, chi, cal, ch, c,
       dx = 0.001, dx2 = 0.0005, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x = 0.0, x1, x2;
extern int icase;
extern int k = 0;
void calculate90();
void calculate95();
void fme1();

void Case1();

#endif // CALCULATE_H



case1.cpp

Раскрывающийся текст
#include "calculate.h"

float alm, als, am, ak, at, al9 , al, alpr, arg, an;
float bet,
       con, chi, cal, ch, c,
       dx, dx2, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test,
       x, x1, x2;

void Case1()
{
    printf( "CASE 1,STATIC REL. WITH SRV\n" );
    printf( "please input static strength alpha\n" );
    scanf( "%f", &alm );
    printf( "please input srv alpha\n" );
    scanf( "%f", &als );
    printf( "please input srv gamma\n" );
    scanf( "%f", &gas );
    printf( "please input Lower strength beta\n" );
    scanf( "%f", &bet );
    printf( "please input load level\n" );
    scanf( "%f", &ak );

    at = ak/gas;

    deltx = 1.0;

    if( bet >= 2.0 ) deltx = 2.0;
    if( ak >= 2.0 ) deltx = 2.0;
    calculate90 ();
}


Раскрывающийся текст
#include "calculate.h"

extern float alm, als, am, ak, at, al9, al, alpr, arg, an;
extern float bet,
       con, chi, cal, ch, c,
       dx , dx2 , deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test,
       x, x1, x2;


extern int icase;
extern int k;

void calculate90()
{
    x = x + dx;
    x1 = x - dx2;
    x2 = x + dx2;
    p1 = exp( - pow( x1/at, als ));
    p2 = exp( - pow( x2/at, als ));
    if( icase == 2 || icase == 3) fme2_3();
    if( icase == 4 || icase == 5) fme4_5();
    if( icase == 6 || icase == 7) fme6_7();
    fme1();
}

void calculate95()
{
    ps = fm * ( p1 - p2 );
    sum = sum + ps;
    if( x <= deltx ) calculate90 ();
    if( ps > test ) calculate90 ();
    k = k + 1;
}

void fme1()
{
    float fme = pow( x/bet, alm);
    if( fme > 40.0 )
    {
        fm = 0.0;
        calculate95();
    }
    fm =  exp ( - fme );
    calculate95 ();
}



.\bsrv\/calculate.h:10:36: warning: 'al9' initialized and declared 'extern' [enabled by default]
..\bsrv\/calculate.h:13:8: warning: 'dx' initialized and declared 'extern' [enabled by default]
..\bsrv\/calculate.h:13:20: warning: 'dx2' initialized and declared 'extern' [enabled by default]
..\bsrv\/calculate.h:18:8: warning: 'test' initialized and declared 'extern' [enabled by default]
..\bsrv\/calculate.h:19:8: warning: 'x' initialized and declared 'extern' [enabled by default]
..\bsrv\/calculate.h:23:12: warning: 'k' initialized and declared 'extern' [enabled by default]
..\bsrv\case1.cpp:3:29: error: redefinition of 'float al9'
..\bsrv\/calculate.h:10:36: error: 'float al9' previously defined here
..\bsrv\case1.cpp:6:8: error: redefinition of 'float dx'
..\bsrv\/calculate.h:13:8: error: 'float dx' previously defined here
..\bsrv\case1.cpp:6:12: error: redefinition of 'float dx2'
..\bsrv\/calculate.h:13:20: error: 'float dx2' previously defined here
..\bsrv\case1.cpp:11:8: error: redefinition of 'float test'
..\bsrv\/calculate.h:18:8: error: 'float test' previously defined here
..\bsrv\case1.cpp:12:8: error: redefinition of 'float x'
..\bsrv\/calculate.h:19:8: error: 'float x' previously defined here
mingw32-make[1]: *** [debug/case1.o] Error 1


чего-то не работает(
Влад Дата 8.4.2014, 9:47
  Вот это вот все:
float alm, als, am, ak, at, al9 = - log ( 0.90 ), al, alpr, arg, an;
float bet,
       con, chi, cal, ch, c,
       dx = 0.001, dx2 = 0.0005, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x = 0.0, x1, x2;
int icase;
int k = 0;
перенести в файл *.cpp. А в твоем файле calculate.h приписать к ним волшебное слово extern. И, кстати, не забудь про стражи включения (guards) в файле *.h. Должно получиться примерно так:
#ifndef __CALCULATE_H__
#define __CALCULATE_H__

#include <complex.h>
#include <stdio.h>

extern float alm, als, am, ak, at, al9, al, alpr, arg, an;
extern float bet,
       con, chi, cal, ch, c,
       dx, dx2, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test,
       x, x1, x2;
extern int icase;
extern int k;

// тут все прочее....
#endif
Iron Bug Дата 8.4.2014, 9:46
  а тут нечего понимать. определение любой переменной может присутствовать только один раз. поэтому нельзя объявления переменных засовывать в заголовочники. это основы С/С++. читать Страуструпа или любые книжки по С/C++ для начинающих до тех пор, пока не будет уяснено определение переменной и её предварительное определение.
astra Дата 8.4.2014, 9:24
  Приветсвую, нужно срочно решить ошибки:
есть файл:
Раскрывающийся текст

#include <complex.h>
#include <stdio.h>
float alm, als, am, ak, at, al9 = - log ( 0.90 ), al, alpr, arg, an;
float bet,
       con, chi, cal, ch, c,
       dx = 0.001, dx2 = 0.0005, deltx, dn,
       fm, f, f1, f2, fg, fx, dfi, fme, Fmin, Fmax,
       gam, gas, gal,
       ps,  p1, p2, pl, pm,
       sim, sum, sigu, si, siga, sigr,
       test = 0.0000001,
       x = 0.0, x1, x2;
int icase;
int k = 0;
void calculate90();
void calculate95();
void fme1();
void fme2_3();
void fme4_5();
void fme6_7();

void Case1();
void Case2_3();
void Case4_5();
void Case6_7();




файл.cpp
Раскрывающийся текст

#include "calculate.h"
void Case1()
{
    printf( "CASE 1,STATIC REL. WITH SRV\n" );
    printf( "please input static strength alpha\n" );
    scanf( "%f", &alm );
    printf( "please input srv alpha\n" );
    scanf( "%f", &als );
    printf( "please input srv gamma\n" );
    scanf( "%f", &gas );
    printf( "please input Lower strength beta\n" );
    scanf( "%f", &bet );
    printf( "please input load level\n" );
    scanf( "%f", &ak );

    at = ak/gas;

    deltx = 1.0;

    if( bet >= 2.0 ) deltx = 2.0;
    if( ak >= 2.0 ) deltx = 2.0;
    calculate90 ();
}



и еще один файл.сpp
Раскрывающийся текст

#include "calculate.h"
void calculate90()
{
    x = x + dx;
    x1 = x - dx2;
    x2 = x + dx2;
    p1 = exp( - pow( x1/at, als ));
    p2 = exp( - pow( x2/at, als ));
    if( icase == 2 || icase == 3) fme2_3();
    if( icase == 4 || icase == 5) fme4_5();
    if( icase == 6 || icase == 7) fme6_7();
    fme1();
}
void calculate95()
{
    ps = fm * ( p1 - p2 );
    sum = sum + ps;
    if( x <= deltx ) calculate90 ();
    if( ps > test ) calculate90 ();
    k = k + 1;
}

void fme1()
{
    float fme = pow( x/bet, alm);
    if( fme > 40.0 )
    {
        fm = 0.0;
        calculate95();
    }
    fm =  exp ( - fme );
    calculate95 ();
}




выдаёт вот такое :
Раскрывающийся текст

debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:5: multiple definition of `alm'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:5: multiple definition of `als'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:6: multiple definition of `am'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:6: multiple definition of `ak'
debug/main.o:C:\media\build/../bsrv/main.cpp:7: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:6: multiple definition of `at'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o:case1.cpp:(.data+0x0): multiple definition of `al9'
debug/main.o:main.cpp:(.data+0x0): first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:7: multiple definition of `al'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:7: multiple definition of `alpr'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:7: multiple definition of `arg'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `an'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `bet'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `con'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `chi'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:8: multiple definition of `cal'
debug/main.o:C:\media\build/../bsrv/main.cpp:8: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:9: multiple definition of `ch'
debug/main.o:C:\media\build/../bsrv/main.cpp:10: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:9: multiple definition of `c'
debug/main.o:C:\media\build/../bsrv/main.cpp:10: first defined here
debug/case1.o:case1.cpp:(.data+0x4): multiple definition of `dx'
debug/main.o:main.cpp:(.data+0x4): first defined here
debug/case1.o:case1.cpp:(.data+0x8): multiple definition of `dx2'
debug/main.o:main.cpp:(.data+0x8): first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:9: multiple definition of `deltx'
debug/main.o:C:\media\build/../bsrv/main.cpp:10: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `dn'
debug/main.o:C:\media\build/../bsrv/main.cpp:11: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `fm'
debug/main.o:C:\media\build/../bsrv/main.cpp:11: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `f'
debug/main.o:C:\media\build/../bsrv/main.cpp:11: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `f1'
debug/main.o:C:\media\build/../bsrv/main.cpp:12: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:10: multiple definition of `f2'
debug/main.o:C:\media\build/../bsrv/main.cpp:12: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:11: multiple definition of `fg'
debug/main.o:C:\media\build/../bsrv/main.cpp:12: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:11: multiple definition of `fx'
debug/main.o:C:\media\build/../bsrv/main.cpp:13: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:11: multiple definition of `dfi'
debug/main.o:C:\media\build/../bsrv/main.cpp:13: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `fme'
debug/main.o:C:\media\build/../bsrv/main.cpp:13: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `Fmin'
debug/main.o:C:\media\build/../bsrv/main.cpp:14: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `Fmax'
debug/main.o:C:\media\build/../bsrv/main.cpp:14: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `gam'
debug/main.o:C:\media\build/../bsrv/main.cpp:14: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:12: multiple definition of `gas'
debug/main.o:C:\media\build/../bsrv/main.cpp:15: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:13: multiple definition of `gal'
debug/main.o:C:\media\build/../bsrv/main.cpp:15: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:13: multiple definition of `ps'
debug/main.o:C:\media\build/../bsrv/main.cpp:15: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:13: multiple definition of `p1'
debug/main.o:C:\media\build/../bsrv/main.cpp:16: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `p2'
debug/main.o:C:\media\build/../bsrv/main.cpp:16: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `pl'
debug/main.o:C:\media\build/../bsrv/main.cpp:16: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `pm'
debug/main.o:C:\media\build/../bsrv/main.cpp:17: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `sim'
debug/main.o:C:\media\build/../bsrv/main.cpp:17: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:14: multiple definition of `sum'
debug/main.o:C:\media\build/../bsrv/main.cpp:17: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:15: multiple definition of `sigu'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:15: multiple definition of `si'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:15: multiple definition of `siga'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `sigr'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o:case1.cpp:(.data+0xc): multiple definition of `test'
debug/main.o:main.cpp:(.data+0xc): first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `x'
debug/main.o:C:\media\build/../bsrv/main.cpp:19: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `x1'
debug/main.o:C:\media\build/../bsrv/main.cpp:20: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `x2'
debug/main.o:C:\media\build/../bsrv/main.cpp:20: first defined here
debug/case1.o: In function `Z5Case1v':
C:\media\build/../bsrv/case1.cpp:16: multiple definition of `icase'
debug/main.o:C:\media\build/../bsrv/main.cpp:20: first defined here
debug/case1.o: In function `Z5Case1v':


Help me... как исправить? что не так делаю... никогда этого не понимал(
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 7.5.2024, 19:40