begin process at 2012 05 28 16:48:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

J'ai un problème avec cin.getline!!


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

J'ai un problème avec cin.getline!!

vendredi 3 juin 2005 à 11:13:00 | J'ai un problème avec cin.getline!!

Chap71


Voici mon prgm:

#pragma hdrstop
#pragma argsused
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdio.h>
using namespace std;

void main(void)
{
 struct Planete
 {
  char NomPlanete[15+1];
  char ProdMetal[15+1];
  char ProdCristal[15+1];
  char ProdDeuterium[15+1];
 }ProdPlanete[9+1];
 int i;

 cout<<"Calcul des productions sur Ogame"<<endl<<endl;

 do
 {
  cout<<"Veuillez saisir le nombre exact de planète(s) que vous poss\202dez:";
     cout<<"\n   1)Nombre de Planète"<<endl;
     cin>>i;
 }while (i<1 && i>9);

 if (i=1)
 {
  cout<<"   2)Le nom de votre Planète "<<1<<endl;
     cin.getline(ProdPlanete[1].NomPlanete,16);

     cout<<"   3)La production de M\202tal"<<endl;
     cin.getline(ProdPlanete[1].ProdMetal,16);

     cout<<"   4)La production de Cristal"<<endl;
     cin.getline(ProdPlanete[1].ProdCristal,16);

     cout<<"   5)La production de Deuterium"<<endl;
     cin.getline(ProdPlanete[1].ProdDeuterium,16);


     cout<<1<<endl;
     cout<<ProdPlanete[1].NomPlanete<<endl;
     cout<<ProdPlanete[1].ProdMetal<<endl;
     cout<<ProdPlanete[1].ProdCristal<<endl;
     cout<<ProdPlanete[1].ProdDeuterium<<endl;
 }
 else
 {
  for (int j=1;j<i;j++)
  {
     cout<<"   2)Le nom de votre Planète "<<j<<endl;
     cin.getline(ProdPlanete[j].NomPlanete,16);

     cout<<"   3)La production de M\202tal"<<endl;
     cin.getline(ProdPlanete[j].ProdMetal,16);

     cout<<"   4)La production de Cristal"<<endl;
     cin.getline(ProdPlanete[j].ProdCristal,16);

     cout<<"   5)La production de Deuterium"<<endl;
     cin.getline(ProdPlanete[j].ProdDeuterium,16);


     cout<<j<<endl;
     cout<<ProdPlanete[j].NomPlanete<<endl;
     cout<<ProdPlanete[j].ProdMetal<<endl;
     cout<<ProdPlanete[j].ProdCristal<<endl;
     cout<<ProdPlanete[j].ProdDeuterium<<endl;
  }
 }
}

Le programme s'execute correctement mais
    cout<<ProdPlanete[j].ProdDeuterium<<endl; ne s'éxécute pas!!
Comment faire?

PS: Je travail sur C++ Builder 5.
Merci d'avance.

Belle de loin mais loin dêtre belle même si la beauté est dans l'oeil de celu qui regarde...

vendredi 3 juin 2005 à 12:55:22 | Re : J'ai un problème avec cin.getline!!

mrpropre2

