eMatematikasMatematikos resursai internete Registruotis Ieškoti...

C++. Skaitymas nuo 21 pozicijos.

Informatika   Peržiūrų skaičius (1421)

Vakario miesto gyventojai laiko namuose daug įvairių gyvūnų. Vienas savininkas gali turėti kelių rūšių gyvūnų. Parenkite programą, kuri sudarytų mieste esančių gyvūnų sąrašą ir surikiuotų pagal jų skaičių mažėjančiai.

Pirmoje pradinių duomenų eilutėje nurodytas gyvūnų savininkų skaičius. Toliau kiekvienoje eilutėje yra gyvūno pavadinimas(15 pozicijų), gyvūnų skaičius ir savininko vardas bei pavardė (20 pozicijų nuo 21 eilutės pozicijos).

Su pačia užduotimi viskas tvarkoje, tik norėčiau susižinoti kaip skaityti duomenis nuo 21 eilutės 20 pozicijų. (Galėčiau parašyti getline, bet jei per egzaminą prireiktų būtent to..)

Pradiniai duomenys:

5
Katinas        3    Petras Rudasis
Pelė baltoji  14  Jurgis Rudasis
Katinas        1    Rita Rudoji
Vilkas pilkas  2    Petras Rudasis
Žiūrkėnas      5    Jurgis Rudasis




#include <iostream>
#include <fstream>
using namespace std;
const char CDfv[] = "Duomenys.txt";       
struct Gyvunai {
    string pavadinimas;                    // pavadinimas
    int kiek;                              // gyvūnų kiekis
    string savininkas;                      // savininko vardas ir pavardė
};
//-----------------------------------------------------------------------------
void Skaityti(const char fv[], int & n, Gyvunai Duomenys[]);
//-----------------------------------------------------------------------------
int main() {
    int n;                                  // savininkų skaičius
    Gyvunai Duomenys[100];                  // struktūros tipo masyvas

    Skaityti(CDfv, n, Duomenys);
    for(int i = 0; i < n; i++)
        cout << Duomenys[i].savininkas << endl;
    return 0;
}
void Skaityti(const char fv[], int & n, Gyvunai Duomenys[])
{
    char eil[21];                     
    ifstream fd(fv);                        // atidaro skaitymą
    fd >> n;                    // skaito savininkų skaičių         
    for(int i = 0; i < n; i++) {
        fd.ignore(80, '\n');              // praleidžia eilutę
        fd.get(eil, 15);            // skaito pavadinimą
        Duomenys[i].pavadinimas = eil;     
        fd >> Duomenys[i].kiek;            // skaito gyvūnų keikį
        fd.get(eil, 20);                // skaito savininko vardą bei pavardę
        Duomenys[i].savininkas = eil;   
    }
    fd.close();                  // uždaro skaitymą         
}

Paskutinį kartą atnaujinta 2017-01-23

0

Norėdami rašyti žinutes privalote prisijungti!

Kategorijos

Matematikos testai www.ematematikas.lt/testai Pasikartok matematikos temas spręsdamas online testus!