Új hozzászólás Aktív témák

  • Szirikee

    újonc

    Sziasztok.
    Lenne egy fájlkezeléses problémám... Egy .dat kiterjesztésű fájlból olvasunk be adatokat. Pár diáknév van minden egyes sorban, és mellettük szóközzel tagolva a kapott érdemjegyük. A programban (amit bemásoltam) már megvannak az egységes számítások (az egész osztályra nézve), viszont az lenne a következő feladatunk, hogy minden egyes diákot nézzünk végig, és :
    - irassuk ki az átlagukat (fejenként, egységesen már megvan)
    - vizsgáljuk meg azt, hogy mekkora a legjobb átlag, és hogy kié.

    Itt az eddig megírt algoritmus (lejjebb személtetem a .dat kiterjesztésű fájlt is!):

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <cstdlib>

    using namespace std;

    int main() {
    int n,db_nev;
    float db_jegy,jegy_ossz;
    string s,nev;

    cout << "A jegyek.dat-bol olvasunk be." << endl;
    ifstream f;
    f.open("jegyek1.dat");
    if (f.fail())
    {
    cout << "Hiba megnyitas soran" << endl;
    cin.get();
    return 1;
    }
    db_nev=0;
    db_jegy=0;
    jegy_ossz=0;
    while(!f.eof())
    {
    f>>s;
    n=atoi(s.c_str());

    if (n==0)

    {
    db_nev++;
    cout<<endl<<s<<" ";
    }

    else
    {
    db_jegy++;
    jegy_ossz=jegy_ossz+n;
    cout<<s<<" ";
    }
    }
    f.close();

    cout<<endl<<endl<<"Nevek szama: "<<db_nev<<endl;
    cout<<"Jegyek szama: "<<db_jegy<<endl;
    cout<<"Jegyek osszege: "<<jegy_ossz<<endl;
    cout<<"Az osztaly atlaga: "<<jegy_ossz/db_jegy<<"\n"<<endl;

    cin.get();
    return 0;
    }

    .DAT KITERJESZTÉSŰ FÁJL:
    Andi 4 4 3 5
    Bela 4 5 4 3
    Geza 2 2 4 4
    Aladar 3 1 4 5
    Eva 5 5 5
    Eszter 3 3 5 4
    Sandor 4 5 3 2

    Előre is köszönöm a válaszokat! :)

Új hozzászólás Aktív témák