Nje zgjidhje e mundshme ne C# perderisa perdoruesi fut kohen ekzakt ne formatin e sakte.
Kodi i C# eshte i perafert me C++ dhe duhet te pershtatet:
Kodi:
using System;
namespace xKoha
{
struct KOHA
{
public int ora;
public int minuta;
public int seconda;
//ngarkojme konstruktorin e struktures
public KOHA(int ora, int minuta, int seconda)
{
this.ora = ora;
this.minuta = minuta;
this.seconda = seconda;
}
}
class Program
{
static void Main(string[] args)
{
//ruajme kohen e pare nga perdoruesi ne nje matrice
Console.WriteLine("Futni kohen e pare ne formatin [12:23:45]:");
string[] t1 = Console.ReadLine().Split(':');
//koha e pare konvertohet ne vlera integer dhe ruhet ne strukture
KOHA k1 = new KOHA(Convert.ToInt16(t1[0]), Convert.ToInt16(t1[1]), Convert.ToInt16(t1[2]));
//ruajme kohen e dyte nga perdoruesi ne nje matrice
Console.WriteLine("Futni kohen e dyte ne formatin [12:23:45]:");
string[] t2 = Console.ReadLine().Split(':');
//koha e dyte konvertohet ne vlera integer dhe ruhet ne strukture
KOHA k2 = new KOHA(Convert.ToInt16(t2[0]), Convert.ToInt16(t2[1]), Convert.ToInt16(t2[2]));
//rezultatin e diferences se kohes nga metoda ruajme ne strukture
KOHA kf = Diferenca(k1, k2);
//rezultatin e diferences e shfaqim ne cmd
Console.WriteLine("Rezultati i diferences:");
Console.WriteLine(String.Format("{0:00}", kf.ora) + ":" +
String.Format("{0:00}", kf.minuta) + ":" +
String.Format("{0:00}", kf.seconda));
//presim input, sa mos te mbyllet cmd
Console.ReadLine();
}
private static KOHA Diferenca(KOHA k1,KOHA k2)
{
//konvertojme ne sekonda kohen e pare nga formati 00:00:00
int s1 = (k1.ora * 3600) + (k1.minuta * 60) + k1.seconda;
//konvertojme ne sekonda kohen e dyte nga formati 00:00:00
int s2 = (k2.ora * 3600) + (k2.minuta * 60) + k2.seconda;
//llogarisim diferencen (Math.Abs = vlere pozitive)
int ts = Math.Abs(s1 - s2);
//konvertojme kohen ne formatin 00:00:00 nga sekondat
int h = ts / 3600;
int m = (ts % 3600) / 60;
int s = (ts % 3600) % 60;
//ruajme rezultatin e kohes ne nje strukture dhe kthejme mbrapa
KOHA kf = new KOHA(h, m, s);
return kf;
}
}
}
Krijoni Kontakt