IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Probleme dans le return


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1
    Par défaut Probleme dans le return
    Bonsoir a tous voila j'ai fait un petit programme "Master Mind" je suis pas trés fort mais je me sort des galere mais cette fois je ne comprend vraiment pas pourquoi il y a une erreure de compilation j'ai toute essayé mais rien et je pense que c'est au niveau du return que sa bloque .
    Donc la voici j'espere que je pourrai avoir de l'aide rapidement et vous remercie d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    #include<stdio.h>
    #include<string.h>
    #include<conio.h>
    #include<stdlib.h>
     
    	char mot[5], mot2[5], cpt, etoile[5],nom1[20],nom2[20];
            // mot : la combinaison à trouver
            // mot2 : la conbinaison 
    		// cnt : lecture continuer
    		// etoile : le message qu'on va afficher avec des etoiles
    		// nom1, nom2 : les noms des deux joueurs..
     
     
    	int niv, i, len, ctrlLONG, ctrlCHIFFRE, BP, nbc, nbrx,nbrOK,nbrKO;   
     
     
    int saisieJOUEUR2DIFFICILE(){
    	do{
    		printf("\n");
    		scanf("%s",mot2);
    		if(strcmp(mot2,"sorti")==0){
    		printf("le mot choisi par %s est %s.\ntapez une touche pour terminer...\n",nom1,mot);
    		getchar();
    		return (0);
    		}
    		ctrlLONG = 0;
    		len = strlen(mot2);
    		if(len!=5){
    			printf("la longeur du mot doit etre 5.\n");
    			ctrlLONG = 1;
    		}
     
     
    		if(ctrlLONG==0)break;
    	}
        while(1);
     
     
    	nbrOK = 0;
    	for(i = 0 ; i<5 ; i++){
    		if(mot2[i]==mot[i]){
    			nbrOK = nbrOK + 1;
    			if(nbrOK==5)
    				return nbrOK;
    		}
    	}
    	strcpy(etoile,"*****");
    	if(mot2[0]==mot[1]||mot2[0]==mot[2]||mot2[0]==mot[3]||mot2[0]==mot[4])
    		etoile[0]='$';
    	if(mot2[1]==mot[0]||mot2[1]==mot[2]||mot2[1]==mot[3]||mot2[1]==mot[4])
    		etoile[1]='$';
    	if(mot2[2]==mot[0]||mot2[2]==mot[1]||mot2[2]==mot[3]||mot2[2]==mot[4])
    		etoile[2]='$';
    	if(mot2[3]==mot[0]||mot2[3]==mot[1]||mot2[3]==mot[2]||mot2[3]==mot[4])
    		etoile[3]='$';
    	if(mot2[4]==mot[0]||mot2[4]==mot[1]||mot2[4]==mot[2]||mot2[4]==mot[3])
    		etoile[3]='$';
    	nbrKO = 0;
    	for(i=0 ; i<5 ; i++){
    		if(etoile[i]=='$'){
    			nbrKO = nbrKO + 1;
    		}
    	}
    	printf("il existe %d chiffres bien places, %d chiffres mal places.",nbrOK,nbrKO);
    	printf("\n");
    	return nbrOK; 
     
    }
     
    /////////////////////////////////////////////////////////////////////////////////
     
    void saisieJOUEUR1(){
          //scanf("%s" ,&nom1);
    		printf("\n%s, tapez 5 chiffres \n",nom1);
    		do{
    			ctrlLONG = ctrlCHIFFRE = 0; 
    			scanf("%s",&mot);
    			len = strlen(mot);
    			if(len!=5){
    				printf("la longeur du mot doit etre 5\n");
    				ctrlLONG = 1;
    			}
     
    			else  {
    			for(i = 0 ; i < 5 ; i++){
    				if(mot[i]>'9'||mot[i]<'0'){
    					ctrlCHIFFRE = 1;
    					printf("\n%c n'est pas un chiffre, ",mot[i]);
    				}
                }
    		  }
    			printf("\n");
    			if(ctrlLONG==0&&ctrlCHIFFRE==0);
                break;
    		}
            while(1);
            printf("votre mot est :%s\n",mot);
            system("PAUSE");
    	  system("cls") ;              
    }
    //////////////////////////////////////////////////////////////////////////////////////////
    int main(int argc, char *argv[])
    {
    system("cls");
    printf("veuilez saisir le nom du premier joueur : ");
    scanf("%s",&nom1);
    printf("deuxieme joueur :");
    scanf("%s",&nom2);
     
     
    saisieJOUEUR1();
    		printf("niveau facile :\n");
    		printf("%s, essayez de deviner le nombre saisi par %s.\n tapez \"sorti\" pour sortir.\n",nom2,nom1);
    		nbrx=0;
    	    do{ 
    	       BP =  saisieJOUEUR2DIFFICILE();
    	       nbrx=nbrx+1;
     
    	       }
            while(BP!=5) ;
    	       if(BP==5){
    			printf("%s \n bravo, vous avez devine le mot secret en %s coup(s)..\n",mot,nbrx);
    } 
     
     
      system("PAUSE");	
      return 0;
    }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Juste 1 remarque, cette portion de code me semble douteuse car le if du test est vide à cause du caractère ';'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    printf("\n");
    if(ctrlLONG==0&&ctrlCHIFFRE==0);
    break;
    Mais cela ne doit pas entrainer de problème de compilation, tout au plus un bug au niveau de l'exécution.

    Si non pour le reste, je n'ai pas de problème majeur de compilation.

    J'ai compilé en l'état sous Visual Studio 2005 sous XP SP2 avec le niveau de warnings le plus élévé et voici ce qui ressort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    1>c:\documents and settings\...\mes documents\visual studio 2005\projects\missing\missing.cpp(37) : warning C4267: '='*: conversion de 'size_t' en 'int', perte possible de données
    1>c:\documents and settings\...\mes documents\visual studio 2005\projects\missing\missing.cpp(88) : warning C4267: '='*: conversion de 'size_t' en 'int', perte possible de données
    1>c:\documents and settings\...\mes documents\visual studio 2005\projects\missing\missing.cpp(104) : warning C4390: ';'*: une instruction contrôlée a été trouvée vide*; est-ce ce que vous souhaitiez*?
    1>c:\documents and settings\...\mes documents\visual studio 2005\projects\missing\missing.cpp(112) : warning C4100: 'argv'*: paramètre formel non référencé
    1>c:\documents and settings\...\mes documents\visual studio 2005\projects\missing\missing.cpp(112) : warning C4100: 'argc'*: paramètre formel non référencé
    Donc rien de critique mis à part le problème en ligne 104
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Probleme dans request.QueryString("chaine")
    Par soufienne dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 14h49
  2. Probleme dans une procedure stockée
    Par malbaladejo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/07/2004, 14h08
  3. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51
  4. Probleme dans une clause like !
    Par adil dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/07/2003, 16h47
  5. Probleme dans ma requete
    Par Kuroro dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2003, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo