Wenn fertig, bitte Fenster schließen
|
// Lösung zu Speicherklassen #include <iostream> #include <iomanip> using std::cout; using std::endl; // Anzahl der Gerätetypen const int MAXDEVICE = 3; // Funktionsdeklarationen unsigned long SerialNumber(unsigned int device); // main() Funktion int main() { cout << "Erzeuge nun Seriennummern:\n"; // für 15 Geräte Seriennummern erzeugen for (register unsigned int index=0; index<15; index++) { // Gerätetyp zufällig festlegen int device = rand()%MAXDEVICE; cout << "Gerätetyp: " << device; // und Seriennummer dazu ausgeben cout << " erhält Seriennummer " << std::setw(6) << SerialNumber(device) << endl; } } // Funktion zum Erzeugen von Seriennummern unsigned long SerialNumber(unsigned int device) { // Feld für Seriennummern der einzelnen Gerätetypen // Das Feld wird mit der Start-Seriennummer des jeweiligen // Gerätetyps initialisiert static unsigned long numbers[MAXDEVICE] = {0,100,1000}; // Abprüfen ob Gerätetyp innerhalb des erlaubten Bereichs if ((device < 0) || (device > sizeof(numbers)/sizeof(numbers[0]))) return 0; // Seriennummer des Gerätetyps erhöhen numbers[device]++; // und zurückgeben return numbers[device]; } |