Forum » Programiranje » [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:
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
glede na to da si vse to spisal, ti iskanje nebi smelo predstavljati vecjega problema. Lp
http://upor.blogec.si
http://bozjak.deviantart.com
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.
š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…
- odbrisal: Gandalfar ()
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] StruktureOddelek: Programiranje | 1077 (659) | čuhalev |
» | [Access 2007]Oddelek: Programiranje | 2627 (2227) | urosz |
» | [C++]StruktureOddelek: Programiranje | 4037 (3966) | jernejf |
» | Programiranje v C++Oddelek: Programiranje | 2568 (1426) | krneki0001 |
» | c++ datotekeOddelek: Programiranje | 4044 (3533) | Vesoljc |