PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [b] wordlist generator in c++



vale
28.05.2006, 11:26
#include <fstream>
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
#pragma hdrstop //blödsinn wird eingebunden


int combos=0;
int words;
int anzahl;
int anzahl2;
int absatz=0;
char *zeichen;
#pragma argsused //variablen werden deklariert


int main(int argc, char* argv[])
{
zeichen = new char[500]; //string "zeichen" wird eingerichtet
cout << "Welche Zeichen sollen benutzt werden(max.500 verschiedene)?" << endl;
gets(zeichen); // die zeichen, die in die wordlist sollen, werden abgefragt
cout << "Bitte gebe die exakte Anzahl der Zeichen an. DIes ist enorm wichtig, da die Liste sonst nicht die " << endl << "gewuenschten Anforderungen erfuellt." << endl;
cin >> anzahl; //anzahl der zeichen wird manuell abgefragt,habe dazu keine bessere möglichkeit gefunden
cout << "Wie viele Kombinationen sollen enthalten sein?" << endl;
cin >> combos; // die anzahl der wörter, die rein sollen, werden abgefragt
cout << "Aus wievielen Buchstaben soll jede Kombination bestehen?" << endl;
cin >> words; //die anzahl der buchstaben wird abgefragt
words=words-1; //von den buchstaben wird 1 abgezogen, da 0 gezählt wird
cout << "Zurücklehnen, Enter drücken, und Entspannen" << endl;

getch();
ofstream file("C://final1.txt", ios::out|ios::app); //file final1.txt auf C:/ wird erstellt bzw. zum schreiben geöffnet
if (file.is_open()) //wenn das file erfolgreich geöffnet wurde...
{
do //starte eine schleife, die dann beendet ist, wenn int combos auf 0 steht
{
anzahl2=random(anzahl); //nimmt eine zufällige zahl, die nicht größer als die angegebene Anzahl der zeichen im string zeichen sein darf
cout << zeichen[anzahl2]; //ein zeichen aus dem string "zeichen wird genommen, das sich an der stelle der zufälligen zahl befindet
file << zeichen[anzahl2]; //das selbe wird geschrieben

if (absatz==words) //es wird abgefragt, ob die zahl der zeichen der zahl entspricht, nach er ein zeilenumbruch gebildet werden soll.
{
cout << endl; //sollte dies der fall sein, wird ein absatz sowohl in der commandozeile als auch
file << '\n'; //in dem txt file gebildet
combos=combos-1; //es wird eine einheit abgezogen, damit die gewünschte anzahl erreicht wird
absatz=0; //stelle absatz zurück auf 0
}
else
{
absatz=absatz+1; //sollte die gewünschte anzahl an zeichen sein, wird das zeicehn einfahc eingefügt, und int absatz um 1 erhöht.
}
}
while(combos != 0);
file.close(); //file wird geschloßen
}
cout << "Thx, and Goodbye.";
getch();
delete zeichen;
return 0;
}


gebastelt mit dem borland c++ builder 6 enterprise.
ich hoffe, der code geht in den comments nicht unter,
ist das erste mal, das ich sowas schreibe XD