scanf i C
HejSe venligst følgende kode. som er selvforklarende:
***************************
#include <stdio.h>
#include <conio.h>
int main()
{
int d, a, m;
char x, y;
printf("Skriv datoen paa formen dd.mm.yy, dd/mm-yy eller dd/mm/yy: ");
scanf("%d%c%d%c%d", &d, &x, &m, &y, &a);
if((x=='.') && (y=='.'))
{
printf("%d.%d.%d", d, m, a);
}
else if((x=='/') && (y=='-'))
{
printf("%d.%d.%d", d, m, a);
}
else if((x=='/') && (y=='/'))
{
printf("%d.%d.%d", d, m, a);
}
printf("%c%c%d%d%d", x,y,d,a,m);
getch();
return 0;
}
***************************
Mit problem er, at hvis en person indtaster noget i stil med asd-asd-asd fremfor 10-10-10, så melder den fejl. Hvordan kan man gardere sig mod sådanne tilfælde, når man bruger scanf?