Gå til innhold

trenger hjelp til en C++ oppgave


Gjest

Anbefalte innlegg

Videoannonse
Annonse

Er vell kanskje litt drøyt at en eller annen random skal gjøre din øving i IMT1031 - Grunnleggende programmering, hadde du derimot startet og heller kommet med spesifikke spm etterhvert så kommer det kanskje noen svar og det er nok på den måten en burde gjøre for å lære seg programmering (... eller jeg lærte meg dog)

 

dette svaret er ment som hjelp ikke kritikk, så ikke ta det feil måte at jeg ikke svarer på hele oppgaven :p men som tips start og kom med spm etterhvert ;)

Endret av kvisvik
Lenke til kommentar

Ser det er en annen her inne på forumet som også driver med samme oppgave hehe

 

Vel hadde vært fint om jeg fikk hjelp ja, vært mye sjuk i det siste og trenger å kjøpe meg tid..

 

men hvis ingen vil, men vil kun hjelpe med råd og tips så prøver jeg det.. Jobber med pseudo koden nå og kan poste den ut når jeg nærmer meg ferdig

Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

Det er det beste, du lærer jo svært lite (om noe i det hele tatt) hvis noen her gjør oppgaven for deg. Jobb deg frem, står du fast med noe er det bare å spørre :)

Lenke til kommentar

Ser det er en annen her inne på forumet som også driver med samme oppgave hehe

 

Vel hadde vært fint om jeg fikk hjelp ja, vært mye sjuk i det siste og trenger å kjøpe meg tid..

 

men hvis ingen vil, men vil kun hjelpe med råd og tips så prøver jeg det.. Jobber med pseudo koden nå og kan poste den ut når jeg nærmer meg ferdig

post den når du er ferdig så er det alltids noen som kan si om det er noe funky med pseudo koden. Men fristen er jo den 29. om jeg husker korrekt så har jo egentlig god tid enda da ;)

Lenke til kommentar

#include <iostream>
#include <iomanip>
using namespace std;


struct klokke1
( int time
int minutt
int sekund);

struct klokke2
( int time
int minutt
int sekund);

int main()


{

klokke1 tid;
temp
klokke2 tid2;
temp2


tid.time = 0 if time <10 (++0) // for å sette inn ekstra 0 før f.eks kl900, => 0900
tid.minutt = 0
tid.sekund = 0


tid2.time = 0 if time <10 (++0) // for å sette inn ekstra 0 før f.eks kl900, => 0900
tid2.minutt = 0
tid2.sekund = 0




Do( // hoved DO løkka

Do ( // Do løkke, viser tiden , endring for tid1
cout << tiden er 00:00:00 for klokke1 << vil du endre tiden?(j/n);
cin >> ch
if (ch =='j')
cin >> tid.time >> tid.minutt >> tid.sekund; // endrer tiden til tid 1
while ( tid.time >1 && <25, tid.minutt =>0 && <59, tid.sekund =>0 && <59)

 

// Kun gyldig input er akseptert, f.eks ikke 99

if else( ch !=='n')
)

Do (
cout << Tiden er 00:00:00 for klokke 2 << vil du endre tiden?(j/n);

 

// do løkke, viser tid og spør om endring for tid 2

 

if (ch == 'j')
cin >> tid2.time >> tid2.minutt >> tid2.sekund;
while ( tid2.time >1 && <25, tid2.minutt =>0 && <59, tid2.sekund =>0 && <59)
if else (ch !=='n')
)



Do(

 

// her skal tidene begeregnes og vise verdier

if (tid > tid2)

cout << tidspunkt nr 1 er før nr 2 << differansen er tid-tid2;

 

// beregner forskjell på tidene

 

if else (tid2 > tid)
cout << tidspunkt nr 2 er før nr 1 << differansen er tid2-tid;

if else (tid==tid2) // hvis tidene er like
cout << tidspunkt nr1 og nr2 er like;

)

cout << Vil du gjøre det en gang til (j/n)?
while ( ch != 'n')

// hoved DO løkka avsluttes, mulighet for å gjenta prosessen





for teller ++


if teller 1 klokk1
else klokke2


const int max hour = 23

Endret av Gjest
Lenke til kommentar

Er jeg på vei til noe her? Vet jeg skal bruke temp, men er usikker på hvordan.. og flinkere til bruk av const'er

 

 

 

og nåde deg Remiix93 hvis du kopierer!

Endret av Gjest
Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

Er jeg på vei til noe her? Vet jeg skal bruke temp, men er usikker på hvordan.. og flinkere til bruk av const'er

 

 

 

og nåde deg Remiix93 hvis du kopierer!

 

Struct bruker {} istedenfor () for å definere scope

 

Istedenfor å definere to struct'er med identiske variabeldeklerasjoner definerer du en struct og bruker denne som utgangspunkt:

struct klokke { 
    int time, minutt, sekund; 
};

klokke tid1, tid2;
Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q

For å spore deg inn på riktig vei, her er et forslag til hvordan jeg ville ha kodet begynnelsen av programmet:

 

time.h:

 

#ifndef TIME_H

#define TIME_H

struct klokke {

int time, minutt, sekund;

};

void resetTime(klokke &tid);

bool checkTid(klokke &tid);

void resetTime(klokke &tid) {

tid.minutt = 0; tid.sekund = 0; tid.time = 0;

}

bool checkTid(klokke &tid) {

if ( tid.minutt > 60 ) {

return false;

} else if ( tid.sekund > 60 ) {

return false;

} else if ( tid.time > 24 ) {

return false;

} else {

return true;

}

}

 

#endif // TIME_H

 

 

main.cpp:

 

#include <iostream>
#include <iomanip>
#include "time.h"


using namespace std;


void main() {
    klokke foerstetid, andretid;


    bool fortsett = true;


    do {
        cout <<"Tid for klokkeslett # 1:\n";
        cout <<"========================\n";
        cout <<"Skriv inn time: ";
        cin >>foerstetid.time;
        cout <<"Skriv inn minutt: ";
        cin >>foerstetid.minutt;
        cout <<"Skriv inn sekund: ";
        cin >> foerstetid.sekund;


        if ( checkTid (foerstetid) ) {
            fortsett = false;
            cout <<"\n\nRiktig tidsformatering.";
        } else {
            cout <<"Feil ved tidsformatering. Proev igjen!\n\n";
        }
    } while ( fortsett == true );

}
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...