Accueil > Forum > > > > Problème avec les chaînes de caractères
Problème avec les chaînes de caractères
lundi 27 juillet 2009 à 09:38:14 |
Problème avec les chaînes de caractères

raviel
|
bonjour
j'ai un soucis depuis quelque temps c'est que j'aimerais enregistrer une chaîne de caractère comportant même des espaces dans un fichier .txt.
Je m'explique après saisie de la commande (exemple : disque dur) et la quantité, l'utilisateur peut ou pas enregistrer ce qu'il a commandé sauf que lorsque je regarde mon fichier .txt il marque seulement 4 dur et j'aimerais qu'il enresgitre 4 disque dur (par exemple).
Voila je vous remercie d'avance et si vous avez des questions concernant mon code n'hésitez pas.
|
|
lundi 27 juillet 2009 à 10:31:04 |
Re : Problème avec les chaînes de caractères

buno
|
Réponse acceptée !
Hello,
Postes ton bout de code pour voir ce qui cloche
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
lundi 27 juillet 2009 à 10:38:11 |
Re : Problème avec les chaînes de caractères

raviel
|
Réponse acceptée !
C'est un très gros bout de code je suis nouveau en C++ donc c'est un code un peu lourd
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
string Commande;
string Nom;
bool o,n,m,e,j,p;
char Res;
char Rep;
char Rec;
string Site;
char Quicommande;
int Quantite;
int Jour;
int Mois;
int Annee;
int Numero;
int JRec;
int MRec;
int ARec;
string Service;
string Ecole;
cout<<"\t\tBienvenue sur votre logiciel de suivie de commande";
cout<<"\n\n\nEntrer le nom de l'entreprise ou vous avez effectuer la commande: ";
cin>>Nom;
cout<<"\nAvez-vous commande sur le net o : oui, n : non: ";
cin>>Res;
if(Res == 'o')
{
cout<<"\nIndiquez le site: ";
cin>>Site;
}
cout<<"\nEntrer ce que vous avez commande (ne pas indiquer la quantite): ";
cin>>Commande;
std::getline(std::cin,Commande);
cout<<"\nEn quel quantite avez-vous commande: ";
cin>>Quantite;
cout<<"\nVous commande pour m : mairie, e : ecole ?";
cin>>Quicommande;
if(Quicommande == 'm')
{
cout<<"\nPour quel service: ";
cin>>Service;
}
if(Quicommande =='e')
{
cout<<"\nPour quel ecole: ";
cin>>Ecole;
}
cout<<"\nEntrez le jour de commande: ";
cin>>Jour;
cout<<"Entrez le mois de commande: ";
cin>>Mois;
cout<<"Entrez l'annee de commande: ";
cin>>Annee;
cout<<"Date de commande: "<<Jour<<"/"<<Mois<<"/"<<Annee<<endl;
cout<<"\nEntrez le numero de commande: ";
cin>>Numero;
cout<<"\nConnaissez-vous la date de reception ? (j : je connais la date, p : pas encor)";
cin>>Rec;
if(Rec == 'j')
{
cout<<"\nEntrez le jour de la reception : ";
cin>>JRec;
cout<<"Entrez le mois de reception: ";
cin>>MRec;
cout<<"Entrez l'annee de reception: ";
cin>>ARec;
cout<<"\nLa date de reception est prevue pour le "<<JRec<<"/"<<MRec<<"/"<<ARec;
}
if(Rec == 'p')
{
cout<<"\nAucune date de reception n'est connue";
}
cout<<"\n\nRécapitulatif: \n";
cout<<"\nVous avez commande chez: "<<Nom;
if(Res == 'o')
{
cout<<"\nLe site du fournisseur est: "<<Site;
}
cout<<"\nVous avez commande: "<<Quantite<<" "<<Commande;
if(Quicommande == 'm')
{
cout<<"\nVous avez commande pour le service "<<Service<<" de la mairie";
}
if(Quicommande == 'e')
{
cout<<"\nVous avez commande pour l'ecole "<<Ecole;
}
cout<<"\nVous avez commande le: "<<Jour<<"/"<<Mois<<"/"<<Annee;
if(Rec == 'j')
{
cout<<"\nLa date de reception est prevue pour le "<<JRec<<"/"<<MRec<<"/"<<ARec;
}
if(Rec == 'p')
{
cout<<"\n Acune date de reception n'est prevue";
}
cout<<"\nVotre numero de commande est: "<<Numero;
cout<<"\n\nVOULEZ-VOUS ENREGISTRER VOTRE COMMANDE? (Y pour oui/ N pour non)";
cin>>Rep;
if(Rep =='Y')
{
FILE *fichier = NULL;
fichier = fopen("donnees.txt","a+");
if (fichier != NULL)
{
fputs("\r\n\nRecapitulatif :\r\n", fichier);
fprintf(fichier, "Nom du fournisseur: %s\n",Nom);
if(Res == 'o')
{
fprintf(fichier, "Le site est : %s\r\n", Site);
}
fprintf(fichier, "Vous avez commande : %d", Quantite);
fprintf(fichier, " %s\r\n", Commande);
fprintf(fichier, "Vous avez commande le %d", Jour);
fprintf(fichier, "/ %d", Mois);
fprintf(fichier, "/ %d\r\n", Annee);
if(Rec == 'j')
{
fprintf(fichier, "Vous revevrez la commande le %d", JRec);
fprintf(fichier, "/ %d", MRec);
fprintf(fichier, "/ %d\r\n", ARec);
}
if(Rec == 'p')
{
fprintf(fichier, "Vous n'avais pas encor de date\r\n");
}
if(Quicommande == 'm')
{
fprintf(fichier, "Service %s\r\n", Service);
}
if(Quicommande =='e')
{
fprintf(fichier, "Ecole %s\r\n", Ecole);
}
fprintf(fichier, "Votre commande est le numero : %d\r\n", Numero);
fclose(fichier);
cout << "\n\necriture dans le fichier reussie\n";
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier");
}
}
if(Rep =='N')
{
cout<<"La commande n'est pas enregistre";
}
system("\r\npause");
getch();
return 0;
}
|
|
lundi 27 juillet 2009 à 16:50:22 |
Re : Problème avec les chaînes de caractères

