Einzelnen Beitrag anzeigen
Ungelesen 01.12.10, 16:46   #1
durst99
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 5
Bedankt: 0
durst99 ist noch neu hier! | 0 Respekt Punkte
Standard Problem mit C Programm

Hallo

Ich muss ein C Programm schreiben, welches einen String
( Zeichenkette 123456 )

In eine Integer Zahl umwandelt und ausgibt.

Ohne die itoa Funktion !

Mein Code schaut so aus, aber irgendwas scheint nicht zu funktionieren, da ein willkührliches Ergebnis herauskommt anstatt der zahl 123456.

Ich starte bei 0 und Zähle in jedem Durchgang den jeweiligen Inhalt vom String dazu , dann mal 10.

Also quasi :

zahl = (0+0x31) * 10 = 10
zahl = (10 + 0x32)*10 = 120
zahl = (120 + 0x33)*10 = 1230
.
.
.
zahl = (123450 + 0x36)*10 = 123456


Was stimmt am Code nicht ?

Code:
#include <stdio.h>


unsigned char zahl_als_text[7] = {'1','2','3','4','5','6','\0'};
unsigned int zahl;

int TextInZahlUmwandeln()
{
	
	
	unsigned int i;
	

	i=0;
	zahl=0;

	for (i=0;i<6;i++)
	{
		zahl = (zahl + zahl_als_text[i]);
		zahl = zahl*10;	
	}	
	
	return zahl;	
	
}


int main()

{

	TextInZahlUmwandeln(zahl);
	printf("TEXT %s ergibt umgewandelt in eine Zahl %i\n",zahl_als_text, zahl);


return 0;
}
Danke schonmal.
durst99 ist offline   Mit Zitat antworten