>Info zum Stichwort Kot | >diskutieren | >Permalink 
Kotfragment, optimiert schrieb am 7.4. 2003 um 00:28:28 Uhr über

Kot

#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; // ursprüngliche Länge des Recordsets
int vict = 0; // Beendete Los-ID
int bGefunden = 0;
int x = 0; // Index-Zähler fuer gekuerzte Arrays

// Originalarray reservieren
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.« );
}

// TIPP: Eventuell einmal komplett speichern in pArrArchivkapo

while (KatLen)
{
// 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
{
// Hilfsarray für gekürzte Kataloglaenge anfordern
pArrHilfskapo = new struct kapo[--KatLen];

// 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[x].nr = pArrkapo[i].nr;
strcpy ( pArrHilfskapo[x].title , pArrkapo[i].title );
strcpy ( pArrHilfskapo[x].desc , pArrkapo[i].desc );
++x;
}

}

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

// Es wurde kopiert, Originalarray kann also gelöscht und
// fuer die neue Laenge wieder angefordert werden.
delete pArrkapo;
pArrkapo = new struct kapo[KatLen];

// Aus Hilfsarray das gekuerzte Original neu aufbauen
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;

} // Ende else

// Für neue Runde wieder zurücksetzen
bGefunden = 0;

} // Ende while

} // Ende main


   User-Bewertung: -1
Ganze Sätze machen das Assoziieren und Blasten interessanter!

Dein Name:
Deine Assoziationen zu »Kot«:
Hier nichts eingeben, sonst wird der Text nicht gespeichert:
Hier das stehen lassen, sonst wird der Text nicht gespeichert:
 Konfiguration | Web-Blaster | Statistik | »Kot« | Hilfe | Startseite 
0.0163 (0.0122, 0.0029) sek. –– 943580073