Quelle est la probleme svp! et merci d'avance!!

sousaid93 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
teutates Messages postés 19624 Date d'inscription   Statut Modérateur Dernière intervention   -
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
int is_bin(char *ch)
{
    int i;
    for(i=0;i<=strlen(ch);i++)
    {
        if(ch[i]!='0' || ch[i]!= '1')
            return 0;
    }
    return 1;
}
char *lire_bin(void)
{
    char *ch ;
    do
    {
        printf("\ndonner voter code binaire :\n");
        gets(ch);
        if(is_bin(ch)==1)
            printf("\n ok! votre code et correct\n ");
        else
            printf(" votre code n'est pas binaire, repeter svp !\n");
    }
    while(is_bin(ch)==0);
    return ch;
}
int main ()
{
    char *ch ;
    ch=lire_bin();
    getch();
    return 0;
}

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
De plus, un minimum d'explications sur le problème rencontré ne serait pas du luxe...

3 réponses

Utilisateur anonyme
 
Bonjour

En lisant rapidement :
- dans is_bin, le test
if(ch[i]!='0' || ch[i]!= '1')
est absurde. ch[i] est forcément différent de 0 ou de 1, il ne peut pas être égal aux deux à la fois. Tu aurais dû mettre &&
- dans lire_bin, le pointeur ch n'est pas initialisé. Donc l'écriture dans ch avec
gets(ch)
provoque un plantage à tous les coups
0
sousaid93 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
qu'est ce que je peut metere à la place de gets(ch)
0
Utilisateur anonyme > sousaid93 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne t'ai pas demandé de mettre autre chose.
Relis ce que je t'ai écrit et réfléchis au lieu de me demander de faire ton travail.
0
sousaid93 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci :)
0
teutates Messages postés 19624 Date d'inscription   Statut Modérateur Dernière intervention   3 587
 
Bonjour,

Toujours soucieux de vous offrir plus de services, CCM vous offre ce mois-ci en cadeau de bienvenue, toute une collection de nouveaux mots pour agrémenter vos messages, et ce bien entendu, gratuitement.

Pour profiter de cette offre, il suffit de cliquer sur ce lien : Ma collection de nouveaux mots, de se laisser guider et de revenir mettre à profit ses nouvelles connaissances et ainsi favoriser les chances de se voir créditer d'une réponse beaucoup plus rapidement qu'auparavant...

Toute l'équipe de CCM et sa communauté vous souhaitent une agréable visite sur ce site, en espérant que vous y trouverez les réponses à vos interrogations.

Bonne journée.


Petit cadeau BONUS pour que vous soyez encore plus à l'aise dans l'art de quémander.
0