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
1c8b5690
Commit
1c8b5690
authored
3 years ago
by
Frederik Simonsen
Browse files
Options
Downloads
Patches
Plain Diff
sortering og kommentering bane, buss, const, enum
parent
f47e7168
Branches
Branches containing commit
No related tags found
1 merge request
!3
Frederik
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
bane.cpp
+38
-19
38 additions, 19 deletions
bane.cpp
bane.h
+1
-2
1 addition, 2 deletions
bane.h
buss.cpp
+42
-25
42 additions, 25 deletions
buss.cpp
buss.h
+1
-2
1 addition, 2 deletions
buss.h
const.h
+10
-11
10 additions, 11 deletions
const.h
enum.h
+3
-1
3 additions, 1 deletion
enum.h
with
95 additions
and
60 deletions
bane.cpp
+
38
−
19
View file @
1c8b5690
...
...
@@ -12,47 +12,66 @@
using
namespace
std
;
/**
* Bane() Nullstiller alle datamedlemmer. Faktisk innlesning skjer i lesData
* Oppretter en ny Bane. Nullstiller alle dens datamedlemmer.
* Faktisk innlesning av reelle verdier skjer i lesData()
*
* @see Rute::Rute()
*/
Bane
::
Bane
()
{
antVogner
=
lengde
=
0
;
}
//TODO: Fyll på mer her etter som header-fila tar form
/**
* Oppretter en ny Bane fra fil. Leser inn dens datamedlemmer
*
* @param inn Filen det leses fra
* @see Rute::Rute(...)
*/
Bane
::
Bane
(
ifstream
&
inn
)
:
Rute
(
inn
)
{
inn
>>
antVogner
>>
lengde
;
inn
.
ignore
();
// Leser inn antall vogner på banen og lengden på banesettet:
inn
>>
antVogner
>>
lengde
;
inn
.
ignore
();
// Forkaster '\n'
}
/**
* lesData()
* Leser inn alle datamedlemmer for en bane (virtuell)
*
* @see Rute::lesData()
*/
void
Bane
::
lesData
()
{
antVogner
=
lesInt
(
"Antall vogner på banen"
,
MINVOGNER
,
MAXVOGNER
);
lengde
=
lesInt
(
"Lengde på banesettet (meter)"
,
MINLENGDE
,
MAXLENGDE
);
Rute
::
lesData
();
Rute
::
lesData
();
// Ruten leser egne data
}
/**
* skrivData
* Skriver ut all informasjon om en bane til bruker i run-time (virtuell)
*
* @see Rute::skrivBeskrivelse()
*/
void
Bane
::
skrivData
()
const
{
cout
<<
"(bane): "
;
Rute
::
skrivData
();
void
Bane
::
skrivBeskrivelse
()
{
cout
<<
"Banen har "
<<
antVogner
<<
" vogner og banesettet er "
<<
lengde
<<
" meter langt.
\n
"
;
Rute
::
skrivBeskrivelse
();
// Rute skriver egne datamedlemmer
}
/**
* skrivTilFil(...)
* Skriver ut rutetype (bane) til bruker (virtuell)
*
* @see Rute::skrivData()
*/
void
Bane
::
skrivTilFil
(
ofstream
&
ut
)
{
ut
<<
"A
\n
"
;
Rute
::
skrivTilFil
(
ut
);
ut
<<
antVogner
<<
' '
<<
lengde
<<
'\n'
;
void
Bane
::
skrivData
()
const
{
cout
<<
"(bane): "
;
Rute
::
skrivData
();
// Rute skriver egne datamedlemmer
}
/**
* skrivBeskrivelse()
* Skriver ut alle datamedlemmer for en bane til fil (virtuell)
*
* @param ut - Filen det skrives til
* @see Rute::skrivTilFil(...)
*/
void
Bane
::
skriv
Beskrivelse
(
)
{
co
ut
<<
"
Banen har "
<<
antVogner
<<
" vogner og banesettet er "
<<
lengde
<<
" meter langt.
\n
"
;
R
ut
e
::
skrivBeskrivelse
();
void
Bane
::
skriv
TilFil
(
ofstream
&
ut
)
{
ut
<<
"
A
\n
"
;
// Skriver ut A for rutetype Bane
Rute
::
skrivTilFil
(
ut
);
// Rute skriver egne data
ut
<<
antVogner
<<
' '
<<
lengde
<<
'\n'
;
// Skriver egne data
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
bane.h
+
1
−
2
View file @
1c8b5690
...
...
@@ -21,10 +21,9 @@ class Bane : public Rute {
Bane
();
Bane
(
std
::
ifstream
&
inn
);
virtual
void
lesData
();
virtual
void
skrivBeskrivelse
();
virtual
void
skrivData
()
const
;
virtual
void
skrivTilFil
(
std
::
ofstream
&
ut
);
virtual
void
skrivBeskrivelse
();
};
#endif
\ No newline at end of file
This diff is collapsed.
Click to expand it.
buss.cpp
+
42
−
25
View file @
1c8b5690
...
...
@@ -12,65 +12,82 @@
using
namespace
std
;
/**
* Buss() Nullstiller alle datamedlemmer, blir lest inn reelle verdier i lesData
* Oppretter en ny Buss, nullstiller alle dens datamedlemmer.
* Faktiske reelle verdier knyttet til bussen, leses inn i lesData
*
* @see Rute::Rute()
*/
Buss
::
Buss
()
{
antSitt
=
antStaa
=
0
;
leddbuss
=
false
;
}
// TODO: Fyll inn mer her etter som header-fila tar form
/**
* Leser inn en buss sine datamedlemmer fra fil
*
* @param inn Filen det leses fra
* @see Rute::Rute(...)
*/
Buss
::
Buss
(
ifstream
&
inn
)
:
Rute
(
inn
)
{
// Leser alle datamedlemmene, forkaster '\n':
inn
>>
antSitt
>>
antStaa
>>
leddbuss
;
inn
.
ignore
();
}
/**
* lesData()
* Leser inn alle datamedlemmer for en aktuell buss (virtuell)
*
* @see Rute::lesData()
*/
void
Buss
::
lesData
()
{
char
bussType
;
char
bussType
;
// Hjelpevariabel for å lese om leddbuss eller ei
// Leser inn datamedlemmene:
antSitt
=
lesInt
(
"Antall sitteplasser på bussen"
,
MINSITT
,
MAXSITT
);
antStaa
=
lesInt
(
"Antall ståplasser på bussen"
,
MINSTAA
,
MAXSTAA
);
bussType
=
lesChar
(
"Leddbuss? (J/N)"
);
while
(
bussType
!=
'J'
&&
bussType
!=
'N'
)
{
while
(
bussType
!=
'J'
&&
bussType
!=
'N'
)
{
// Looper ved ulovlig svar:
cout
<<
"
\n
Ulovlig valg, prøv igjen.
\n
"
;
bussType
=
lesChar
(
"Leddbuss? J eller N"
);
}
if
(
bussType
==
'J'
)
{
if
(
bussType
==
'J'
)
{
// Oppdaterer om faktisk leddbuss eller ei:
leddbuss
=
true
;
}
else
if
(
bussType
==
'N'
)
leddbuss
=
false
;
Rute
::
lesData
();
Rute
::
lesData
();
// Rute leser resterende data
}
/**
* skrivData
* Skriver ut all informasjon om en buss til bruker (virtuell)
*
* @see Rute::skrivBeskrivelse()
*/
void
Buss
::
skrivData
()
const
{
cout
<<
"(buss): "
;
Rute
::
skrivData
();
void
Buss
::
skrivBeskrivelse
()
{
cout
<<
"Bussen har "
<<
antSitt
<<
" sitteplasser, "
<<
antStaa
<<
" ståplasser og er "
<<
(
leddbuss
?
""
:
"ikke"
)
<<
" en leddbuss.
\n
"
;
Rute
::
skrivBeskrivelse
();
// Rute skriver egen informasjon
}
/**
* skrivtilfil(...)
* @param ut
* Skriver ut egen rutetype (buss) til bruker (virtuell)
*
* @see Rute::skrivData()
*/
void
Buss
::
skrivTilFil
(
ofstream
&
ut
)
{
ut
<<
"U
\n
"
;
Rute
::
skrivTilFil
(
ut
);
ut
<<
antSitt
<<
' '
<<
antStaa
<<
' '
<<
leddbuss
<<
'\n'
;
void
Buss
::
skrivData
()
const
{
cout
<<
"(buss): "
;
Rute
::
skrivData
();
}
/**
* skrivBeskrivelse()
* Skriver ut bussens datamedlemmer til fil (virtuell)
*
* @param ut Filen det skrives til
* @see Rute::skrivTilFil(...)
*/
void
Buss
::
skriv
Beskrivelse
(
)
{
co
ut
<<
"
Bussen har "
<<
antSitt
<<
" sitteplasser, "
<<
antStaa
<<
" ståplasser og er "
<<
(
leddbuss
?
""
:
"ikke"
)
<<
" en leddbuss.
\n
"
;
Rute
::
skrivBeskrivelse
();
void
Buss
::
skriv
TilFil
(
ofstream
&
ut
)
{
ut
<<
"
U
\n
"
;
// Skriver ut rutetype, U for Buss
Rute
::
skrivTilFil
(
ut
);
// Rute skriver egne datamedlemmer
ut
<<
antSitt
<<
' '
<<
antStaa
// Skriver egne datamedlemmer
<<
' '
<<
leddbuss
<<
'\n'
;
// Leddbuss (1), ikke leddbuss (0)
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
buss.h
+
1
−
2
View file @
1c8b5690
...
...
@@ -23,10 +23,9 @@ class Buss : public Rute {
Buss
();
Buss
(
std
::
ifstream
&
inn
);
virtual
void
lesData
();
virtual
void
skrivBeskrivelse
();
virtual
void
skrivData
()
const
;
virtual
void
skrivTilFil
(
std
::
ofstream
&
ut
);
virtual
void
skrivBeskrivelse
();
};
#endif
\ No newline at end of file
This diff is collapsed.
Click to expand it.
const.h
+
10
−
11
View file @
1c8b5690
...
...
@@ -8,16 +8,15 @@
#ifndef __CONST_H
#define __CONST_H
const
int
MINRUTER
=
1
;
const
int
MAXRUTER
=
999
;
const
int
MINVOGNER
=
2
;
const
int
MAXVOGNER
=
10
;
const
int
MINLENGDE
=
15
;
const
int
MAXLENGDE
=
150
;
const
int
MINSITT
=
20
;
const
int
MAXSITT
=
80
;
const
int
MINSTAA
=
10
;
const
int
MAXSTAA
=
40
;
// TODO: INNHOLD HER
const
int
MINRUTER
=
1
;
///< Minste lovlige rutenummer
const
int
MAXRUTER
=
999
;
///< Største lovlige rutenummer
const
int
MINVOGNER
=
2
;
///< Minimum antall vogner på en bane
const
int
MAXVOGNER
=
10
;
///< Maksimum antall vogner på en bane
const
int
MINLENGDE
=
30
;
///< Minimum lengde i meter på et banesett
const
int
MAXLENGDE
=
150
;
///< Maksimum lengde i meter på et banesett
const
int
MINSITT
=
20
;
///< Minimum antall sitteplasser på en buss
const
int
MAXSITT
=
80
;
///< Maksimum antall sitteplasser på en buss
const
int
MINSTAA
=
10
;
///< Minimum antall ståplasser på en buss
const
int
MAXSTAA
=
40
;
///< Maksimum antall ståplasser på en buss
#endif
This diff is collapsed.
Click to expand it.
enum.h
+
3
−
1
View file @
1c8b5690
...
...
@@ -8,7 +8,9 @@
#ifndef __ENUM_H
#define __ENUM_H
// TODO: INNHOLD HER
/**
* Retning (hvilken vei rute skal skrives ut: Fram eller Tilbake)
*/
enum
Retning
{
Fram
,
Tilbake
};
#endif
\ 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