CLAB 10 2010-2011, Automatyka i Robotyka, Język programowania


Obsługa plików dyskowych w C++ - file handling - zapis i odczyt prostych plików tekstowych i binarnych.

Cele ćwiczenia:

Nowe zagadnienia:

Definicje nowych pojęć:

Określenie protokołu połączenia - sposobu komunikowania się z napędem na którym zapisujemy bądź z którego odczytujemy plik, czyli otwieranie pliku do zapisu lub odczytu:

fstream fout ( filename, mode ) ;

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

klasa (strumień do/z pliku) ścieżka dostępu do pliku tryb obsługi pliku

otwarcie pliku do zapisu fout lub do odczytu fin

(dla fout jeśli plik nie istnieje utworzenie pliku i otwarcie go zapisu)

filename np. “C:\\plik.txt”

mode ios :: out (tryb zapisu), ios :: in (tryb odczytu)

np.

fstream fout (“C:\\plik.txt”, ios :: out ) ; // otwarcie pliku plik.txt do zapisu w trybie

tekstowym (ios :: text - tryb domyślny)

fstream fout (“C:\\plik.dat”, ios :: out | ios :: binary ) ; // otwarcie pliku plik.dat zapisu w trybie

binarnym

fstream fin (“C:\\plik.txt”, ios :: in ) ; // otwarcie pliku plik.txt do odczytu w trybie

tekstowym

fstream fin (“C:\\plik.dat”, ios :: in | ios :: binary ) ; // otwarcie pliku plik.dat odczytu w trybie

binarnym

Zapisywanie lub odczytywanie danych z otwartego pliku:

fout - plikowy strumień wyjścia używając operatora << umieszczamy w strumieniu dane

np. cin >> x ; //przypisanie zmiennej x wartości wprowadzonej z klawiatury

fout << x ; //następnie zapisanie wartości zmiennej x do pliku

fin - plikowy strumień wejścia używając operatora >> umieszczamy w strumieniu dane

np. fin >> x ; //przypisanie zmiennej x wartości odczytanej z pliku

cout << x ; //następnie wydrukowanie wartości zmiennej x na ekranie monitora

Zamykanie pliku po zapisie w nim lub odczycie z niego danych, czynność konieczna aby nie utracić zawartości pliku:

fout . close ( ) ; //zamknięcie pliku otwartego do zapisu

fin . close ( ) ; //zamknięcie pliku otwartego do odczytu

Zadanie 1

Napisz program zapisujący wartości elementów wektora dziesięcioelementowego w pliku tekstowym. Wartości elementów wektora mają być wprowadzane z klawiatury.

#include <iostream>

#include <fstream>

#include <conio.h>

#define M 10

using namespace std;

int main()

{

int i=0;

float f [M];

char *plik ="C:\\dane.txt"; //ścieżka dostępu do pliku

fstream fout (plik,ios::out); //utworzenie i otwarcie pliku do zapisu w trybie tekstowym

while(i<M)

{

cin>>f[i];

fout<<'\t'<<f[i];

i++;

}

fout.close(); //zamknięcie pliku otwartego do zapisu

getch();

return 0;

}

Zadanie 2

Napisz program odczytujący wartości z pliku tekstowego utworzonego w zadaniu 1, program ma zapisać te wartości w wektorze, a następnie obliczyć wartości pierwiastka kwadratowego elementów wektora zapisując wyniki w oddzielnym wektorze.. Wartości elementów wektora wynikowego mają być wprowadzane na ekran monitora.

#include <iostream>

#include <fstream>

#include <conio.h>

#include <cmath >

#define M 10

using namespace std;

main()

{

int i=0;

float f[M],w[M];

char *plik="C:\\dane.txt"; //ścieżka dostępu do pliku

fstream fin(plik,ios::in); //otwarcie pliku do odczytu w trybie tekstowym

if (fin==0) //sprawdzenie czy plik istnieje

cout<<"Bląd otwarcia pliku !!!";

else

{

while(i<M)

{

fin>>f[i];

w[i]=sqrt(f[i]);

cout<<'\t'<<w[i]<<'\n';

i++;

}

}

fin.close(); //zamknięcie pliku otwartego do odczytu

getch();

return 0;

}

Zadanie 1 Zadanie 2

0x08 graphic

0x08 graphic

Zadania C++ - 10

  1. Napisz program, który utworzy na dysku plik i otworzy go do zapisu w trybie tekstowym, następnie wprowadzi z klawiatury i zapisze w pliku zdanie „ Mój pierwszy plik tekstowy w C++”.

  1. W oknie edycyjnym kompilatora zapisz następujące dane:

1 → 2 → 3 ↵

4 → 5 → 6 ↵

7 → 8 → 9

zapisz plik jako tekstowy (*.txt) na dysku.

Napisz program, który otworzy do odczytu utworzony plik, pobierze z niego dane i przypisze te wartości elementom tablicy X[3][3], następnie program podniesie wartości elementów tablicy do kwadratu i wyprowadzi na ekran monitora.

  1. Napisz program, który otworzy plik tekstowy z zadania 2 przypisze dane z pliku elementom tablicy następnie doda do elementów tablicy wartość 1.25 i zapisze macierz wynikową w pliku w trybie binarnym.

  1. Napisz program, który otworzy plik binarny z zadania 3 wprowadzi dane z pliku do tablicy A następnie otworzy plik tekstowy z zadania 2 i wprowadzi dane z pliku do tablicy B po czym obliczy sumę macierzy A i B zapisując wyniki w tablicy C którą, wyprowadzi na ekran monitora i zapisze w pliku binarnym.

  1. Napisz program, który otworzy plik tekstowy z zadania 1 dopisze do niego zdanie „To już mój piąty program do obsługi plików w C++”.

  1. Zapisz w pliku tekstowym następujące dane wg rysunku,

0x08 graphic

Długość belki l.

Promień kuli r.

Ciężar właściwy materiału kuli γ.

Naprężenia dopuszczalne na zginanie materiału belki kg.

Naprężenia dopuszczalne na rozciąganie materiału belki kr.

Napisz program, który pobierze dane z pliku i obliczy minimalne wymiary belki o przekroju kwadratowym i liny o przekroju okrągłym, (σg=M/W≤kg, W=a3/6, σr=F/S≤kg, S=a2).

Ćwiczenia laboratoryjne nr 10

„Język Programowania” str. 1

0x01 graphic

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
CLAB 12 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 11 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 1 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 5 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 1 2010-2011, Automatyka i Robotyka, Język programowania
Zestaw C++-zaliczenie wcześniejsze 2010-2011, Automatyka i Robotyka, Język programowania
CLAB 10 2010-2011 prosty, Automatyka i Robotyka, Język programowania
CLAB 10 2010-2011 folia, Automatyka i Robotyka, Język programowania
REGULAMIN KORZYSTANIA Z LABORATORIUM KOMPUTEROWEGO, Automatyka i Robotyka, Język programowania
Dodatek 2010 2011, Automatyka i Robotyka, SEMESTR 5, NEMAR, Nemar stary, nemar, nemar DUŻO, nemar la
powt, Automatyka i Robotyka, Język programowania
CLAB 2 2009-2010, Tematy ćwiczeń laboratoryjnych z Języka Programowania

więcej podobnych podstron