my $summe;

sub setsumme {
	my ($ergebnis) = @_;
	$summe = $ergebnis;
}

sub setaddition {
	my ($summand) = @_;
	$summe = $summe + $summand;
}

sub getsumme { return $summe; }

## Die Summanden werden eingelesen
sub addiereneinlesen {
	my ( $nummer, $summand, $summandexp ) = @_;

	my $stellensummand;

	if ( $summandexp >= 0 ) {
		$stellensummand = vorkommastellen( $summand * 10**$summandexp );
	}
	else {
		$stellensummand = vorkommastellen($summand);
		if ( $stellensummand <= abs($summandexp) ) {
			$stellensummand = abs($summandexp) + 1;
		}
	}
	setspaltenanzahl( $stellensummand + 1 );
	schreibezahlintabelle( $summand, $summandexp, $nummer, $stellensummand );
	setaddition( $summand * 10**$summandexp );
	setspaltenanzahl( vorkommastellen( getsumme() ) );
}

## Die Rechnungen fuer die Addtiom finden statt

sub addierenauslesen {
	my ($anzahlzeilen) = @_;
	my ( $j, $i, $speicherzahl );

	for ( $i = 1 ; $i <= $anzahlzeilen ; $i++ ) {
		for ( $j = 1 ; $j <= getspaltenanzahl() ; $j++ ) {
			$speicherzahl = zusammensetzen( $i, 1, $j );
		}
		for ( $j = 1 ; $j <= getspaltenanzahl() ; $j++ ) {
			schreibezelle( "", $i, $j );
		}
		schreibezahlintabelle( $speicherzahl, 0, $i, getspaltenanzahl() );

		if ( $i > 1 ) { schreibezelle( "\$+\$", $i, 1 ); }
	}
	my $uebertrag = 0;
	my $teilsumme = 0;
	for ( $i = getspaltenanzahl() ; $i > 0 ; $i-- ) {
		for ( $j = 1 ; $j <= $anzahlzeilen ; $j++ ) {
			if ( ( $rechne[$j][$i] eq "" )
				|| ( $rechne[$j][$i] eq "\$+\$" ) )
			{
				$teilsumme = $teilsumme;
			}
			else { $teilsumme += $rechne[$j][$i]; }
			$uebertrag = ( $teilsumme - ( $teilsumme % 10 ) ) / 10;
			if ( $uebertrag == 0 ) {
				$rechne[ $anzahlzeilen + 1 ][ $i - 1 ] = "";
			}
			else {
				$rechne[ $anzahlzeilen + 1 ][ $i - 1 ] = "\\tiny{" . $uebertrag . "}";
			}
			$rechne[ $anzahlzeilen + 2 ][$i] = $teilsumme % 10;
		}
		$teilsumme = $uebertrag;
	}
	for ( $j = 1 ; $j <= getspaltenanzahl() ; $j++ ) {
		schreibezelle( "", $anzahlzeilen + 2, $j );
	}
	schreibezahlintabelle( getsumme(), 0, $anzahlzeilen + 2, getspaltenanzahl() );

	for ( $i = 1 ; $i <= $anzahlzeilen + 1 ; $i++ ) {
		lesetabellenzeile( $i, getspaltenanzahl() );
	}

	
	ausgabe("\\hline \\hline");
	lesetabellenzeile( $anzahlzeilen + 2, getspaltenanzahl() );
}
