C++ Bc. 22: Porovnání verzí

Z GeoWikiCZ
Bez shrnutí editace
Bez shrnutí editace
Řádek 2: Řádek 2:


CSV formát ([http://en.wikipedia.org/wiki/Comma-separated_values Comma-separated values]) se používá pro zápis tabulek, kde každý řádek  
CSV formát ([http://en.wikipedia.org/wiki/Comma-separated_values Comma-separated values]) se používá pro zápis tabulek, kde každý řádek  
tabulky je zapsán jako jeden řádek textového souboru (ukončený znakem '\n') a jednotlivé hodnoty v řádku jsou oddělovány znakem čárka (,) podle
tabulky je zapsán jako jeden řádek textového souboru (ukončený znakem '\n') a jednotlivé hodnoty v řádku jsou oddělovány znakem čárka (,). Kromě znaku čárku se jako oddělovač někdy používá také znak středník (;). Zjednodušená pravidla jsou:
následujících zjednodušených pravidel:


1. Každý záznam je umístěn v samostatném řádku, jednotlivá pole oddělena čárkou, za posledním polem se čárka neuvádí. Počet polí je v jednom souboru vždy konstatní.
1. Každý záznam je umístěn v samostatném řádku, jednotlivá pole oddělena čárkou, za posledním polem se čárka neuvádí. Počet polí je v jednom souboru vždy konstatní.
Řádek 18: Řádek 17:


       "aaa","b""bb","cc,c"
       "aaa","b""bb","cc,c"
''' Zadání '''
''' Zadání '''


Napište funkci, která ze zadaného seznamu polí vytvoří výstupní záznam ve formátu CSV
Napište funkci, která ze zadaného seznamu polí vytvoří výstupní záznam ve formátu CSV


  std::string CSV_zapis(const std::vector<std::string>& pole);
  std::string CSV_zapis(const std::vector<std::string>& pole, char oddělovac=',');


Správnou činnost funkce ověřte na demonstračním programu.
Správnou činnost funkce ověřte na demonstračním programu.

Verze z 17. 3. 2006, 22:02

CSV formát - zápis

CSV formát (Comma-separated values) se používá pro zápis tabulek, kde každý řádek tabulky je zapsán jako jeden řádek textového souboru (ukončený znakem '\n') a jednotlivé hodnoty v řádku jsou oddělovány znakem čárka (,). Kromě znaku čárku se jako oddělovač někdy používá také znak středník (;). Zjednodušená pravidla jsou:

1. Každý záznam je umístěn v samostatném řádku, jednotlivá pole oddělena čárkou, za posledním polem se čárka neuvádí. Počet polí je v jednom souboru vždy konstatní.

     aaa,bbb,ccc
     zzz,yyy,xxx

2. Každé pole může být volitelně uzavřeno do uvozovek

     "aaa",bbb,"ccc"
     zzz,yyy,"xxx"

3. Jestliže pole obsahuje bíle znaky, znak uvozovky nebo znak čárka, musí být uzavřeno do uvozovek. Znaky uvozovky v poli se zdvojují

     "aaa","b""bb","cc,c"

Zadání

Napište funkci, která ze zadaného seznamu polí vytvoří výstupní záznam ve formátu CSV

std::string CSV_zapis(const std::vector<std::string>& pole, char oddělovac=',');

Správnou činnost funkce ověřte na demonstračním programu.

Příklad - vstup

1 101MA1G 3+3 8 z,zk *p Matematika 1 Doc. Kočandrlová
1 151TGE1 3+3 6 z,zk p Technická geodézie 1 Ing. Ratiborský
1 153OSYL 1+2 5 kz p Operační systém Linux Ing. Pytel

Příklad - výstup

1,101MA1G,3+3,8,"z,zk",*p,"Matematika 1","Doc. Kočandrlová"
1,151TGE1,3+3,6,"z,zk",p,"Technická geodézie 1","Ing. Ratiborský"
1,153OSYL,1+2,5,kz,p,"Operační systém Linux","Ing. Pytel"

[ Zpět | C++ ]