raviel
|
Réponse acceptée !
aidez moi s'il vous plait je pense que cela viendrait du std::getline(std::cin, Commande);
Merci
|
|
mardi 28 juillet 2009 à 09:22:25 |
Re : Problème avec les chaînes de caractères

buno
|
Réponse acceptée !
Hello,
Sorry, j'étais passé sur autre chose...
Ton problème peut être résolu de la manière suivante:
Code C/C++ :
cout<<"\nAvez-vous commande sur le net o : oui, n : non: ";
cin>>Res;
if(Res == 'o')
{
cout<<"\nIndiquez le site: ";
cin>>Site;
}
cin.ignore(1000, '\n' ); // ceci pour vider le buffer
cout<<"\nEntrer ce que vous avez commande (ne pas indiquer la quantite): ";
std::getline(cin,Commande);
NB: Il n'est pas pertinent d'abuser du bouton "Réponse acceptée". Ce bouton sert à mettre en surbrillance la solution au problème.
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
mardi 28 juillet 2009 à 09:33:36 |
Re : Problème avec les chaînes de caractères

raviel
|
Réponse acceptée !
Ah Yes ca marche merci a toi Buno tu m'enlève plus qu'une épine dans le pied.
Merci bien je peux continuer a avancer par contre pourrais-tu m'expliquer en fait ce que fait cin.ignore. (désolé mais je suis encor débutant dans le C++).
|
|
mardi 28 juillet 2009 à 10:47:53 |
Re : Problème avec les chaînes de caractères

buno
|
Réponse acceptée !
le cin.ignore() te permet de nettoyer l'entrée standard.
tu trouveras plein d'infos sur le web (et même sur ce forum) sur les problèmes de getline() et l'utilisation de cin.ignore()
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
mardi 28 juillet 2009 à 10:53:03 |
Re : Problème avec les chaînes de caractères

raviel
|
je te remercie en tout cas de m'avoir débloqué .
|
|
Cette discussion est classée dans : problème, enregistrer, dur, caractères, chaînes
Répondre à ce message
Sujets en rapport avec ce message
problème chaines de caractères [ par tintin72 ]
BonjourJ'aimerai avoir un petit éclaircissement sur les chaines de caractères.Voici un programme tout bête... char prenom[100]; cout gets(pr
Problème de Noobs [ par hippyz ]
Alors voilà mon problème j'ai un tableau qui contient des caractères déjà prédifinis. Et j'ai un deuxiéme tableau dans lequel je mets des caractères q
Problème dans l'enregistrement d'un fichier après simple cryptage xor. [ par Sim 2005 ]
Bonjour,J'ai réalisé un programme juste pour voir comment fonctionnait le cryptage xor. Il demande un fichier source, le fichier dest et une clé Le to
Problème de chaine [ par goutbouyo ]
Salut,Je fais ça pour supprimer les 3 premiers caractères et le dernier d'une chaine LIGNE :char *c = ligne; c+=3; while (*c!='"') { c++; coun
Concaténer 2 chaînes de caractères [ par tweeder ]
J'ai une première chaîne : string_1[200] qui a une taille bien définie, puis j'ai char* string_2. Est-ce qu'il y a moyen de concaténer ces 2 chaîne
Tri d'un tableau de chaînes de caractères [ par Manthis ]
Bonjour, Je poste ce message car je n'arrive pas à trouver de solution à mon problème. En fait j'ai un tableau de chaînes de caractères (un char **)
Problème avec les ajouts de chaînes de caractères [ par nisaloncaje ]
Bonjour je voudrais ouvrir un fichier en utilisant :ifstream entree (nom_fichier, ios::in|ios::binary);où nom_fichier est le nom du fichier ;)Puis j'e
Problème avec des chaînes en hexa [ par techno_man ]
Bonjour, j'ai un petit problème. Je dois insérer une chaîne en hexa dans la base de registre à partir d'une constante définie (avec la fonction RegSet
Problème encodage des caractères [ par TreCool0 ]
Bonjour à tous,Je travaille sur une petite application console en C++ sous Visual C++ 2008 Express, et j'ai un petit problème d'encodage des caractère
problème de detection disque dur sas sur hp proliant [ par sbihi77 ]
Bonjourje vous cite mon problème, j'ai un serveur hp proliant ML150 G3 installé sous windows 2003 serveur et équipé d'un disque dur sas de 72 G .j'ai
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|