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

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Problème avec les chaînes de caractères


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

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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


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,186 sec (3)

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