>versenden | >diskutieren | >Permalink 
Packmann, am 12.10. 2005 um 12:32:14 Uhr
Kotfragment

Ich habe mein Kotfragment wiedergefunden, nach mehr als zwei Jahren! Ist das nicht schön?! Obwohl ich es eigentlich jetzt gar nicht brauche, lege ich es mal unter diesen Stichwort ab, doppelt hält besser, und in DasOffizielleWebtagebuchDerGrobianismusliga gehört es ja eigentlich auch gar nicht:

#include <iostream.h>
#include <string.h>

struct kapo {
int nr;
char title[50];
char desc[500];
};

struct kapo* pArrkapo;
struct kapo* pArrHilfskapo;


void main (void)
{
int KatLen = 10; // KatLen; zu Beginn Länge des Recordsets
int vict = 0;
int bGefunden = 0;

pArrkapo = new struct kapo[KatLen];

// Einmal fuellen, wuerde eigentlich aus Recordset kommen
for (int i = 0; i<KatLen; ++i)
{
pArrkapo[i].nr = i*10;
strcpy(pArrkapo[i].title, »Sinnloser Titel«);
strcpy(pArrkapo[i].desc, »Dies ist eine laengere Beschreibung.«);
}

while (1)
{
// Zu Beginn der Schleife aktuellen Stand ausgeben
for (i = 0; i<KatLen; ++i)
{
cout << »Nummer: « << pArrkapo[i].nr << endl;
// cout << »Titel: « << pArrkapo[i].title<< endl;
// cout << »Beschreibung: « << pArrkapo[i].desc << endl;

}

cout << »Welche Katalogposition soll gekuerzt werden? «;
cin >> vict;

// Nach zu loeschender ID suchen
for (i = 0; i<KatLen; ++i)
{
// Zu loeschende Katalogposition markieren
if (pArrkapo[i].nr == vict)
{
pArrkapo[i].nr = -1;
bGefunden = 1;
break;
}

}


if (bGefunden == 0)
{
cout << »Katalog-ID« << vict << » wurde nicht gefunden« << endl;
}
else
{
pArrHilfskapo = new struct kapo[--KatLen cout << »Hilfsarray ist reserviert ... « << endl;
cout << »KatLen ist jetzt « << KatLen << endl;

// Brauche ich als Index-Zähler fuer den gekuerzten Array
int j = 0;

// KatLen ist gekürzt, ich muss aber aus dem ungekuerzten Array kopieren
for (i = 0; i<(KatLen + 1); ++i)
{
// Alles außer markierter Katalogposition wird kopiert
if (pArrkapo[i].nr != -1)
{
pArrHilfskapo[j].nr = pArrkapo[i].nr;
strcpy(pArrHilfskapo[j].title, pArrkapo[i].title);
strcpy(pArrHilfskapo[j].desc, pArrkapo[i].desc);
++j;
}

}

// j sofort wieder zurücksetzen
j = 0;

// Es wurde kopiert, Originalarray kann also gelöscht ...
delete pArrkapo;

// ... und fuer die neue Laenge wieder angefordert werden.
pArrkapo = new struct kapo[KatLen];

// Aus dem Hilfsarray in das gekuerzte Original kopieren
for (i = 0; i<KatLen; ++i)
{
pArrkapo[i].nr = pArrHilfskapo[i].nr;
strcpy(pArrkapo[i].title, pArrHilfskapo[i].title);
strcpy(pArrkapo[i].desc, pArrHilfskapo[i].desc);
}

// Jetzt kann Hilfsarray geloescht werden
delete pArrHilfskapo;

// Neuen Originalarray ausgeben
for (i = 0; i<KatLen; ++i)
{
cout << »Nummer: « << pArrkapo[i].nr << endl;
// cout << »Titel: « << pArrkapo[i].title << endl;
// cout << »Beschreibung: « << pArrkapo[i].desc << endl;

}

} // Ende else

bGefunden = 0;

} // Ende while(1)

} // Ende main




   User-Bewertung: +1

Bewerte die Texte in der Datenbank des Assoziations-Blasters!

Hiermit wurden Dir 1 Bewertungspunkte zugeteilt. Wenn Dir ein Text unterkommt, der Dir nicht gefällt, drücke den Minus-Knopf, findest Du einen Text, der Dir gefällt, drücke den Plus-Knopf. Jede Bewertung verbraucht einen Deiner Bewertungspunkte.

Damit Deine Bewertungs-Punkte erhalten bleiben, muss ein Cookie auf Deinem Computer abgelegt werden. Bitte wähle, ob der Cookie für vier Monate oder nur für eine Woche gespeichert werden soll:

Mehr Informationen über das Bewertungssystem
 Konfiguration | Web-Blaster | Statistik | Hilfe | Startseite