ajout main bonus

This commit is contained in:
hugodu69
2020-06-23 15:36:59 +02:00
parent 1bf2bc1905
commit 41f479ac2f

115
main.c
View File

@@ -900,6 +900,17 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("flag '''\n"); printf("flag '''\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
PRINT("%'d", 1);
PRINT("%'d", 11);
PRINT("%'d", 111);
PRINT("%'d", 1111);
PRINT("%'d", 11111);
PRINT("%'d", 111111);
PRINT("%'d", 1111111);
PRINT("%'d", 11111111);
PRINT("%'d", 111111111);
PRINT("%'d", 1111111111);
PRINT("%'d", 11111111111);
} }
if (ac == 2 || !strcmp(av[2], " ")) if (ac == 2 || !strcmp(av[2], " "))
@@ -990,6 +1001,11 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("specifier 'e'\n"); printf("specifier 'e'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
PRINT("%e", 1);
PRINT("%e", -1);
PRINT("%e", 10);
PRINT("%e", 100);
PRINT("%e", 1000);
} }
if (ac == 2 || !strcmp(av[2], "f")) if (ac == 2 || !strcmp(av[2], "f"))
@@ -997,6 +1013,7 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("specifier 'f'\n"); printf("specifier 'f'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
PRINT("%f", 1.2);
} }
if (ac == 2 || !strcmp(av[2], "g")) if (ac == 2 || !strcmp(av[2], "g"))
@@ -1004,13 +1021,31 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("specifier 'g'\n"); printf("specifier 'g'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
PRINT("%g", 1.2);
} }
if (ac == 2 || !strcmp(av[2], "n")) if (ac == 2 || !strcmp(av[2], "n"))
{ {
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("specifier 'n'\n"); printf("specifier 'n'\n");
printf(" the specifier %%n go in the printf field like this :\n");
printf(" printf(\"something%%n and more\", &var);\n");
printf(" and it store into 'var' the number of chars already printed\n");
printf(" it can be used to make a space before something to print :\n");
printf(" |int n;\n");
printf(" |printf(\"%%s: %%nfoo\\n\", \"hello\", &n);\n");
printf(" |printf(\"%%*sbar\\n\", n, \"\");\n");
printf(" |will print:\n");
printf(" |hello: foo\n");
printf(" | bar\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
int val;
PRINT("abcde%n", &val);
printf("%d\n", val);
PRINT("abcdefgh%n", &val);
printf("%d\n", val);
PRINT("abcde%nfgh", &val);
printf("%d\n", val);
} }
if (ac == 2 || !strcmp(av[2], "h")) if (ac == 2 || !strcmp(av[2], "h"))
@@ -1018,6 +1053,8 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("length 'h'\n"); printf("length 'h'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
char ash = 'a';
PRINT("%hc", ash);
} }
if (ac == 2 || !strcmp(av[2], "hh")) if (ac == 2 || !strcmp(av[2], "hh"))
@@ -1025,6 +1062,9 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("length 'hh'\n"); printf("length 'hh'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
short int ashash = 1;
PRINT("%hhd", ashash);
PRINT("%hhs", "ashash");
} }
if (ac == 2 || !strcmp(av[2], "l")) if (ac == 2 || !strcmp(av[2], "l"))
@@ -1032,6 +1072,48 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("length 'l'\n"); printf("length 'l'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
PRINT("%d", 1);
PRINT("%d", 11);
PRINT("%d", 111);
PRINT("%d", 1111);
PRINT("%d", 11111);
PRINT("%d", 111111);
PRINT("%d", 1111111);
PRINT("%d", 11111111);
PRINT("%d", 111111111);
PRINT("%d", 1111111111);
PRINT("%dbug", 11111111111);
PRINT("%d", 111111111111);
PRINT("%d", 1111111111111);
PRINT("%d", 11111111111111);
PRINT("%d", 111111111111111);
PRINT("%d", 1111111111111111);
PRINT("%d", 11111111111111111);
PRINT("%d", 111111111111111111);
PRINT("%d", 1111111111111111111);
PRINT("%ld", 11111111111);
PRINT("%ld", 111111111111);
PRINT("%ld", 1111111111111);
PRINT("%ld", 11111111111111);
PRINT("%ld", 111111111111111);
PRINT("%ld", 1111111111111111);
PRINT("%ld", 11111111111111111);
PRINT("%ld", 111111111111111111);
PRINT("%ld", 1111111111111111111);
PRINT("%ldbug", 11111111111111111111);
PRINT("%ld", 111111111111111111111);
PRINT("%ld", 1111111111111111111111);
PRINT("%ld", 11111111111111111111111);
PRINT("%ld", 111111111111111111111111);
PRINT("%ld", 1111111111111111111111111);
PRINT("%ld", 11111111111111111111111111);
PRINT("%ld", 111111111111111111111111111);
PRINT("%ld", 1111111111111111111111111111);
PRINT("%ld", 11111111111111111111111111111);
PRINT("%ld", 111111111111111111111111111111);
} }
if (ac == 2 || !strcmp(av[2], "ll")) if (ac == 2 || !strcmp(av[2], "ll"))
@@ -1039,6 +1121,39 @@ int main(int ac, char **av)
printf("\n----------------------------------------------------------------\n"); printf("\n----------------------------------------------------------------\n");
printf("length 'll'\n"); printf("length 'll'\n");
printf("----------------------------------------------------------------\n\n"); printf("----------------------------------------------------------------\n\n");
PRINT("%ld", 11111111111);
PRINT("%ld", 111111111111);
PRINT("%ld", 1111111111111);
PRINT("%ld", 11111111111111);
PRINT("%ld", 111111111111111);
PRINT("%ld", 1111111111111111);
PRINT("%ld", 11111111111111111);
PRINT("%ld", 111111111111111111);
PRINT("%ld", 1111111111111111111);
PRINT("%ldbug", 11111111111111111111);
PRINT("%ld", 111111111111111111111);
PRINT("%ld", 1111111111111111111111);
PRINT("%ld", 11111111111111111111111);
PRINT("%ld", 111111111111111111111111);
PRINT("%ld", 1111111111111111111111111);
PRINT("%ld", 11111111111111111111111111);
PRINT("%ld", 111111111111111111111111111);
PRINT("%ld", 1111111111111111111111111111);
PRINT("%ld", 11111111111111111111111111111);
PRINT("%ld", 111111111111111111111111111111);
PRINT("%lld", 11111111111111111111);
PRINT("%lld", 111111111111111111111);
PRINT("%lld", 1111111111111111111111);
PRINT("%lld", 11111111111111111111111);
PRINT("%lld", 111111111111111111111111);
PRINT("%lld", 1111111111111111111111111);
PRINT("%lld", 11111111111111111111111111);
PRINT("%lld", 111111111111111111111111111);
PRINT("%lld", 1111111111111111111111111111);
PRINT("%lld", 11111111111111111111111111111);
PRINT("%lld", 111111111111111111111111111111);
} }
if (ac == 2 || !strcmp(av[2], "repetition")) if (ac == 2 || !strcmp(av[2], "repetition"))