Chaine de caractères
Fermé
istabandal
-
Modifié par istabandal le 10/01/2014 à 14:16
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 janv. 2014 à 22:50
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 janv. 2014 à 22:50
A voir également:
- Chaine de caractères
- Caractères ascii - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Plus de chaine tv - Guide
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
10 janv. 2014 à 18:02
10 janv. 2014 à 18:02
Pas étonnant que ton code ne fasse rien.
while(verifier(nbr)=='1')
verifier() renvoie 1 et non '1'. Donc, la boucle ne sera jamais faite.
De plus tu as un ";" à la fin du while. Il n'en faut surtout pas, sinon le bloc suivant n'est pas conditionné par le while (il sera fait 1 seule fois).
gets(nbr);
C'est à bannir. On utilise fgets() plutôt. Et attention, le '\n' est stocké dans la chaîne. Si tu veux l'enlever (je te le conseille vu le contexte), utilise strchr() pour rechercher le caractère, et tu le remplaces par '\0'.
Tiens compte de ses remarques. Si tu as toujours le problème, reposte ton nouveau code et indente-le (utilisation de tab (ou espace)) pour le structurer. Sinon c'est pas très lisible...
while(verifier(nbr)=='1')
verifier() renvoie 1 et non '1'. Donc, la boucle ne sera jamais faite.
De plus tu as un ";" à la fin du while. Il n'en faut surtout pas, sinon le bloc suivant n'est pas conditionné par le while (il sera fait 1 seule fois).
gets(nbr);
C'est à bannir. On utilise fgets() plutôt. Et attention, le '\n' est stocké dans la chaîne. Si tu veux l'enlever (je te le conseille vu le contexte), utilise strchr() pour rechercher le caractère, et tu le remplaces par '\0'.
Tiens compte de ses remarques. Si tu as toujours le problème, reposte ton nouveau code et indente-le (utilisation de tab (ou espace)) pour le structurer. Sinon c'est pas très lisible...
En plus de ce que dit Fiddy, dans ta fonction verifier(), tu mets
while(ch[i]='\0')
le simple = est une affection, si tu veux faire une comparaison il faut deux signes == ou != pour évaluer si les deux parties sont différentes.
De même dans la fonction decimal() où tu as écrit : if(ch[0]='1')
Note que je n'ai pas encore regardé le côté fonctionnel de ton code. Uniquement la syntaxe.
while(ch[i]='\0')
le simple = est une affection, si tu veux faire une comparaison il faut deux signes == ou != pour évaluer si les deux parties sont différentes.
De même dans la fonction decimal() où tu as écrit : if(ch[0]='1')
Note que je n'ai pas encore regardé le côté fonctionnel de ton code. Uniquement la syntaxe.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
10 janv. 2014 à 22:50
10 janv. 2014 à 22:50
Et en plus :
bin=bin*'2';
Plutôt bin*2; ça marchera mieux.
bin=bin*'2';
Plutôt bin*2; ça marchera mieux.