Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: De la x la y  (Citit de 1122 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
dannycolours
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« : Martie 18, 2014, 16:21:13 »

Deci .. incerc sa fac un program care sa indice cat timp este intre ora x si ora y....
Eu am trecut orele in secunde ... le-am scazut.. si mi-a dat secundele intervalului..
am scazut cate o secunda iar la fiecare 60 secunde scazute am crescut am crescut un minute.... cele ramas sunt secundele
Daca minutele sunt peste sau egale cu 60 am facut la fel ca si cu secundele pt a afla orele...
Insa nu stiu ce nu merge..
Programul mai jos... Vreau sa stiu unde am gresit aici ,, nu sa-l faca cineva ...stiu sa continui si vreau sa-l fac singur .. Dar chiar nu stiu de ce nu merge din ce am facut pana acum.


#include <iostream>

using namespace std;

int main()
{ int o,m,s,o2,m2,s2,p2,p,d,nr=0,nr2=0,g=0,g1=0;
cin>>o>>m>>s>>o2>>m2>>s2;
o=o*3600; m=m*60; p=o+m+s;
o2=o2*3600; m2=m2*60; p2=o2+m2+s2;
if(p2>p)
{d=p2-p;
if(d>=60)
{while(d!=0)
{d--;
nr++; //secundele
if(nr=60)
{g++;
nr=0;}}}
if(g>=60)
{while(g!=0)
{g--; //minutele
nr2++;
if(nr2=60)
{g1++; //orele
g=0;}}}
else
g1=0;}
cout<<g1<<" "<<g<<" "<<nr;
return 0;
}
Memorat
romyk
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #1 : Martie 18, 2014, 20:50:52 »

nu imi prea place metoda folosita de time dar uite codul:
Cod:
#include <iostream>

using namespace std;

int main(){
    int o,m,s,o2,m2,s2,p2,p,d,nr=0,nr2=0,g=0,g1=0;
    cin>>o>>m>>s>>o2>>m2>>s2;
    o=o*3600;
    m=m*60;
    p=o+m+s;
    o2=o2*3600;
    m2=m2*60;
    p2=o2+m2+s2;
   
    if(p2>p){
        d=p2-p;
        if(d>=60){   
           while(d!=0){
              d--;
              nr++;
              if(nr==60){//asa se verifica o egalitate
                  g++;
                  nr=0;
              }
            }
        }
        if(g>=60){
            while(g!=0){
                g--;
                nr2++;
                if(nr2==60){//asa se verifica o egalitate
                    g1++;
                    nr2=0; //resetezi minutele
                }
            }
        }
        else
            g1=0;

    }
   
    cout<<g1<<" "<<nr2<<" "<<nr;
    return 0;
}


Incearca pe viitor sa ai mai organizat codul fiindca la felul cum l-ai scris tu e o durere de cap ca sa inteleaga cineva ce faci.

uite alta metoda de a transforma secundele in ore si minute:
Cod:
#include <iostream>

using namespace std;

int main()
{   int o,m,s,o2,m2,s2,p2,p,d,nr=0,nr2=0,g=0,g1=0;
    cin>>o>>m>>s>>o2>>m2>>s2;
    o=o*3600; m=m*60; p=o+m+s;
    o2=o2*3600; m2=m2*60; p2=o2+m2+s2;
    if(p2>p){
        d=p2-p;
        g1=d/3600;
        d=d%3600;
        g=d/60;
        d=d%60;
    }
cout<<g1<<" "<<g<<" "<<d;
return 0;
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines