Arkadaşlar aşağıdaki programda girilen saat dakika saniyeyi , bizden istediğinde nasıl saat:dakika:saniye şeklinde girebilirim? Mesela, zaman giriniz=12:21:30 gibi.Yardımcı olur musunuz?
Programın görevikullanıcıdan istediği saat:dakika:saniye şeklinde girilen zamanı saniyeye çevirmesi.Her şey tamam ama sadece girilen zamanı istediği şekilde yapamadım.Benim yazdığım program 12 21 30 şeklinde aralarında boşluk olunca çalışıyor.
#include<iostream>
#include<locale.h> // Diller ve karakter setleri kütüphanesi
using namespace std;
// struct - yapı tanımlama
struct zaman {
// yapı üyeleri tanımlama
int saat;
int dakika;
int saniye;
long toplam_saniye;
};
int main() {
// Türkçe karakterleri kullanabilmek için
setlocale(LC_ALL, "Turkish");
// zaman yapı değişkeni tanımlama
zaman gir;
// Kullanıcıdan istenilenleri ekrana yazdırma
cout << "Saat:Dakika:Saniye şeklinde zaman giriniz = ";
//yapı üyelerine değer atama
cin >> gir.saat >> gir.dakika >> gir.saniye;
// Girilen saat:dakika:saniye aralıkların dışındaysa hata ekrana yazdırır
if (gir.saat < 1 || gir.saat>24)
cout << "Girilen saat değeri " << gir.saat << " yanlış girdiniz!" << endl;
if (gir.dakika < 0 || gir.dakika>59)
cout << "Girilen dakika değeri " << gir.dakika << " yanlış girdiniz!" << endl;
if (gir.saniye < 0 || gir.saniye>59)
cout << "Girilen saniye değeri " << gir.saniye << " yanlış girdiniz!" << endl;
// Girilen değerler doğru ise toplam_saniye işlemini yaptırır
if ((gir.saat > 0 && gir.saat<25) && (gir.dakika >=0 && gir.dakika<=59) && (gir.saniye >= 0 && gir.saniye<=59)) {
gir.toplam_saniye = (gir.saat * 3600) + (gir.dakika * 60) + (gir.saniye * 1);
cout << "Toplam = " << gir.toplam_saniye << " saniye"<<endl;
}
system("pause"); // herhangi bir tuşa basarak programı kapatır
return 0;
}