Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // zad8Hawryl.cpp : Defines the entry point for the console application.
- //
- /*
- Napisz program, który przekształca czas podany w notacji 24 godzinnej na czas podany w notacji 12 godzinnej.
- Zdefiniuj klasę wyjątku o nazwie NiepoprawnyCzas. Gdy użytkownik wpisze nieistniejącą godzinę program wyrzuci ten wyjątek.
- Przykład działania programu:
- Wpisz godzine w notacji 24-godzinnej:
- 9:00
- Jest to 9:00 rano
- Jeszcze raz? (t/n)
- t
- Wpisz godzine w notacji 24-godzinnej:
- 13:05
- Jest to 1:05 po poludniu
- Jeszcze raz? (t/n)
- n
- Koniec programu
- */
- #include "stdafx.h"
- #include <iostream>
- #include <cstdlib>
- #include <string>
- using namespace std;
- bool funkcja(char charTmp){
- bool jeszczeRaz = false;
- while( !(charTmp == 't' || charTmp == 'n') ){
- cout << "Nie rozpoznano polecenia!" << endl;
- cin >> charTmp;
- }
- if(charTmp == 't') jeszczeRaz = true;
- else if(charTmp == 'n'){
- jeszczeRaz = false;
- }
- return jeszczeRaz;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- bool jeszczeRaz = false, jeszczeRazCalosc = false;
- string czas24;
- char charTmp;
- int pierwszyCzlon;
- int drugiCzlon;
- char tabTmp[1024];
- do{
- do{
- cout << "Wpisz godzine w notacji 24-godzinnej:"<< endl;
- try{
- cin >> czas24;
- strncpy(tabTmp, czas24.c_str(), sizeof(tabTmp));
- pierwszyCzlon = atoi(&tabTmp[0]);
- drugiCzlon = atoi(&tabTmp[3]);
- if( !(pierwszyCzlon>=0 && pierwszyCzlon<24) )throw 0;
- if( !(drugiCzlon>=0 && drugiCzlon<60) )throw 0;
- if(pierwszyCzlon > 12)
- {
- cout << "Jest to " << pierwszyCzlon - 12<< ":" << drugiCzlon << " po poludniu" << endl;
- }
- }catch(int e){
- cout << "Podany czas jest w zlym formacie!!! <[godziny] : [minuty]>"<<endl;
- }
- cout << "Jeszcze raz? (t/n)" << endl;
- cin >> charTmp;
- jeszczeRaz = funkcja(charTmp);
- }while(jeszczeRaz == true);
- if(jeszczeRaz == true)
- {
- cout << "Jeszcze raz? (t/n)" << endl;
- cin >> charTmp;
- jeszczeRazCalosc = funkcja(charTmp);
- }
- }while(jeszczeRazCalosc == true);
- cout << "koniec programu"<< endl;
- getchar();
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment