begin process at 2012 05 30 01:55:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

probleme avec les chaine de caractere


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec les chaine de caractere

lundi 26 juin 2006 à 11:01:41 | probleme avec les chaine de caractere

developvbdebut

Membre Club

Bonjour tout le monde

J'aissé de faire un prog modulaire en c.

j'ai un probleme pour déclarer une chaine de caractere en c, car bizarement on ne la pas vue en cours de C.

Voici ma structure strutu.h

#include <string.h>
#ifndef strutu_H
#define strutu_H


struct element
{
      
char pseudo1[20];
char pseudo2[20];
int choix;
int k,l;
char p4[7][7];
char game;
char quitter[10];
};
#endif

ici le fichier element .h

#include "strutu.h"
extern struct element e;


ici le fichier quitter.c

Dans ce fichier je propose à l'utilisateur de quitter le jeux ou de recomencer une partie.

#include <stdio.h>
#include "strutu.h"
#include "element.h"


int end()
{
printf("souhaitez vous refaire un partie.\n");    
printf("Si vous souhaitez partir du jeux tape oui, sinon tape non.\n");
scanf("%s",&e.quitter);
 
if(e.quitter=='oui' || e.quitter='non')
{    
if(e.quitter=='oui')
{
 system("PAUSE");   
   
}    
else if(e.quitter=non)
{
printf("Voulez vous refaire une partie 2 joueur ou un joueur");
 
 
 
    

else
{

printf("Erreur, recomencé");

}   
}    
    
}


Je n'arrive pas à faire en sorte que quitter soit une chaine de caractere et je souhaiterai aussi faire une instruc if pour comparer le contenue de la chaine de caractere.

Pourriez vous m'aider à comprendre svp.

Merci d'avance de votre aide.

Cordialement

A bientôt

lundi 26 juin 2006 à 11:11:20 | Re : probleme avec les chaine de caractere

BruNews

Administrateur CodeS-SourceS
strcmp() pour les chaines et non '=='.

ciao...
BruNews, MVP VC++
lundi 26 juin 2006 à 11:26:14 | Re : probleme avec les chaine de caractere

turnerom

Voici ma structure strutu.h

#include <string.h>
#ifndef strutu_H
#define strutu_H


typedef struct
{
      
char pseudo1[20];
char pseudo2[20];
int choix;
int k,l;
char p4[7][7];
char game;
char quitter[10];
}element;
#endif

ici le fichier element .h

inutile

ici le fichier quitter.c

Dans ce fichier je propose à l'utilisateur de quitter le jeux ou de recomencer une partie.

#include <stdio.h>
#include "strutu.h"


int end()
{
printf("souhaitez vous refaire un partie.\n");    
printf("Si vous souhaitez partir du jeux tape oui, sinon tape non.\n");
scanf("%s",&e.quitter);
 
if(strncmp(e.quitter,"oui",3) ==0) ||
strncmp(e.quitter,"non",3) ==0))
{    
if(
strncmp(e.quitter,"oui",3) ==0)
{
 system("PAUSE");   
   
}    
else if(
strncmp(e.quitter,"non",3) ==0)
{
printf("Voulez vous refaire une partie 2 joueur ou un joueur");
 
 
 
    

else
{

printf("Erreur, recomencé");

}   
}    
    
}



TuRn3r
lundi 26 juin 2006 à 11:27:53 | Re : probleme avec les chaine de caractere

nightlord666

Membre Club
Et rappelons que strcmp renvoie 0 si les deux chaines sont égales, donc if(!strcmp(blabla, "blabla")) teste si les deux chaines (blabla et "blabla") sont égales.
lundi 26 juin 2006 à 11:28:59 | Re : probleme avec les chaine de caractere

turnerom

oups, il faut bien sur rajouter element e; en debut de int end()

De plus, remplace le if(strncmp(e.quitter,"oui",3) ==0) || strncmp(e.quitter,"non",3) ==0)par while(strncmp(e.quitter,"oui",3) ==0) || strncmp(e.quitter,"non",3) ==0))

Ainsi tan tque l'utilisateur a tapé ni oui, ni non (tiens ca me rappelle un truc sa ;D) ca va boucler

TuRn3r
lundi 26 juin 2006 à 11:32:19 | Re : probleme avec les chaine de caractere

nightlord666

Membre Club
Pas besoin de redéclarer la structure dans la fonction : définie en global dans le .h
mercredi 28 juin 2006 à 22:22:58 | Re : probleme avec les chaine de caractere

developvbdebut

Membre Club

Bonsoir tout le monde

Je suis en trein de faire un prog modulaire en c.

J'ai un probleme avec l'instruction.

#include <stdio.h>
#include "strutu.h"
#include "element.h"

/*
Cette fonction propose au joueur une nouvelle partie, ou de quitter le jeux.

*/ 

 

int end()
{
printf("souhaitez vous refaire un partie.\n");    
printf("Si vous souhaitez partir du jeux tape oui, sinon tape non.\n");
scanf("%s",&e.quitter);
 
if(strncmp(e.quitter,"oui",3)==0) || strncmp(e.quitter,"non",3)==0))
{    
if(strncmp(e.quitter,"oui",3)==0)
{
 system("PAUSE");   
   
}    
else if(strncmp(e.quitter,"non",3==0))
{
printf("Voulez vous refaire une partie 2 joueur ou un joueur");
    
}   
else
{
 
printf("Erreur, recommencé");
 
    
}
 
}
    
    

Voici l'erreur.

projet puissance 4\quitter.c In function `end':
projet puissance 4\quitter.c syntax error before '||' token
projet puissance 4\Makefile.win [Build Error]  [quitter.o] Error 1


J'ignore d'où vient le probleme, je pense que c'est là syntax du if.

Pourriez vous me dire si c'est ca.

Merci.

Cordialement

A bientôt

mercredi 28 juin 2006 à 23:36:06 | Re : probleme avec les chaine de caractere

turnerom

A oublier :
if(strncmp(e.quitter,"oui",3)==0) || strncmp(e.quitter,"non",3)==0))

Met a la place:
if(strncmp(e.quitter,"oui",3)==0 || strncmp(e.quitter,"non",3)==0)


TuRn3r


Cette discussion est classée dans : chaine, caractere, include, quitter, strutu


Répondre à ce message

Sujets en rapport avec ce message

chaine de caractere [ par zincben ] Bonjour je comprend pas tres bien pourquoi ce code passe bien #include void main() { FILE *fp; char nom[10]; fp = fopen("barre.txt", "r+"); if (fp) { comparation chaine de caractere [ par SfyLer ] prise de tête j'arrive pas a comparer de chaine de caractere:#include #include char main(void){ char login[6]; cout cin >> login; cout << "\n";<b chaine de caractere de taille variable [ par habibdu70 ] slt,savez vous comment modifier la taille d'une chaine de caractere ?par exemple si le nom de fichier fait 8 caracteres, je creai un fichier de 8 cara remplaver un chaine de caractere [ par davidbaum ] Bonjoru,Est ce quelqu'un aurait un code qui trouve un chaine de caractere et l aremplace par une autre.Merci decoupage de chaine de caractere [ par xboxut ] salut,je chercher une fonction pour decouper une chaine de caractere en plusieurs sous chaines afin de les afficher avec allegro quelqu un peut m aide Convertir une chaine de caractere en Float [ par Johjo ] Bon, voilà, j'ai encore un probleme.Je dois maintenant convertir un chaine de caractere en float, et je ne trouve pas de fonctions, j'ai regardé dans Rechercher une chaine de caractere [ par Johjo ] Il n'y aurait pas une fonction qui me permette de retrouver une chaine de caractere dans une autreparce moi, je trouve rien du tout :(Si quelqu'un pou PB DE CHAINE DE CARACTERE [ par Orkblutt ] pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch, PB DE CHAINE DE CARACTERE [ par Orkblutt ] pkoi ceci me genere t'il une erreur a l'execution??#include void main(){ int o; o=2000; char* O=new char; itoa(o,O,10); char* ch="Fichier"; strcat(ch, Convertir chaine de caractere -> decimal [ par LordBob ] Salut a tous, en fait je voudrai juste savoir comment est-ce ke l'on pouver convertir une chaine de caractère (ex: salut) en decimal... Voila, m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales