Functions
main.cpp File Reference
#include "main.h"
Include dependency graph for main.cpp:

Functions

int main (int argc, char *argv[])
string read_string ()
string read_filename (bool exist)
vector< bool > compress_single (Huffman *huffman_compr)
void decompress_single (Huffman *huffman_compr, vector< bool > compr_bits)
bool * compress_file (Huffman *huffman_compr, bool *compr_bits, int *count, int algo_id)
void save_compression (bool *compr_bits, int length)
void save_decompression (Huffman *huffman_compr)
void build_tree (Huffman *huffman_compr, string filename)

Detailed Description

Datei zum Starten eines Menues und Ausfuehren des Huffman-Algorithmus

Author:
- David Hadizadeh
Version:
- 1.0
Date:
- 07.06.2012

Function Documentation

void build_tree ( Huffman huffman_compr,
string  filename 
)

Erzeugt einen Huffman-Binaer-Baum anhand einer Datei.

Parameters:
huffman_comprZeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird
filenameDateiname der Datei, die als Wortvorlage verwendet wird

Here is the call graph for this function:

bool* compress_file ( Huffman huffman_compr,
bool *  compr_bits,
int *  count,
int  algo_id 
)

Komprimiert eine komplette Datei auf 3 verschiedene Arten und gibt deren Dauer aus.

Parameters:
huffman_comprZeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird
algo_idAlgorithmus-ID, 0 fuer intuitiven, 1 fuer tabellearischen, sonst Loookup Algorithmus
Returns:
Zeiger auf Komprimierte Bits

Here is the call graph for this function:

vector<bool> compress_single ( Huffman huffman_compr)

Komprimiert einen einzelnen einzulesenden Text und gibt deren Kompressionsbits aus.

Parameters:
huffman_comprZeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird
Returns:
Kompressions-Bits

Here is the call graph for this function:

void decompress_single ( Huffman huffman_compr,
vector< bool >  compr_bits 
)

Dekomprimiert uebergebene Bits mit dem Huffman-Algorithmus und gibt den dekomprimierten Text aus.

Parameters:
huffman_comprZeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird
compr_bitstext

Here is the call graph for this function:

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

Start-Funktion, die ein Objekt der Huffman-Klasse auf dem Heap erzeugt und auf dieses bei verschiedenen Menüauswahlen die jeweilige Methode des Huffman-Objekts aufruft. Abschliessend wird das Objekt ordnungsgemaess vom Speicher entfernt.

Parameters:
argcAnzahl uebergebener Parameter
argvParameter-Feld, das beim Start des Programms uebergeben wird
Returns:
Wert der angibt, ob das Programm korrekt beendet wurde (0 = korrekt).

Here is the call graph for this function:

string read_filename ( bool  exist)

Fragt nach einem Dateinamen, liest ihn ein und prueft, ob die Datei existiert. Je nach Parameteruebergabe wird dies so lange wiederholt, wie erforderlich.

Parameters:
exist0, wenn die Datei nicht existieren muss, sonst muss sie existieren
Returns:
eingelesener Dateiname

Here is the call graph for this function:

string read_string ( )

Liest einen Text (mit Leerzeichen) ein und leert vor- und nachher den Puffer.

Returns:
eingelesenen Text
void save_compression ( bool *  compr_bits,
int  length 
)

Speichert die uebergebenen Bits in einer Datei.

Parameters:
compr_bitszu speichernde Bits

Here is the call graph for this function:

void save_decompression ( Huffman huffman_compr)

Liest eine komprimierte Datei ein, dekomprimiert sie und speichert sie in einer anderen Datei. Die Dateinamen werden jeweils eingelesen.

Parameters:
huffman_comprZeiger auf ein Huffman-Objekt, das zum Ausfuehren des Algorithmus verwendet wird

Here is the call graph for this function:

 All Classes Files Functions