CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

mauvaise boucle ?

ratchetJv85
ratchetJv85
Niveau 7
03 juillet 2006 à 23:37:14

bonjour,

voila mon code :

  1. include <stdio.h>
  2. include <cstdlib>
  3. include <string.h>
  4. include <stdlib.h>

int main() {
char c; char tc[80];
int d,h; float x; double dx;

/* On crée 2 chaînes. chaine1 doit être assez grande pour accueillir
le contenu de chaine2 en plus, sinon risque de plantage */
char chaine1[] = "bonjour visiteur", chaine2[] = "", chaine3[] = "comment allez vous?";

strcat(chaine1, chaine2); // On concatène cha
ine2 dans chaine1

// Si tout s´est bien passé, chaine1 vaut "Sal
ut Mateo21"
printf("silvia vous dit : %s\n", chaine1);

printf("tapez votre message :\n");

scanf("%s",tc);

printf("silvia vous dit : %s\n", chaine3);

system ("PAUSE");
return 0;
}

sa marche bien, a quelque chose pret.

En faite on tape un message, "silvia" nous dit : bonjour, mais imaginons je peut lui dire : taisez vous, Et ben elle va quand même m´écrire le message suivant de la chaine3. Mais j´ai tout essayé ! je le jure j´ai vraiment essayé de chercher par moi même ! j´ai vraiment tout essayé (en tout cas ce que j´ai pus faire), mais sa ne marche pas. Je voudrais bien quelle affiche le contenue de la chaine3 uniquement si le contenue que le visiteur tape est ést égal au contenue de la chaine5 par (dans cette chaine je metterai tous les mots que le visiteur pe repondre à : bonjour) mais si ce n´est pas le cas, silvia affiche encore le contenue de la chaine1 (= bonjour)

Voila vous avez compris ? je sais que c´est possible mais pour moi nan, jai vraiment essayé de cherché ! et ne me répondez pas des trucs du genre il faut mettre string ou je ne sais meme pas quoi... aidez moi en fonction de ce que j´ai déja fait et des erreurs de mon code ( :svp: )

merci d´avance sa serai tellement bien si quelqu´un pouvait m´aider et me répondre clairement sans ce la joué en me disant qu´il faut mettre include string.h :question:

:merci: :ok:

Neofungamer
Neofungamer
Niveau 22
04 juillet 2006 à 01:13:00

scanf("%s",tc);

c´est pas scanf("%s",&tc); ?
scanf utilise une adresse a priori

godrik
godrik
Niveau 30
04 juillet 2006 à 13:36:53

non neofungamer, tc est bien une adresse; l´adresse de la premiere case du tableau, tu as tc == &tc[0]

ratchet ecrit:
char chaine1[] = "bonjour visiteur", chaine2[] = "", chaine3[] = "comment allez vous?";

strcat(chaine1, chaine2); // On concatène chaine2
dans chaine1

// Si tout s´est bien passé, chaine1 vaut "Salut M
ateo21"
Pourquoi chaine1 vaudrait Salut Mateo21 ? cette information ne rentre pas dans ton programme

De plus, si chaine2 n´etait pas vide tu aurais un bug horrible. En effet lorsque tu ecris:
char chaine1[] = "bonjour visiteur"
le tabluea chaine1 contient EXACTEMENT le bon nombre de caractere pour stocker "bonjour visiteur". donc si chaine2 n´etait pas vide, tu ecrirais en dehors du tableau.

"Je voudrais bien quelle affiche le contenue de la chaine3 uniquement si le contenue que le visiteur tape est ést égal au contenue de la chaine5"
La fonction strcmp definit dnas string.h permet de tester l´egalite de chaine de caractere.
strcmp renvoie 0 si les deux chaines sont egales

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment