>Info zum Stichwort DasOffizielleWebtagebuchDerGrobianismusliga | >diskutieren | >Permalink 
Kotfragment schrieb am 6.4. 2003 um 23:26:45 Uhr über

DasOffizielleWebtagebuchDerGrobianismusliga

#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: /
Assoziationen, die nur aus einem oder zwei Wörtern bestehen, sind laaaaaaangweilig.

Dein Name:
Deine Assoziationen zu »DasOffizielleWebtagebuchDerGrobianismusliga«:
Hier nichts eingeben, sonst wird der Text nicht gespeichert:
Hier das stehen lassen, sonst wird der Text nicht gespeichert:
 Konfiguration | Web-Blaster | Statistik | »DasOffizielleWebtagebuchDerGrobianismusliga« | Hilfe | Startseite 
0.0549 (0.0499, 0.0032) sek. –– 922935123