Hat jemand eine Tip ob man das auch noch schneller hinbekommt?
PS: Es müssen die Zahlen 1 und 2 als QString eingegeben werden da die einfach über den größt möglichen Datentyp hinausreichen.
Code: Alles auswählen
QString TEIL::add2Zahlen(QString zahl1, QString zahl2)
{
int ziff1 = 0;
int ziff2 = 0;
int sum = 0;
int merk = 0;
QString erg, teilerg;
bool ok;
do{
// Schön immer alles reseten für die Addition
ziff1 = 0;
ziff2 = 0;
sum = 0;
// Zahl1, Stellenweise zerlegen
if(!zahl1.isEmpty()){
ziff1 = zahl1.right(1).toInt(&ok, 10);
zahl1.chop(1);
}
// Zahl2, Stellenweise zerlegen
if(!zahl2.isEmpty()){
ziff2 = zahl2.right(1).toInt(&ok, 10);
zahl2.chop(1);
}
// Eigentliche Addition + Übertrag
sum = ziff1 + ziff2 + merk;
if(sum != 0){
// Summe 1- oder 2- stellig ?
teilerg = QString::number(sum);
// Zehnerstelle merken
if(sum > 9) merk = teilerg.left(1).toInt(&ok,10);
else merk = 0;
// Einer als Teilergebnis
erg.prepend(teilerg.right(1));
}
}while(sum != 0);
return erg;
}