hi,
ich bin noch ein realtiver neuling auf dem gebiet der c-programmierung.
hab mich früher damit mal etwas befasst, und will jetzt wieder intensiver damit anfangen. seit gestern hänge ich hier mit den code fest.
Alles anzeigen
eigentlich dürfte es nicht so schwer sein, aber ka warum das nicht geht.
das programm soll erstmal nur die quersumme einer eingegeben zahl mit 3 stellen berechnen. der hat aber im ergebnisarray schon was stehen (kommt immer 8), und wenn ich mit die eingegeben zahl vor add printen lasse hat der nur die erste stelle drin.
naja lange rede kurzer sinn, schaut am besten mal selber.
schonmal danke fürs lesen
mfg
ich bin noch ein realtiver neuling auf dem gebiet der c-programmierung.
hab mich früher damit mal etwas befasst, und will jetzt wieder intensiver damit anfangen. seit gestern hänge ich hier mit den code fest.
Quellcode
- #include <stdio.h>
- #include <stdlib.h>
- //eingabe der zahl
- char *X_zahleingabe(char *zahl)
- {
- printf("Zahl >> ");
- scanf("%c",&zahl);
- return zahl;
- }
- //zahlarray deklarieren
- char *X_zahlarray()
- {
- char *zahl;
- zahl=(char*) calloc((2),sizeof(int));
- return zahl;
- }
- //ergebnisarray deklarieren
- char *X_ergarray()
- {
- char *erg;
- erg=(char*) malloc(1*sizeof(int));
- return erg;
- }
- //array mit nulln füllen
- char *X_nullarray(char *erg)
- {
- int i;
- while(i=0)
- {
- erg[i]='0';
- i++;
- }
- return erg;
- }
- //addition
- char *X_add(char *zahl,char *erg)
- {
- int speicher=0;
- int carry=0;
- int i;
- for(i=0;i<=1;i++)
- {
- speicher+=carry;
- carry=0;
- speicher+=zahl[i]-'0';
- if(speicher>9) {
- carry=1;
- speicher-=10;
- }
- erg[i]+=speicher+'0';
- printf("ERGEBNIS (add) >> %c\n",erg);
- }
- }
- //main
- int main()
- {
- char *zahl;
- char *erg;
- char *null;
- int i;
- int speicher;
- int carry;
- zahl=X_zahlarray();
- zahl=X_zahleingabe(zahl);
- erg=X_ergarray();
- null=X_nullarray(erg);
- printf("zahl (main) >> %c\n",zahl);
- erg=X_add(zahl,erg);
- printf("ERGEBNIS (main) >> %c\n",erg);
- free(zahl);
- free(erg);
- system("PAUSE");
- return 0;
- }
eigentlich dürfte es nicht so schwer sein, aber ka warum das nicht geht.
das programm soll erstmal nur die quersumme einer eingegeben zahl mit 3 stellen berechnen. der hat aber im ergebnisarray schon was stehen (kommt immer 8), und wenn ich mit die eingegeben zahl vor add printen lasse hat der nur die erste stelle drin.
naja lange rede kurzer sinn, schaut am besten mal selber.
schonmal danke fürs lesen

mfg