Aufgabe 9.1 Strukturen und Klassen
Erweitern Sie den struct person durch weitere Komponenten, z. B.:
- Strasse,
- Hausnummer,
- Postleitzahl,
- Ort,
- Geburtsdatum [Array aus 3 Zahlen].
struct Person.m
|
person = struct( 'Name', 'Hannah', ...
'Telnr', '0815', ...
'Strasse', 'Hamb. Str.', ...
'Hausnr', 75 );
|
| Musterlösung 9.1
|
person = struct( 'Name', 'Hannah', ...
'Telnr', '0815', ...
'Strasse', 'Hamb. Str.', ...
'Hausnr', 75,...
'Postleitzahl',59555,...
'Ort','Lippstadt',...
'Geburtsdatum',[1,1,1920] );
|
Aufgabe 9.2 Strukturen und Klassen
Erweitern Sie die Klasse Person um weitere Eigenschaften, analog zur vorherigen Aufgabe. Passen Sie auch die Funktionen getPerson und printPerson daran an.
Klasse Person.m
|
classdef Person
% Eigenschaften
properties
name = '';
telnr = 0;
end % properties
% Methoden
methods
% Konstruktor
function o = Person( name, telnr )
o.name = name;
o.telnr = telnr;
end
function print( o )
fprintf( 'Name: %s, Tel.Nr.: %g.\n', ...
o.name, o.telnr );
end
function info( o )
fprintf( 'Telefonnummer %g gehört zu %s.\n', ...
o.telnr, o.name );
end
end % methods
end % classdef
|
| Musterlösung 9.2
|
%
% pers = Array mit Elementen der Klasse Person
%
function pers = getPerson( anz )
for( n = 1:anz ) % Einleseschleife: von 1 bis anz
name = input( 'Name: ', 's' ); % als Text
telnr = input( 'Tel.-Nr.: ' ); % als Zahl
str = input( 'Strasse: ', 's' ); % als Text
hnr = input( 'Haus.-Nr.: ' ); % als Zahl
plz = input( 'PLZ: ' ); % als Zahl
ort = input( 'Ort: ', 's' ); % als Text
% neues n-tes Objekt von Person
pers(n) = Person( name, telnr, str, hnr, plz, ort );
end
end
%
% pers = Array mit Elementen der Klasse Person
%
function printPerson( pers )
anz = length( pers ); % Zahl der Personen
fprintf( '\nMeine Freunde : \n' ); % Überschrift
fprintf( '---------------\n' );
for( n = 1:anz ) % Ausgabeschleife
pers(n).print;
end
end
|
Aufgabe 9.4 Strukturen und Klassen
Aufgabe 9.4 Strukturen und Klassen
Aufgabe 9.5 Strukturen und Klassen
→ zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe25