Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
G
Gruppe04
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Frederik Simonsen
Gruppe04
Commits
a2470846
Commit
a2470846
authored
3 years ago
by
Frederik Simonsen
Browse files
Options
Downloads
Patches
Plain Diff
start på r t
parent
1348bd7f
Branches
Branches containing commit
No related tags found
1 merge request
!4
Frederik
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
bane.cpp
+5
-0
5 additions, 0 deletions
bane.cpp
bane.h
+1
-0
1 addition, 0 deletions
bane.h
buss.cpp
+12
-2
12 additions, 2 deletions
buss.cpp
buss.h
+1
-0
1 addition, 0 deletions
buss.h
rute.cpp
+32
-1
32 additions, 1 deletion
rute.cpp
rute.h
+2
-0
2 additions, 0 deletions
rute.h
ruter.cpp
+31
-0
31 additions, 0 deletions
ruter.cpp
with
84 additions
and
3 deletions
bane.cpp
+
5
−
0
View file @
a2470846
...
...
@@ -64,6 +64,11 @@ void Bane::skrivData() const {
Rute
::
skrivData
();
// Rute skriver egne datamedlemmer
}
void
Bane
::
skrivKort
()
const
{
cout
<<
"
\n
Banen har "
<<
antVogner
<<
" vogner og banesettet er "
<<
lengde
<<
" meter langt.
\n\n
"
;
}
/**
* Skriver ut alle datamedlemmer for en bane til fil (virtuell)
*
...
...
This diff is collapsed.
Click to expand it.
bane.h
+
1
−
0
View file @
a2470846
...
...
@@ -23,6 +23,7 @@ class Bane : public Rute {
virtual
void
lesData
();
virtual
void
skrivBeskrivelse
();
virtual
void
skrivData
()
const
;
virtual
void
skrivKort
()
const
;
virtual
void
skrivTilFil
(
std
::
ofstream
&
ut
);
};
...
...
This diff is collapsed.
Click to expand it.
buss.cpp
+
12
−
2
View file @
a2470846
...
...
@@ -64,8 +64,8 @@ void Buss::lesData() {
*/
void
Buss
::
skrivBeskrivelse
()
{
cout
<<
"Bussen har "
<<
antSitt
<<
" sitteplasser, "
<<
antStaa
<<
" ståplasser og er "
<<
(
leddbuss
?
""
:
"ikke"
)
<<
"
en leddbuss.
\n
"
;
<<
" ståplasser og er "
<<
(
leddbuss
?
""
:
"ikke
"
)
<<
"en leddbuss.
\n
"
;
Rute
::
skrivBeskrivelse
();
// Rute skriver egen informasjon
}
...
...
@@ -79,6 +79,16 @@ void Buss::skrivData() const {
Rute
::
skrivData
();
}
/**
* skrivKort() (virtuell)
*
*/
void
Buss
::
skrivKort
()
const
{
cout
<<
"
\n
Bussen har "
<<
antSitt
<<
" sitteplasser, "
<<
antStaa
<<
" ståplasser og er "
<<
(
leddbuss
?
""
:
"ikke "
)
<<
"en leddbuss.
\n\n
"
;
}
/**
* Skriver ut bussens datamedlemmer til fil (virtuell)
*
...
...
This diff is collapsed.
Click to expand it.
buss.h
+
1
−
0
View file @
a2470846
...
...
@@ -25,6 +25,7 @@ class Buss : public Rute {
virtual
void
lesData
();
virtual
void
skrivBeskrivelse
();
virtual
void
skrivData
()
const
;
virtual
void
skrivKort
()
const
;
virtual
void
skrivTilFil
(
std
::
ofstream
&
ut
);
};
...
...
This diff is collapsed.
Click to expand it.
rute.cpp
+
32
−
1
View file @
a2470846
...
...
@@ -88,7 +88,13 @@ bool Rute::erListeGyldig(){
return
false
;
}
/**
* @brief
*
* @param nvn
* @return true
* @return false
*/
bool
Rute
::
erTall
(
std
::
string
nvn
)
{
return
all_of
(
nvn
.
begin
(),
nvn
.
end
(),
::
isdigit
);
}
...
...
@@ -109,6 +115,23 @@ bool Rute::finnesStopp(const int indeks) {
return
false
;
}
/**
* skrivRetninger(...) brukes med R T
*
*/
void
Rute
::
skrivRetninger
()
const
{
// Hjelpevariabler for å hente stasjonsnavnene knyttet til ruten:
int
startIndeks
=
stoppene
.
front
()
->
hentNr
(),
stoppIndeks
=
stoppene
.
back
()
->
hentNr
();
string
startStasjon
=
gStoppestederBase
.
hentNavnVhaIndeks
(
startIndeks
),
endeStasjon
=
gStoppestederBase
.
hentNavnVhaIndeks
(
stoppIndeks
);
// Skriver ut start- og endestasjon for ruten i begge retninger:
cout
<<
"
\n
Fram: Retningen: "
<<
startStasjon
<<
" - "
<<
endeStasjon
<<
"
\n
Tilbake: Retningen: "
<<
endeStasjon
<<
" - "
<<
startStasjon
<<
'\n'
;
}
/**
* skriver rute forlengs eller baklengs
*
...
...
@@ -279,6 +302,14 @@ void Rute::skrivData() const {
cout
<<
startNavn
<<
" - "
<<
stoppNavn
;
}
/**
* @brief skrivKort() (virtuell)
*
*/
void
Rute
::
skrivKort
()
const
{
}
/**
* skriver rute til fil
*
...
...
This diff is collapsed.
Click to expand it.
rute.h
+
2
−
0
View file @
a2470846
...
...
@@ -37,11 +37,13 @@ class Rute {
bool
erListeGyldig
();
bool
erTall
(
std
::
string
nvn
);
bool
finnesStopp
(
const
int
indeks
);
void
skrivRetninger
()
const
;
void
skrivRute
(
const
Retning
retning
);
void
slettData
();
virtual
void
lesData
();
virtual
void
skrivBeskrivelse
();
virtual
void
skrivData
()
const
;
virtual
void
skrivKort
()
const
;
virtual
void
skrivTilFil
(
std
::
ofstream
&
ut
);
...
...
This diff is collapsed.
Click to expand it.
ruter.cpp
+
31
−
0
View file @
a2470846
...
...
@@ -163,7 +163,38 @@ void Ruter::ruteBeskrivelse(const int ruteNr){
* ruteTabell()
*/
void
Ruter
::
ruteTabell
()
{
int
ruteNr
;
char
valg
;
string
navn
;
//Rute* ruten = nullptr;
if
(
!
rutene
.
empty
())
{
// Hvis det er registrert ruter:
ruteNr
=
lesInt
(
"Rutenr"
,
MINRUTER
,
MAXRUTER
);
if
(
ruteNrFinnes
(
ruteNr
))
{
// Hvis rutenummeret finnes:
auto
ruten
=
rutene
.
find
(
ruteNr
);
// Iterator til riktig rute
ruten
->
second
->
skrivRetninger
();
// Skriver kort info om ruten
valg
=
lesChar
(
"Rutetabell for retningen (F/T)"
);
// Looper til lovlig valg av retning:
while
(
valg
!=
'F'
&&
valg
!=
'T'
)
{
cout
<<
"
\n
Ugyldig valg, prøv igjen.
\n
"
;
valg
=
lesChar
(
"Rutetabell for retningen (F/T)"
);
}
ruten
->
second
->
skrivKort
();
// Skriver info om rutetypen
switch
(
valg
)
{
// Skriver hele ruten:
case
'F'
:
ruten
->
second
->
skrivRute
(
Fram
);
break
;
case
'T'
:
ruten
->
second
->
skrivRute
(
Tilbake
);
break
;
}
/*cout << "\n\nRutetabell for stoppestedet (navn): ";
getline(cin, navn);*/
}
else
// Hvis rutenummeret ikke finnes:
cout
<<
"
\n
Dette rutenummeret er ikke registrert.
\n\n
"
;
}
else
// Hvis ingen ruter registrert:
cout
<<
"
\n
Ingen ruter registrert i programmet.
\n\n
"
;
}
/**
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment