» »

[NALOGA][c++] iskanje

[NALOGA][c++] iskanje

tilen23 ::

v šoli smo dobili nalogo:

Napišite program, ki bo omogocal uporabniku vnos podatkov o opravljenih
izpitih (datum, ime predmeta in ocena) in njihovo shranjevanje v datoteko.
Program naj uporabniku omogoci še iskanje po podatkih glede na naslednje
kljuce: ime predmeta, ocena in datum ( od - do ). Pri implementaciji
uporabite zanke, funkcije, polja in strukture.

nekak še mi gre vendar se mi zatakne pri iskanju, vpis v datotek sem pa uspel narediti. Prosim za pomoč. To je pa kar imam napisano do sedaj:

#include <iostream>
#include <fstream>
using namespace std;

struct Datum{
    int dan,mesec,leto;
};

struct Izpit{
    Datum datum;
    char ime[30];
    int ocena;
}izpit;
    
void Vnos() {
//vpis datuma
     cout<<"Vpisi datum opravljenega izpita (dan,mesec,leto): ";
     cin>>izpit.datum.dan>>izpit.datum.mesec>>izpit.datum.leto;
//vpis imena predmeta     
     cout<<"Vpisi ime predmeta: "; 
     cin>>izpit.ime;
//vpis ocene predmeta
     do {
        cout<<"Vpisi oceno izpita: ";
        cin>>izpit.ocena;
     if (izpit.ocena<0 || izpit.ocena>10)
        cout<<"Napacen vnos!\n";
     }while(izpit.ocena<0 || izpit.ocena>10);
//vnos podatkov v datoteko izpiti.txt
ofstream fajl ("izpiti.txt", ios::app);
fajl<<"Datum opravljenega izpita: "<<izpit.datum.dan<<" "<<izpit.datum.mesec<<" "<<izpit.datum.leto<<endl
    <<"Ime premeta: "<<izpit.ime<<endl
    <<"Ocena predmeta: "<<izpit.ocena<<endl;
fajl.close();
}


void Iskanje() {
cout<<"iskanje";
}

void Zanka() {
int x;
bool izhod=1;

do {
cout<<endl
    <<"|---------------------------------|\n"
    <<"| 1. Vnos opravljenega izpita     |\n"
    <<"| 2. Iskanje                      |\n"
    <<"| 3. Izhod iz programa            |\n"
    <<"|---------------------------------|\n"
    <<"| Vnesi izbiro: ";
cin>>x;


switch (x) {
case 1: {Vnos();break;}
case 2: {Iskanje();break;}
case 3: {izhod=0;}
default: {cout<<"Nepravilna izbira!";}
}} while (izhod);
}


int main() {

Zanka();

return 0;
}
  • spremenil: tilen23 ()

bozjak ::

iskanje bos najlazje naredil tako, da beres vrstico za vrstice (vnos za vnosom) v datoeke v svoj struct. Po tem ko si vnos prebral, preveri ce se iskalni niz ujema z prebranim. To delaj (zanka) dokler a)ne prides do EOF, oz. dokler ne najdes...

glede na to da si vse to spisal, ti iskanje nebi smelo predstavljati vecjega problema. Lp
http://upor.blogec.si
http://bozjak.deviantart.com

ljubo ::

jaz bi lepo prosil če bi mi gdo pomagal rešiti to vajo ker nimam pojma programirat samo nujno rabim ker bom dobil NMS če nimam narejeno!!!
še enkrat lepo prosim!!

1.Napiši funkcijo, ki kot parameter sprejme
polje znakov. Funkcija naj uredi polje
od znaka 'z' do znaka 'A'.
Napišite tudi funkcijo ki naključno napolni polje znakov.
Funkcije preizkusite v glavnem programu.

Zgodovina sprememb…

ERGY ::

Ja bolše je met NMS, da se vsaj navadiš, drugače boš drugo leto isto spraševal.

Lp

roba87 ::

Ljubo nekaj približnega za tebe :
/*Napiši funkcijo, ki kot parameter sprejme
polje znakov. Funkcija naj uredi polje
od znaka 'z' do znaka 'A'.
Napišite tudi funkcijo ki naključno napolni polje znakov.
Funkcije preizkusite v glavnem programu. 
*/

#include <iostream>
#include <ctime>

using namespace std;
  
void zamenjaj (char& prvi, char& drugi)
{
     char temp = prvi;
     prvi = drugi;
     drugi = temp;
}

void vpis (char polje[])
{
     for (int i=0; i<10; i++)
     {
         char c = (rand()%26)+'a';
         polje[i] = c;
         cout << c;
     }
}

void uredi (char polje[])
{
     for (int prehod=0; prehod<10; prehod++)
     {
         for (int i=0; i<10-1; i++)
         {
             if (polje[i]<polje[i+1])
             {
                zamenjaj(polje[i], polje[i+1]);
             }
         }
     }
}


void izpis (char polje[])
{
     for (int i=0; i<10; i++)
     {
         cout << polje[i];
     }
}
        

int main ()
{
    srand((unsigned char)time(0));
    char polje[10];
    vpis(polje);
    cout << endl;
    uredi(polje);
    izpis(polje);
    cout << endl;
    system("pause");
    return 0;
}
                

Zgodovina sprememb…

  • spremenil: roba87 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] Strukture

Oddelek: Programiranje
81077 (659) čuhalev
»

[Access 2007]

Oddelek: Programiranje
132627 (2227) urosz
»

[C++]Strukture

Oddelek: Programiranje
54037 (3966) jernejf
»

Programiranje v C++

Oddelek: Programiranje
352568 (1426) krneki0001
»

c++ datoteke

Oddelek: Programiranje
464044 (3533) Vesoljc

Več podobnih tem