A.24 Lösungen zu Kapitel 31
C: Namen in Arrays
Versuchen Sie, Ihren Namen mithilfe eines Arrays zu speichern und auszugeben.
Antwort:
Namen in einem Array zu speichern ist einfach – verwenden Sie hierzu ein Array vom Datentyp char.
Listing A.37 Der umständliche Weg
char name[4];
name[0] = 'A';
name[1] = 'l';
name[2] = 'f';
name[3] = '\0';
Listing A.38 Der einfache Weg
char name[] = "Steffen Wendzel";
C: Ausgabe von Personendaten
Auf Seite 1038 finden Sie C-Code, der drei Personendatensätze einliest. Erweitern Sie das Programm um eine Schleife, die mit der Funktion printf() die Daten aller Personen ausgibt.
Antwort:
Listing A.39 Ausgabe von Personendaten
#include <stdio.h>
struct person {
short gewicht;
short alter;
short groesse;
};
int main()
{
int i;
struct person p[3];
p[0].gewicht = 70;
p[0].alter = 22;
p[0].groesse = 182;
p[1].gewicht = 88;
p[1].alter = 77;
p[1].groesse = 166;
p[2].gewicht = 95;
p[2].alter = 50;
p[2].groesse = 190;
for (i = 0 ; i < 3; i++) {
printf("Person %i:\n", i);
printf(" Gewicht: %i\n", p[i].gewicht);
printf(" Alter: %i\n", p[i].alter);
printf(" Groesse: %i\n", p[i].groesse);
}
return 0;
}
Perl: cp
Schreiben Sie ein Programm, das eine Datei ähnlich kopiert wie cp.
Antwort:
Listing A.40 cp.pl
#!/usr/bin/perl
# cp.pl – ein sehr einfaches Skript zum Kopieren von Dateien
#
# Aufruf: ./cp.pl EINGABE AUSGABE
use strict;
my $in;
my $out;
open($in, <<$ARGV[0]");
open($out, >>$ARGV[1]");
# $line von $in lesen
while (defined (my $line = <$in>)) {
# $line nach $out schreiben
print $out $line;
}
close($in);
close($out);
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.