1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int flottant(int, int, char*, char*);
int main()
{
char chaine[50];
int n = 4;
int m = 4;
char v[2] = {',', '\0'};
int k;
printf("\nEntrez le nombre : ");
k = flottant(n, m, &v, &chaine);
printf("\nVoici la chaine : %s- FIN", chaine);
printf("\nVoici le resultat (0 pour ok, >0 pour pas ok : %d", k);
return 0;
}
int flottant(int n, int m, char *v, char *chaine)
{
char c;
fflush(stdin);
c = getchar();
int i=0, k = 0;
while ((i < 15) && (c != '\n'))
{
*chaine = c;
chaine++;
i++;
c = getchar();
}
*chaine = '\0';
i=0;
printf ("Avant boucle i = %d, n = %d et m = %d\n", i, n, m);
while ((i < n) || (*chaine != '\0')) /*On va chercher la partie entière et le séparateur */
{
if (*chaine == '0'|| *chaine == '1' || *chaine == '2' || *chaine == '3' || *chaine == '4' || *chaine == '5' || *chaine == '6' || *chaine == '7' || *chaine == '8' || *chaine == '9'|| *chaine == '\0' || *chaine == '.')
{
printf ("Boucle 1 IF i = %d\n", i);
}
else
{
k++;
i=n+m+1;
printf ("Boucle 1 ELSE i = %d", i);
}
chaine++;
i++;
}
while ((i < n + m + 1) || (*chaine != '\0'))
{
if (*chaine == '0'|| *chaine == '1' || *chaine == '2' || *chaine == '3' || *chaine == '4' || *chaine == '5' || *chaine == '6' || *chaine == '7' || *chaine == '8' || *chaine == '9'|| *chaine == '\0')
{
printf ("Boucle 2 IF i = %d\n", i);
}
else
{
k++;
i=n+m+1;
printf ("Boucle 2 ELSE i = %d", i);
}
chaine++;
i++;
}
int z;
/*for(i = 0; i < n || c != '\n'; i++, chaine++)
{
//c = getchar;
if((c <= '0' || c >= '9') || (c != *v) || (c != '\o'))
*chaine = c;
else
k++;
c = getchar;
}
for(i; i < (n + m + 2) || c != '\n'; i++, chaine++)
{
//c = getchar();
if((c < '0' || c > '9') || (c != *v))
*chaine = c;
else
k++;
c = getchar;
}
*(chaine-1) = '\0';*/
return k;
} |
Partager