lekcja_infy.txt

(4 KB) Pobierz
Napisz funkcje o naglowku. bool copy(string znak, string kopia), ktora kopiuje zawartosc pliku. o 
nazwe przekazanej przez parametr zrobia do pliku o nazwie przekazanej przez parametr kopia.
zapisujac kazde slowo w nowej lini, poprzedzajac numerem slowa i znakiem : .

np. Ala ma kota
1: Ala
2: ma
3: kota

Ponadto funckja ma zwracac true, w przypadku gdy zrobie ta funkcje inaczej false


#pragma hdrstop
#include<iostream>
#include<string>
#pragma argsused
#include <iostream>
#include <fstream>
using namespace std;



bool Copy(string zrodlo, string docelowy)
{
  bool wystartowany;
  string slowo;
  int obrot =1;

  ifstream in(zrodlo.c_str());
  ofstream out(docelowy.c_str());

  if (in.is_open() && out.is_open())
  {
    while (!in.eof())
    {
      in >> slowo;
      out<< licznik <<" " << slowo<< endl;
      licznik++;
   }
    return true;
   }
   else
   {
    return false;
   };


  if (plik_pocz.is_open())
  {
    while (!plik_pocz.eof())
    {
      for(int i=0; i<50;i++)
      {
        plik>>i>> ": ">> zmienna[i];
      }
    }
    //plik_pocz.close();
  }



  };
}


int main(int argc, char* argv[])
{

while(true)
{
  Copy("begin","end");
}
        return 0;
}


---------------------


2.8
Dana jest deklaracja struktury
struct Tznaki
{
  int ileSpacji;
  int ileTabulacji;
  int ileNowychPlikow;
};

Napisz funkcje logiczna, któa w pliku tekstowym o nazwie otrzymanej w parametrze
policzy ilość znaków spacji, tabulacji i nowej lini, a otrzymane wyniki umiesci w odpowiednich polach struktury
BZnaki otrzymanej w parametrze.
Funckja ta powina zwracac true or false, w zaleznosci od tego czy powiodla sie operacje plikowe czy tez nie.

struct BZnaki
{
  int ileSpacji;
  int ileLini;
  int ileNowychPlikow;
};

bool PoliczwPliku (string filename, BZnaki &bz)    // & jest w celu wprowadzania danych do strukt, gdyz po wyjsciu z petli niszczy sie kopia
{
  bool wystartowany;
  char znak;
  int obrot =1;

  ifstream plik(filename.c_str());

  if (plik.is_open())
  {
    bz.ileSpacji = 0;
    bz.ileLini =0;
    bz.ileNowychPlikow =0;

    while (plik.get(znak))
    {
      switch(znak)
      {
      case ' ': bz.ileSpacji ++; break;
      case '\n': bz.ileLini ++; break;
      }
      plik.clear();
    }
    }

...



----------------------------------------


2.9 Dane sa typy strukturalne
struct TPrzesylka
{
  string nazwa;
  float uwaga;
  bool priorytet; // true znak przesylkki priorytetowej 
}

struct TListaPrzesylek
{
 int ileP // ile przesylek ile<=100;
}
TP ileP[100]; // tablica posiada dane o wszystkich przesylkach.

Napisz funkcje o naglowku.
int ZapiszP(TListaPrzesylek &L, string str)
ktora zapisze do pliku o nazwie przekazanej w parametrze npstr , pelna informacje oprzesylkach priorytetowych ze struktury L
Wartoscia funkcji jest ilosc zapisan ej w przesylek.
JEsli w struktorze brak jest przesylek priorytetowych, to w pliku zapisujemy komunikat "brak przesylek priorytetowych"
JEsli nei uda sie w otwartym pliku o podaneej nazwie wartoscia funkcji ma byc -1.

#pragma hdrstop
#include<iostream>
#include<string>
#pragma argsused
#include <iostream>
#include <fstream>
using namespace std;

struct TPrzesylka
{
  string zKad, dKad;
  float waga;
  bool priorytet; // true znak przesylkki priorytetowej 
};

struct TListaPrzesylek
{
 int ileP; // ile przesylek ile<=100;
 TPrzesylka tabP[100]; // tablica posiada dane o wszystkich przesylkach.
};
int ZapiszP(TListaPrzesylek &L, string str)
{
   int temp_priorytet;
  ofstream plik(str.c_str());
  if(true)
  {
    for (int i=0; i<L.ileP; i++)
    {
     plik << "Zkad: "<<L.tabP[i].zKad<< "Dokad: "<< L.tabP[i].dKad<< "Waga: "<<L.tabP[i].waga<<"Priorytet: "<< L.tabP[i].priorytet "\n";
      if (L.tabP[i].priorytet)
      {
       temp_priorytet ++;
      }
    }
    if (temp_priorytet == 0)
    {
      str = "Brak listow priorytetowych";
    }
    else
    {
      str = "Lista priorytetow: "<< temp_priorytet;
    };
    return 1;
  {
  else
  {
  return -1;
  }
};


TListaPrzesylek L;
int main(int argc, char* argv[])
{

while(true)
{
 ZapiszP(L);
}
}



Do Domu:
2.10














Zgłoś jeśli naruszono regulamin