salut,
essaye de verfier si la ligne s'execute bien en rajoutant un texte dans ton cout, par ex: cout<< "coucou" << ProdPlanete[j].ProdDeuterium<<endl;
si le coucou apparait mais pas ton resultat c'est que la variable est vide.
Tu peux aussi essayer de rajouter un cout << endl; apres ta ligne defectueuse (j'ai deja eut un probleme de ce genre qui etait que la ligne de prompt arrivait trop vite par rapport a mon afichage)
a+


vendredi 3 juin 2005 à 14:04:02 | Re : J'ai un problème avec cin.getline!!

Chap71

J'ai essayer, voila ce kil me mark en mode console:


Pourré tu me dir ce kil fo fèr stp? Merci.

Belle de loin mais loin dêtre belle même si la beauté est dans l'oeil de celu qui regarde...

vendredi 3 juin 2005 à 14:14:31 | Re : J'ai un problème avec cin.getline!!

mrpropre2

heu ya un probleme: l'image s'affiche pas!

vendredi 3 juin 2005 à 14:16:58 | Re : J'ai un problème avec cin.getline!!

Chap71


Fé F5!!! lol

Belle de loin mais loin dêtre belle même si la beauté est dans l'oeil de celu qui regarde...
vendredi 3 juin 2005 à 14:20:37 | Re : J'ai un problème avec cin.getline!!

mrpropre2

ca change rien, meme sur un autre poste ca passe pas

vendredi 3 juin 2005 à 14:24:48 | Re : J'ai un problème avec cin.getline!!

Chap71


Ba y mafiche :

test
1900
coucou1600

Test est le nom de planete, 1900 c'est ProdCristal ,1600 c'est le cristal,et "coucou" g lé mi com sa:
cout<<"coucou"<<ProdPlanete[j].ProdDeuterium<<endl; et il ne mafiche tjr pa ce que je veu!!
Comen tu a fé toi kan tavé c pb? 

Belle de loin mais loin dêtre belle même si la beauté est dans l'oeil de celu qui regarde...
vendredi 3 juin 2005 à 14:39:05 | Re : J'ai un problème avec cin.getline!!

mrpropre2

en fait j'ai relu ton programme et ya des trucs bizarres, d'abord tu fais un if else qui sert a rien. Tu peux faire ton for meme si le i==1. Ensuite pour faire un test on ecrit if(i==1) et pas if(i=1).
Ensuite pour faire ton for tu peux commencer a 0. comme ca tu utlisiseras tout ton tableau parce que la tu commence a 1 alors qu'en c(++) l'indexage commence a zero generalement.
Ensuite, je suis pas sur, mais je crois que la struct se met hors du main, pares ca marche peut etre comme tu fais car j'ai jamais essayé.
En clair j'aurais plutot fais un code comme ca:

#pragma hdrstop
#pragma argsused
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdio.h>
using namespace std;

 struct Planete
 {
  char NomPlanete[15+1];
  char ProdMetal[15+1];
  char ProdCristal[15+1];
  char ProdDeuterium[15+1];
 }ProdPlanete[9+1];

void main(void)
{

 int i;

 cout<<"Calcul des productions sur Ogame"<<endl<<endl;

 do
 {
  cout<<"Veuillez saisir le nombre exact de planète(s) que vous poss\202dez:";
     cout<<"\n   1)Nombre de Planète"<<endl;
     cin>>i;
 }while (i<1 && i>9);

  for (int j=0;j<i;j++)
  {
     cout<<"   2)Le nom de votre Planète "<<j<<endl;
     cin.getline(ProdPlanete[j].NomPlanete,16);

     cout<<"   3)La production de M\202tal"<<endl;
     cin.getline(ProdPlanete[j].ProdMetal,16);

     cout<<"   4)La production de Cristal"<<endl;
     cin.getline(ProdPlanete[j].ProdCristal,16);

     cout<<"   5)La production de Deuterium"<<endl;
     cin.getline(ProdPlanete[j].ProdDeuterium,16);


     cout<<j<<endl;
     cout<<ProdPlanete[j].NomPlanete<<endl;
     cout<<ProdPlanete[j].ProdMetal<<endl;
     cout<<ProdPlanete[j].ProdCristal<<endl;
     cout<<ProdPlanete[j].ProdDeuterium<<endl;
 }
}

vendredi 3 juin 2005 à 15:11:36 | Re : J'ai un problème avec cin.getline!!

darfeuille

quelques remarques et conseils  :

1/ pourquoi as tu séparé le cas i=1 et i>1 ?
2/ n'ai pas peur de commencer a remplir tes tableaux à 0, c'est juste une habitude a prendre
3/ tu fais j=1 ; j<i      donc si i=2 il ne rentre qu'une fois dedans
4/ if(i=1)     surtout pas, tu donne la valeur 1 à i, faut mettre if(i==1)

Sinon, si ca t'intéresse, tu peux faire cout.flush(), qui force l'affichage de son buffer
mais un endl fait la meme chose

Renseigne toi aussi sur les string

en espérant que ca puisse te servir...



vendredi 3 juin 2005 à 15:12:25 | Re : J'ai un problème avec cin.getline!!

Chap71

C'est ce que javé fé au débu mais le ti1 non plu march pa!!
Pa grav fo éséyé otr chose.
MAIS KOI??????

Belle de loin mais loin dêtre belle même si la beauté est dans l'oeil de celu qui regarde...

1 2

Cette discussion est classée dans : char, cout, cin, getline, prodplanete


Répondre à ce message

Sujets en rapport avec ce message

cin.getline dans un Case : Marche pas !!! [ par Sixpion ] bonjour a tous !!on a un petit pb avec l'insertion de cin.getline dans des Case (voir code) il semblerai que le cin.getline fct bien dans le main mais Question à la con sur un getline() [ par Killvador ] Salut tt le monde,G un petit problème:dans ce petit prog le début marche jusqu'a la getline() qu'on dirait que le prog l'a complétement zapé.(y passe prob avec cin.getline(); [ par yafuka ] salut!j''essai de rentrer des chaines de caracteres de la misere a boucler le cin.getline.ma fonction ajouteevoid book::Ajouter(){ cout cout help me !!! [ par pascal13 ] j arrive pas a compiler mon programme...je sais que g qlq que souccis au niveau de la sauvegarde des données sur le fichier toutes remarques seront le Probleme, aide moi svp! [ par lanbook ] Bonjour, j'ai fait un petit programme en C++ qui permet de saisir et d'affichir des donneés. Le programme marche bien sauf au moment où l'on quitte, i pb de pointeurs !! [ par blinix123 ] Bonjour CPP ! (ici un p'tit nouveau deVB qui se met au C++)Alors voila, dans ce petit programme, j'ai une erreur, je le lance, 0 erreur, mais lors de pb de chaine avec espace ! [ par blinix123 ] #include #include #include struct cd{ char artiste [30]; char album [30]; char date [10]; char chansons [30];}; void remplissage ( pb pour l'affichage d'un tableau [ par blinix123 ] #include #include #include #include     struct cd{ char artiste [64]; char cin.getline(str, 256) [ par ronandmcdonald ] Salut je voulais savoir comment cela se fess que je peux pas utiliser cin.getline dans une fonction que voila :bool RS232::Write_RS232(){DWORD dwWritt Problème avec cin.getline() [ par monstor_rox ] Bonjour a tousJ'ai un gros problème sur le code suivant : char* menu() {    cout    cout    cout<<"[3] -  Ajouter


Nos sponsors


Sondage...

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 (4)

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