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

Fermé
sousaid93 Messages postés 3 Date d'inscription jeudi 26 novembre 2015 Statut Membre Dernière intervention 26 novembre 2015 - Modifié par baladur13 le 26/11/2015 à 21:46
teutates Messages postés 19624 Date d'inscription vendredi 28 décembre 2001 Statut Modérateur Dernière intervention 2 janvier 2020 - 26 nov. 2015 à 22:13
#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
26 nov. 2015 à 21:42
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 jeudi 26 novembre 2015 Statut Membre Dernière intervention 26 novembre 2015
26 nov. 2015 à 21:51
qu'est ce que je peut metere à la place de gets(ch)
0
Utilisateur anonyme > sousaid93 Messages postés 3 Date d'inscription jeudi 26 novembre 2015 Statut Membre Dernière intervention 26 novembre 2015
26 nov. 2015 à 21:55
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 jeudi 26 novembre 2015 Statut Membre Dernière intervention 26 novembre 2015
26 nov. 2015 à 22:09
ok merci :)
0
teutates Messages postés 19624 Date d'inscription vendredi 28 décembre 2001 Statut Modérateur Dernière intervention 2 janvier 2020 3 586
26 nov. 2015 à 22:13
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