Formatierte Stringeingabe

bauchinj

Erfahrenes Mitglied
Hallo!

Möchte gerne einen String eingeben, der ein Datum darstellt - also nicht

Code:
Jahr:
Monat:
Tag:
oder ähnliches - sondern folgendermaßen

Code:
Bitte Datum eingeben [dd.mm.YYYY]:
Dann sollte der user zB 12 eingeben und anschließend automatisch ein Punkt erscheinen, als nächstes gibt er zB02 ein - der nächste Punkt erscheint und zum Abschluss gibt er noch 2010 ein.

hat dazu jemand eine Idee?
 
Ich habe das folgende in C geschrieben. Es ist eigentlich total simpel gefasst, deshalb hab ich noch keine Fehlerkorrektur (z.B. bei StackOverFlow) eingebaut. Es soll Dir einfach zeigen, wie ich es eben auf die Schnelle gemacht habe.

Code:
#include <stdio.h>

void main(void){
	char str[11];

	printf("Gib den Tag in dem Format '00' ein!");
	scanf("%s", &str[0]);
	
	str[2] = '.';

	printf("Gib den Monat in dem Format '00' ein!");
	scanf("%s", &str[3]);

	str[5] = '.';
	
	printf("Gib das Jahr in dem Format '0000' ein!");
	scanf("%s", &str[6]);

	printf("\nDatum: %s\n", str);
}
 
Wie wäre es hiermit? Ist es das was du willst?
Code:
#include <stdio.h>
#include <conio.h>

main()
{
  char Datum[11];
  int x = 0;
  printf("Bitte gib das Datum ein [dd.mm.YYYY]: ");
  while(x<2)
  {
   Datum[x] = getch();
   putchar(Datum[x++]);
  }
  putchar('.');
  Datum[x++] = '.';
  while(x<5)
  {
   Datum[x] = getch();
   putchar(Datum[x++]);
  }
  putchar('.');
  Datum[x++] = '.';
  while(x<10)
  {
   Datum[x] = getch();
   putchar(Datum[x++]);
  }
 printf("\nEingegebenes Datum: %s", Datum);
 getchar();
}
 
Zurück