Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
G
Gruppe44-PROG1003-2022
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
Andreas Blakli
Gruppe44-PROG1003-2022
Commits
141a7725
Commit
141a7725
authored
3 years ago
by
Andreas Blakli
Browse files
Options
Downloads
Patches
Plain Diff
Fjernet ubrukt kode og la til doxygen kommentarer i stoppested.cpp.
parent
ae4680d0
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
stoppested.cpp
+140
-22
140 additions, 22 deletions
stoppested.cpp
with
140 additions
and
22 deletions
stoppested.cpp
+
140
−
22
View file @
141a7725
...
...
@@ -2,69 +2,94 @@
using
namespace
std
;
// extern Stoppesteder* gStoppesteder;
/**
* Constructor for Stoppested, lager ett nytt Stoppested objekt.
*
*/
Stoppested
::
Stoppested
()
{
navn
=
""
;
}
/**
* Constructor for Stoppested, lager ett nytt Stoppested objekt.
*
* @param navn - Navnet på stoppestedet.
* @param leggeTilTid - Med tid ja/nei.
*/
Stoppested
::
Stoppested
(
const
string
&
navn
,
const
bool
&
leggeTilTid
)
{
this
->
navn
=
navn
;
}
/**
* Constructor for Stoppested, lager ett nytt Stoppested objekt.
*
* @param index - Indeks til stoppested.
* @param navn - Navnet på stoppestedet.
*/
Stoppested
::
Stoppested
(
const
int
&
index
,
const
string
&
navn
)
{
this
->
navn
=
navn
;
// leggTilIndex()
}
/**
* Destructor for stoppested objekt.
*
*/
Stoppested
::~
Stoppested
()
{
}
/**
* Returnerer navnet til stoppestedet.
*
* @return string - Navnet til stoppestedet.
*/
string
Stoppested
::
hentNavn
()
{
return
navn
;
}
void
Stoppested
::
lesData
()
{
/*string inn;
cout << "\nSkriv inn navn på stoppested (blankt for avbryt):";
getline(cin, inn);
inn = hjelp.rensStreng(inn);
if (!inn.empty()) {
if (gStoppesteder->hentEksisterende(inn) == nullptr)
navn = inn;
else
cout << "\nError: Stoppested eksisterer fra før!" << '\n';
} else
cout << "\nAvbryter!" << '\n';*/
}
/**
* Skriver info om stoppestedet til terminal.
*
*/
void
Stoppested
::
skrivData
()
{
cout
<<
"
\n
..::Stoppested info::.."
<<
"
\n
Navn: "
<<
navn
<<
'\n'
;
}
/**
* Skriver ut info om stoppestedet og dens naboer.
*
* @param alleStoppesteder vector med pekere til Stoppested.
*
* @see skrivData().
* @see hentNavn().
*/
void
Stoppested
::
skrivDataMedNaboer
(
vector
<
Stoppested
*>
alleStoppesteder
)
{
skrivData
();
int
i
,
pos
;
i
=
pos
=
0
;
bool
naboEksisterer
=
false
;
cout
<<
"
\n
Har forbindelser til:"
;
// << '\n';
cout
<<
"
\n
Har forbindelser til:"
;
for
(
const
auto
&
val
:
indexNaboStoppene
)
{
cout
<<
"
\n
Size indexes naboer: "
<<
indexNaboStoppene
.
size
();
cout
<<
"
\n
Size tid: "
<<
antallMinutterTilNaboStopp
.
size
();
if
(
val
<
alleStoppesteder
.
size
())
{
pos
++
;
cout
<<
"
\n\t
"
<<
i
+
pos
<<
" - Navn: "
<<
alleStoppesteder
[
val
]
->
hentNavn
()
<<
'\t'
<<
"Tid i minutter mellom stopp: "
<<
antallMinutterTilNaboStopp
[
i
];
//<< '\n';
naboEksisterer
=
true
;
naboEksisterer
=
true
;
}
i
++
;
}
if
(
!
naboEksisterer
)
cout
<<
"
\n
Ingen forbindelser registrert!"
<<
'\n'
;
}
/**
* Henter den siste tiden til nabostoppet.
*
* @return int - Tiden til nabostoppet, -1 hvis ingen tid.
*/
int
Stoppested
::
hentTidNaboStopp
()
{
int
storrelse
=
antallMinutterTilNaboStopp
.
size
();
if
(
storrelse
>
0
)
{
...
...
@@ -73,37 +98,76 @@ int Stoppested::hentTidNaboStopp() {
return
-
1
;
}
/**
* Henter den siste indexen til nabostoppet.
*
* @return int - Nabostoppets indeks, -1 hvis ingen nabo indeks(er).
*/
int
Stoppested
::
hentIndex
()
{
if
(
indexNaboStoppene
.
size
()
>
0
)
return
indexNaboStoppene
.
back
();
return
-
1
;
}
/**
* Legger til nabostopp tid og indeks.
*
* @param index - Indeksen til nabostoppet.
* @param minutter - Antall minutter mellom nabostoppet.
*
* @see leggTilIndex().
* @see leggTilTid().
*/
void
Stoppested
::
leggTilNaboStopp
(
const
int
&
index
,
const
int
&
minutter
)
{
leggTilIndex
(
index
);
leggTilTid
(
minutter
);
}
/**
* Leser inn tid mellom snabostoppet.
*
* @see leggTilTid().
*/
void
Stoppested
::
lesTid
()
{
int
minutter
;
minutter
=
lesInt
(
"Tid mellom forrige stopp i minutter"
,
MIN_MINUTTER
,
MAX_MINUTTER
);
leggTilTid
(
minutter
);
// todo
}
/**
* Legger til indeken til nabostoppet i indexNaboStoppene.
*
* @param index - Indeksen til nabostoppet.
*/
void
Stoppested
::
leggTilIndex
(
const
int
&
index
)
{
indexNaboStoppene
.
push_back
(
index
);
}
/**
* Legger til tiden til nabostoppet i antallMinutterTilNaboStopp.
*
* @param minutter - Antall minutter til nabostoppet.
*/
void
Stoppested
::
leggTilTid
(
const
int
&
minutter
)
{
antallMinutterTilNaboStopp
.
push_back
(
minutter
);
}
/**
* Sletter all data lagt inn i indexNaboStoppene og
* antallMinutterTilNaboStopp vectorene.
*
*/
void
Stoppested
::
slettVectorer
()
{
indexNaboStoppene
.
clear
();
antallMinutterTilNaboStopp
.
clear
();
}
/**
* Fjerner de første elementene i indexNaboStoppene
* og antallMinutterTilNaboStopp.
*
* @see slettVectorer().
*/
void
Stoppested
::
fjernForsteNabo
()
{
int
tmpIndex
,
tmpTid
;
if
(
indexNaboStoppene
.
size
()
>
0
&&
...
...
@@ -116,6 +180,12 @@ void Stoppested::fjernForsteNabo() {
}
}
/**
* Fjerner de siste elementene i indexNaboStoppene
* og antallMinutterTilNaboStopp hvis det eksisterer
* mer enn ett element.
*
*/
void
Stoppested
::
fjernSisteNabo
()
{
if
(
indexNaboStoppene
.
size
()
>
1
&&
antallMinutterTilNaboStopp
.
size
()
>
1
)
{
...
...
@@ -124,6 +194,16 @@ void Stoppested::fjernSisteNabo() {
}
}
/**
* Legger til nabo indeks og tid fremst i indexNaboStoppene
* og antallMinutterTilNaboStopp vectorene.
*
* @param index - Indeks som skal legges til.
* @param tid - Minutter som skal legges til.
*
* @see fjernForsteNabo().
* @see leggTilNaboStopp().
*/
void
Stoppested
::
leggTilNaboFremst
(
const
int
&
index
,
const
int
&
tid
)
{
fjernForsteNabo
();
int
tmpIndex
,
tmpTid
;
...
...
@@ -139,11 +219,28 @@ void Stoppested::leggTilNaboFremst(const int& index, const int& tid) {
if
(
tmpIndex
>=
0
&&
tmpTid
>=
0
)
leggTilNaboStopp
(
tmpIndex
,
tmpTid
);
}
/**
* Legger til nabo indeks og tid bakerst i indexNaboStoppene
* og antallMinutterTilNaboStopp vectorene.
*
* @param index - Indeks som skal legges til.
* @param tid - Minutter som skal legges til.
*
* @see fjernSisteNabo().
* @see leggTilNaboStopp().
*/
void
Stoppested
::
leggTilNaboBakerst
(
const
int
&
index
,
const
int
&
tid
)
{
fjernSisteNabo
();
leggTilNaboStopp
(
index
,
tid
);
}
/**
* Henter enten det første eller siste nabostoppets indeks
* basert på den gitte parameteren.
*
* @param siste - Er det den siste som skal hentes true/false ja/nei.
* @return int - Indeksen til nabostoppet, -1 hvis indeks ikke ble funnet.
*/
int
Stoppested
::
hentNaboStoppIndex
(
const
bool
&
siste
)
{
if
(
indexNaboStoppene
.
size
()
>
1
&&
!
siste
)
return
indexNaboStoppene
.
front
();
...
...
@@ -153,25 +250,41 @@ int Stoppested::hentNaboStoppIndex(const bool& siste) {
return
-
1
;
}
/**
* Returnerer antall elementer i indexNaboStoppene vector.
*
* @return int - Antall elemnter i vectoren, -1 hvis ingen.
*/
int
Stoppested
::
hentAntallStoppestedVector
()
{
if
(
indexNaboStoppene
.
size
()
>
1
)
return
indexNaboStoppene
.
size
();
return
-
1
;
}
/**
* Returnerer tiden til den første naboen.
*
* @return int - Tiden til den første naboen, -1 hvis ingen naboer.
*/
int
Stoppested
::
hentTidForsteNabo
()
{
if
(
antallMinutterTilNaboStopp
.
size
()
>
1
)
return
antallMinutterTilNaboStopp
.
front
();
return
-
1
;
}
/**
* Leser inn stoppested fra fil.
*
* @param inn - Inn data fil-stream.
*
* @see HjelpeFunksjoner::splittStreng().
*/
void
Stoppested
::
lesFraFil
(
ifstream
&
inn
)
{
string
heleLinjen
=
""
;
getline
(
inn
,
heleLinjen
);
int
pos
=
0
;
vector
<
string
>
linjenSplittet
=
hjelp
.
splittStreng
(
'*'
,
heleLinjen
);
int
storrelse
=
linjenSplittet
.
size
();
cout
<<
"
\n
Storrelse splittet: "
<<
storrelse
<<
"
\n\n
"
;
for
(
int
i
=
0
;
i
<
storrelse
-
1
;
i
++
)
{
switch
(
i
)
{
case
0
:
...
...
@@ -197,6 +310,11 @@ void Stoppested::lesFraFil(ifstream& inn) {
}
}
/**
* Skriver stoppested til fil.
*
* @param ut - Ut data fil-stream.
*/
void
Stoppested
::
skrivTilFil
(
ofstream
&
ut
)
{
ut
<<
navn
<<
'*'
;
for
(
const
auto
&
val
:
indexNaboStoppene
)
{
...
...
@@ -206,4 +324,4 @@ void Stoppested::skrivTilFil(ofstream& ut) {
ut
<<
val
<<
'*'
;
}
ut
<<
'\n'
;
}
\ No newline at end of file
}
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