In fisierul timer.h
1. se declara structura Timer cu proprietatea span de tip int initializata cu 0
2. se declara functia Timer Init(int minute, int secunde)
In fisierul timer.cpp
3. se defineste functia Timer Init(int minute, int secunde)
– declara o variabila result de tip Timer
– calculeaza durata in secunde corespunzatoare parametrilor: minute * 60 + secunde
– initializeaza proprietatea span cu valoarea calculata anterior
– returneaza result
4. se defineste metoda void Print()
– calculeaza numarul de minute ramase in span
– calculeaza numarul de secunde ramase in span (dupa ce s-au scazut minutele)
– daca minute < 10
se tipareste 0
– se tiparesc minutele urmate de : (doua puncte)
– daca secunde < 10
se tipareste 0
– se tiparesc secundele
– se muta cursorul pe linia urmatoare cu \n (nu cu endl)
ATENTIE: cursorul se muta pe linia urmatoare doar la sfarsit
5. se defineste metoda void Tick()
– daca span > 0
se decrementeaza span
– daca span este multiplu de 10
se apeleaza metoda Print()
In fisierul main.cpp
6. se initializeaza variabila demo de tip Timer cu rezultatul returnat de Init(3, 12)
– se apeleaza metoda Print()
– intr-o bucla cu intervalul [0, 175):
se apeleaza metoda Tick()
– dupa terminarea buclei se apeleaza metoda Print()
Eu am scris pana acum asta..(am atasat un fisier)
Anexe:
CinevaFaraNume:
Ce ai scris pana acum nu pare corect sintactic
Răspunsuri la întrebare
Răspuns de
1
timer.h:
struct Timer {
int span = 0;
void Print();
void Init(int minute, int secunde);
void Tick();
};
Timer Init(int minute, int secunde);
timer.cpp:
#include "timer.h"
#include <iostream>
using namespace std;
Timer Init(int min, int s){
Timer t;
t.Init(min,s);
return t;
}
void Timer::Init(int m, int s){
this->span = 60*m + s;
}
void Timer::Print(){
int m = this->span / 60;
int s = this->span % 60;
if(m < 10)cout << '0';
cout << m << ':';
if(s < 10)cout << '0';
cout << s;
cout << '\n';
}
void Timer::Tick(){
if(span > 0)span--;
if(span % 10 == 0)this->Print();
}
main.cpp:
#include "timer.h"
int main(){
Timer demo = Init(3,12);
demo.Print();
for(int i=0; i < 175; i++)
demo.Tick();
demo.Print();
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Studii sociale,
9 ani în urmă
Matematică,
9 ani în urmă