habe das nun folgendermaßen gemacht:
Code:
int tastenfeld(void)
{
	nummer=0;
	numer=nummer;
	i=0;
	flag=1;
	do{
	adc2 = readADC(ADC_2);
	mSleep(10);
	adc2a = readADC(ADC_2);
	mSleep(10);
	adc2b = readADC(ADC_2);
	adc=adc2+adc2a+adc2b;
	adc=adc/3;
	if (nummer>numer)
	{
	nummer=nummer*10;
	numer=nummer;
	}
	setCursorPosLCD(0,i+9);
	if(adc2>262&&adc2<266)
	{
		writeStringLCD("3");
		nummer=nummer+3;
		num[i]=3;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>282&&adc2<286)
	{
		writeStringLCD("6");
		nummer=nummer+6;
		num[i]=6;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>302&&adc2<306)
	{
		writeStringLCD("9");
		nummer=nummer+9;
		num[i]=9;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>324&&adc2<328)
	{
		flag=0;
	}
	else if(adc2>361&&adc2<365)
	{
		writeStringLCD("2");
		nummer=nummer+2;
		num[i]=2;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>400&&adc2<404)
	{
		writeStringLCD("5");
		nummer=nummer+5;
		num[i]=5;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>443&&adc2<447)
	{
		writeStringLCD("8");
		nummer=nummer+8;
		num[i]=8;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>490&&adc2<494)
	{
		writeStringLCD("0");
		nummer=nummer*10;
		num[i]=0;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>552&&adc2<556)
	{
		writeStringLCD("1");
		nummer=nummer+1;
		num[i]=1;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>647&&adc2<651)
	{
		writeStringLCD("4");
		nummer=nummer+4;
		num[i]=4;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>765&&adc2<769)
	{
		writeStringLCD("7");
		nummer=nummer+7;
		num[i]=7;
		i=i+1;
		mSleep(300);
	}
	else if(adc2>918&&adc2<921)
	{
		if(i==0)
		{
			clearPosLCD(0,i+9,1);
		}
		else
		{
			
			
			i=i-1;
			nummer=nummer-num[i];
			clearPosLCD(0,i+9,1);
		}
		mSleep(200);
	}
	}while(flag==1);
	sound(100,100,50);
	nummer=nummer/10;
	clearPosLCD(0,9,i);
	return nummer;
}
# zum bestätigen und
* um zu löschen.

habe aber probleme wenn ich die 0 eingebe dann spuckt der immer ganz komische werte aus.
und wenn ich bei einer 4 stelligen zahl die letzte ziffer lösche gibt er am ende nur 2 ziffern aus auch wenn ich die 4 durch eine andere ersetzt habe
(wenn ich 1564 eingebe, 4 lösche und dafür eine 2 mache also 1562 gibt er nur 15 zurück)