ACCESS Cwicz5 2008

background image

Katedra Informatyki Stosowanej

Borland C++

Opracowanie mgr Gra

ż

yna G

ę

bal, WZiMK P

Ś

k

Ćwicz. 5 – Operacje na tablicach, pliki tekstowe

Funkcje operujące na plikach tekstowych (<stdio.h>)

FILE *fopen(const char *nazwa_pliku, const char tryb)

Funkcja otwiera plik o podanej nazwie i zwraca wskaźnik pliku lub NULL, jeśli próba otwarcia się nie
powiedzie. Argument tryb określa rodzaj dostępu do pliku:
“r”

otwiera plik tekstowy tylko do odczytu

“w”

tworzy nowy plik tekstowy do zapisu, jeśli plik już istnieje kasuje jego zawartość

“a”

otwiera istniejący plik tekstowy w trybie dopisywania

C++ i liczne kompilatory ANSI C umożliwiają otwarcie pliku do jednoczesnego odczytu i zapisu, co wskazują
tryby “r+”, “w+”, “a+”.

int fscanf(FILE *wsk_pliku,const char *format, ...)
int fprintf(FILE *wsk_pliku,const char *format, ...)

Działają analogicznie jak scanf i printf. Pierwszy parametr jest wskaźnikiem pliku.

int fclose(FILE *wsk_pliku)

Opróżnia i zwalnia przydzielony bufor, zamyka plik. Zwraca EOF w przypadku błędu, 0 gdy zakończy się
poprawnie.

FILE *in, *out; int x;
in=fopen(”plik_d”,”r”);
out=fopen(”plik_w”,”w”);
fscanf(in,”%d”,&x);
fprintf(out,”x=:%4d\n”,x);
fclose(in);
fclose(out);


Zad. 5.1
Otworzyć program zawierający rozwiązanie Zad. 3.1.

Zmodyfikować program, tak aby dane wczytywane były z pliku tekstowego znajdującego się w katalogu
dydaktycznym (plik można założyć w edytorze tekstowym lub skopiować z katalogu znajdującym się dysku
wspólnym). Program powinien sprawdzać czy operacja otwierania pliku zakończyła się powodzeniem. W
przypadku błędu należy wyświetlić komunikat Nie odnaleziono pliku z danymi i zakończyć działanie programu.
Zmienną plikową zadeklarować jako zmienną zewnętrzną.

Opracować brakujące w programie funkcje:

wyznaczyć sumę elementów dodatnich parzystych,

wyznaczyć iloczyn niezerowych elementów ciągu,

wyznaczyć element minimalny w ciągu oraz pozycję jego ostatniego wystąpienia,

przenieść element minimalny (jeśli się powtarza, to jego ostatnie wystąpienie) na początek ciągu , np.

2 56 8 0 -1 10 -1 90

-1 56 8 0 -1 10 2 90
wykorzystując funkcję zamien oraz funkcję min.

policzyć ile razy w ciągu występuje zadana liczba b oraz ile razy występuje liczba –b,

Pamiętać o wywołaniu opracowanych funkcji i wyprowadzeniu wyników na ekran.

Zad. 5.2

Zmodyfikować program, tak aby wszystkie wyniki były wyprowadzane do pliku. Zmienną plikową
zadeklarować jako zmienną zewnętrzną. Plik wynikowy umieścić w swoim katalogu roboczym.

Zad. 5.3.

Napisać program, który pobiera z pliku kolejne znaki do znaku końca pliku. Znaki są przepisywane do drugiego
pliku tak, że kolejne linie tekstu są w nowym pliku oddzielane pustym wierszem.

background image

Katedra Informatyki Stosowanej

Borland C++

Opracowanie mgr Gra

ż

yna G

ę

bal, WZiMK P

Ś

k

Biblioteka iostream, obsługa wejścia/wyjścia

Język C++ oferuje obiektowo zorientowaną bibliotekę do obsługi operacji wejścia/wyjścia. Do programu należy
dołączyć plik nagłówkowy iostream.h, który udostępnia dwa obiekty:

cin - predefiniowany strumie

ń

wej

ś

cia

cout - predefiniowany strumie

ń

wyj

ś

cia

oraz dwa operatory:

>> - operator wyjmowania (ekstrakcji) informacji ze strumienia

<< - operator wstawiania (insercji) informacji do strumienia

Operator >> realizuje pobranie informacji wraz z jej interpretacją właściwą dla typu zmiennej. Analogicznie
operator << powoduje, że informacja wyświetlana na ekranie będzie sformatowana stosownie do typu zmiennej.

Istnieje możliwość formatowania wydruku:

int width(int) -

określa minimalną szerokość pola dla wyniku kolejnego(jednego)

wywołania cout,

int precision(int) -

określa dokładność wypisywania liczb zmiennoprzecinkowych; obowiązuje

do kolejnego wywołania tej funkcji.

Zad. 5.3
Uruchomić i przeanalizować poniższy program:

#include <iostream.h>
void main()
{ float a2,a1,a0,x;
cout <<"Podaj wspolczynniki wielomianu a2,a1,a0:\n" ;
cin >>a2 >>a1 >>a0;
cout <<"x=";
cin >>x;
cout <<"x=" <<x <<endl;
cout.precision(3);
cout <<"w(x)=" << a2*x*x+a1*x+a0;
return;
}

Zmodyfikować ten program, tak aby obliczał wartość wielomianu w przedziale <A,B> z krokiem H. Wydruk
powinien mieć postać:
w(tu wartość liczbowa x)=tu wyliczona wartość wielomianu
w(tu kolejna wartość liczbowa x)=tu kolejna wyliczona wartość wielomianu


Wyszukiwarka

Podobne podstrony:
ACCESS Cwicz4 2008
ACCESS Cwicz4 2008
ACCESS Cwicz4 2008
Przewodnik Relacyjne bazy danych 2008-2009, Ogrodnictwo 2011, INFORMATYKA, informatyka sgg, MS Acces
Ubytki,niepr,poch poł(16 01 2008)
2008 XIIbid 26568 ppt
Tamponada serca, Karpacz, 2008
Bliźniuk G , interoperacyjność przegląd, marzec 2008
komunikacja niewerbalna wgGlodowskiego 2008
Osteoporaza diag i lecz podsumow interna 2008
Wzorniki cz 3 typy serii 2008 2009
Norma ISO 9001 2008 ZUT sem 3 2014
2 Fizyko KRIOTERAPIA 2008
Wyklad 4 HP 2008 09
ostre białaczki 24 11 2008 (kurs)
download Prawo PrawoAW Prawo A W sem I rok akadem 2008 2009 Prezentacja prawo europejskie, A W ppt

więcej podobnych podstron