Skip to content
Snippets Groups Projects
Select Git revision
  • a1f4e02380abefb4cbf98a9655a526f259e95d8f
  • master default protected
  • Eilerts_branch
  • Karins_branch
  • Mads_branch
5 results

InputPopUpWindow.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    bane.cpp 2.19 KiB
    /**
     * Kode-fil for bane-klassen
     *
     * @file bane.cpp
     * @author Sondre Sand & Frederik Simonsen
     */
    #include <iostream>
    #include <fstream>
    #include "bane.h"
    #include "const.h"
    #include "LesData3.h"
    using namespace std;
    
    /**
     * Oppretter en ny Bane. Nullstiller alle dens datamedlemmer.
     * Faktisk innlesning av reelle verdier skjer i lesData()
     *
     * @see Rute::Rute()
     */
    Bane::Bane() {
        antVogner = lengde = 0;
    }
    
    /**
     * 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) {
        // Leser inn antall vogner på banen og lengden på banesettet:
        inn >> antVogner >> lengde; inn.ignore(); // Forkaster '\n'
    }
    
    /**
     * Sletter minne allokert med en rute (virtuell)
     */
    Bane::~Bane() {
    
    }
    
    /**
     * 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(); // Ruten leser egne data
    }
    
    /**
     * Skriver ut all informasjon om en bane til bruker i run-time (virtuell)
     *
     * @see Rute::skrivBeskrivelse()
     */
    void Bane::skrivBeskrivelse() {
        cout << "Banen har " << antVogner << " vogner og banesettet er "
             << lengde << " meter langt.\n";
        Rute::skrivBeskrivelse(); // Rute skriver egne datamedlemmer
    }
    
    /**
     * Skriver ut rutetype (bane) til bruker (virtuell)
     *
     * @see Rute::skrivData()
     */
    void Bane::skrivData() const {
        cout << "(bane):   ";
        Rute::skrivData(); // Rute skriver egne datamedlemmer
    }
    
    
    /**
     * Skriver ut kort informasjon om banens datamedlemmer i run-time (virtuell)
     */
    void Bane::skrivKort() const {
        cout << "\nBanen har " << antVogner << " vogner og banesettet er "
             << lengde << " meter langt.\n\n";
    }
    
    /**
     * Skriver ut alle datamedlemmer for en bane til fil (virtuell)
     *
     * @param ut - Filen det skrives til
     * @see Rute::skrivTilFil(...)
     */
    void Bane::skrivTilFil(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
    }