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

Petits problemes de débutant en C++

deadtiger
deadtiger
Niveau 6
08 avril 2004 à 20:47:53

je doit vraiment etre nul je comprend rien...
pour placer ce que le mec écrit dans la variable moi je fait

variable = getchar();

c´est pas bon ?

comme je comprend presque rien à scanf tu pourrai me dire ou le placer dans mon code ?

  1. include < stdio.h>

void main()

{
char mot;

printf("écrivez un mot\n");
mot = getchar(); / /demande du mot

printf("%c",mot);
getchar();
}

Altonfrere
Altonfrere
Niveau 10
08 avril 2004 à 20:58:12

char ne représente qu´UN SEUL caractère, donc pour taper un mot entier ca va être dur :)

Tu peux faire un truc comme ca :

void main()
{
char mot[32];

printf("écrivez un mot : " );
scanf("%s",mot);

printf("%s\n",mot);
}

Sachant que 32 est la taille maxi que tu ne devras pas dépasser sinon ca va déborder et surement planter ( il ne faut pas oublier que la chaine sera terminée par le caractère NULL, donc la taille que tu pourras utilisée pour taper un mot sera de 31 caractères)

deadtiger
deadtiger
Niveau 6
08 avril 2004 à 21:03:38

ha on peut faire qu´un seul caractère avec char...

et donc le [32] veut dire que ca pourra contenir 32*1 caractère ?

je croit que je comprend mieux la, merci

Mathrim
Mathrim
Niveau 8
08 avril 2004 à 21:04:20

Ton programme, tel qu´il est conçu, commence par demander à l´utilisateur d´écrire un mot. Puis, avec le premier getchar, tu récupères le premier caractère du premier mot. Avec le printf, tu écris ce caractère. Le second getchar propose à l´utilisateur d´écrire de noveau.

Il vaut mieux faire:

  1. include < stdio.h>

int main()

{
char mot[20]; / / crée une chaîne de 20 caractères
printf("Ecrivez un mot!\n");
scanf("%s", mot); / / recueille le mot écrit dans la chaîne de caractère mot
printf ( "Vous avez écrit le mot %s\n", mot); / / écrit le résultat

return 0; / / renvoie une valeur indiquant que tout s´est bien passé ( pas nécessaire dans ce cas-là, mais c´est une bonne habitude à prendre.
}

deadtiger
deadtiger
Niveau 6
08 avril 2004 à 21:10:02

ok , j´ai comprit maintenant
le problème c´est que je croyait que char pouvait contenir un mot et pas seulement un caractère, et que pour qu´il écrive le mot je devait mettre " mot = getchar()" mais maintenant que j´ai comprit je devarit réussir a faire quelques ( très) petits programmes
merci

Mathrim
Mathrim
Niveau 8
08 avril 2004 à 21:12:33

Bon courage !

deadtiger
deadtiger
Niveau 6
09 avril 2004 à 12:00:29

ha j´ai -encore ! - un autre problème...

j´ai fait la suite du prog et je voudrait que le mec valide si il veut ce mot ou si il veut changer alors j´ai fait un switch :

#include < stdio.h>

int main()

{
char mot[32];
char choix;

debut :
printf("écrivez un mot\n");
getchar();
scanf("%s", mot);

printf("le mot que vous avez choisi est %s\n",mot);
printf("Vous voulez garder ce mot ? Oui / Non");
choix = getchar();
getchar();

switch(choix)
{
case ´n´ : goto debut;
case ´o´ : printf("Le mot est %s", mot);
break;
default : goto debut;
}

getchar();
printf("Appuyez sur entrée pour terminer");
getchar();

return 1;
}

mais le problème c´est que même quand j´écrit o il me fait recommencer...
alors c´est que j´ai mal utilisé break ou une autre erreur... quelqu´un peut m´aider ?

deadtiger
deadtiger
Niveau 6
09 avril 2004 à 12:04:54

et j´ai essayé de mettre

scanf("%s", choix);

à la place de

choix = getchar()

mais là quand il arrive à

printf("Vous voulez garder ce nom ? Oui / Non\n");

il met que le programme a rencontré une erreur et qu´il va être arrèté. C´est normal ?

JeanYvesYves
JeanYvesYves
Niveau 10
09 avril 2004 à 12:18:10

si tu fais ça, tu dois déclarer choix ainsi :

char choix[30];

par exemple

deadtiger
deadtiger
Niveau 6
10 avril 2004 à 11:23:48

ok merci

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