[C] Beginner - Char Frage

Online-Skater

Erfahrenes Mitglied
Hallo ich bin sehr sehr neu in C und verstehe folgendes nicht.

Code:
int main(int argc, char* argv[])
{
 char zahl[8],ausg[10];
 int i,x,len;
 printf("Bitte eine 7-9 stellige Zahl eingeben !\n");
 scanf("%s", zahl);
 len = strlen(zahl);
 x = 1;
 for (i=0;i<=len+2;i++)
 {
  if (x % 3 == 0)
  {
    ausg[i] = '_';
  }
  else ausg[i] = zahl[i];
  x = x + 1;
 }
 printf("Ausgabe: ",ausg);
 scanf("%9s", zahl);
 return 0;
}

Das Ziel ist es aus 7-9 stelligen eingegebenen Zahlen z.B. 123456789 in 3er Stellen zu ordnen ->123_456_789. Bei mir gibt er nichts aus, meine Grundlagen sind dürftig ich weiß aber es kommt auch kein Fehler ...

THX 4 help
 
Oh manno wie dumm von mir... :rolleyes:
Danke schön den Rest bastel ich mir irgendwie zusammen das es ja noch nicht richtig funktioniert.
Eine Frage hätte ich noch. Wenn der User einen Integerwert eingeben soll, wie kann ich den auf Leerstring bzw. auf Integerwerte überprüfen, so dass keine Buchstaben erlaubt sind.
Bei Delphi gibt es ja die fkt. IntToStr usw aber in C ?

mfg
 
Alles klar dankeschön ;) Wem der Code interessiert ^^

Code:
#pragma hdrstop
#include <cstring>
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
 char zahl[8],ausg[10];
 int i,x,y,len;
 printf("Bitte eine 7-9 stellige Zahl eingeben: ");
 scanf("%s", zahl);
 len = strlen(zahl);
 if (len <= 9 & len >= 7)
 {
   x = len + 1; // Da 2 * "_" angefügt wird (0 bis len+1)
   y = 1; // Counter
   for (i=len-1;i>=0;i--)
   {
     ausg[x] = zahl[i];
     if (y % 3 == 0 & y != 9)
     {
       x = x - 1; // decrementieren
       ausg[x] = '_';
     }
     x = x - 1; // decrementieren
     y = y + 1; // incrementieren
   }
   printf("Ausgabe: %s",ausg);

 }
 else printf("Die Zahl muss zwischen 7 und 9 Stellen besitzen !");
 getch();
 return 0;
}
 
Zuletzt bearbeitet:
Zurück