November 1, 2024, Friday, 305

Przykładowe zadania do Laboratorium 9

From MJanik

Revision as of 16:55, 10 December 2012 by Majanik (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Na najbliższych zajęciach zajmiemy się czytaniem oraz zapisywaniem do plików. Szczerze polecam przećwiczyć przed zajęciami poniższy krótki program: 1. Proszę stworzyć program, który losuje liczby rzeczywiste od 0 do 2, po czym zapisuje je do pliku tekstowego (w jednej kolumnie). Następnie program powinien wczytywać liczby z uprzednio zapisanego pliku i wyświetlać wyniki na ekranie. 2. Należy powyższy program podzielić na klasy: należy stworzyć klasę Losowanie, która posiada metodę double Losuj(double min, double max) która zwraca liczbę rzeczywistą wylosowaną z przedziału (min, max). Ponadto należy stworzyć drugą klasę, PlikTekstowy z metodami odpowiednio: void ZapiszSlowo(string nazwa_pliku, string slowo), void ZapiszLiczbe(string nazwa_pliku, double liczba), string CzytajSlowo(string nazwa_pliku), double CzytajLiczbe(string nazwa_pliku), void WypiszPlik(string nazwa_pliku),

Losowanie liczb (generator liczb pseudolosowych)

  1. include <cstdlib>
  2. include <ctime>

Najpierw ustawiamy ziarno: srand(seed); zazwyczaj, używając do tego zegara systemowego: srand(time(NULL)); Następnie generujemy liczby używając funkcji: int a = rand(); gdzie funkcja rand() zwraca liczbę całkowitą z przedziału od 0 do RAND_MAX.

  1. include <fstream>

Zapisywanie do pliku: ofstream ofile; ofile.open("file.txt"); ofile<<”aaa”<<123<<endl; ofile.close();

Wczytywanie z pliku (np. liczby): fstream ifile; ifile.open(argv[1]); while(ifile>>val) {

   cout<<"val: "<<val<<endl;

} ifile.close();

Funkcja main Najprostszą postacią funkcji main jest: int main(){ return 0; } Ale za domyślną/standardową uzajemy: int main(int argc, char **argv){ return 0; } Gdzie: argc - liczba parametrów, z którymi został wywołany program

    • argv - tablica parametrów (każdy jako char*):

argv[0] - nazwa programu argv[1], argv[2]... - kolejne parametry wywołania programu

Np. wywołanie programu program mogło by mieć formę: ./program Ala 2 3 Wtedy: argc == 4 argv[0] == "program" argv[1] = "Ala" argv[2] == "2" argv[3] == "3" Przyporządkowanie tych parametrów wykonuje się samoistnie w momencie wywołania programu, jedynym wkładem programisty jest zadeklarowanie funkcji main w formie int main(int argc, char **argv).