Dans le genre prenant........

Signaler
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008
-
Messages postés
28
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
5 août 2002
-
oui !
c 'est trés chiant !
j'explique mon pb :

j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le logiciel :
tout naturelement, j'utilise "cin >> mavar".
mais il se trouve que si j'ecris "trucNum 666" : gros probleme : mavar est de type

char mavar[255];

donc c'est une string : si je melange chiffre et caracteres, il saute la question suivante !!!!

il me faut donc un type qui soit le compromis d'un

char

et d'un

int

a moins qu'il y ai une autre raison de resoudre le pb. ma source :

#include
#include <stdlib.h>
#include <stdio.h>
#include <fstream.h>

FILE *gen ;

int main()
{
char site[255];
char pseudo[255];
char taille[255];
char file[255];
char mem[255];
char name[255];
char format[10];
char date[255];
char requirement[255];
char genre[255];

int members;
int team;
int i ;

cout <<"Entrez le nom que vous voulez que le fichier ai (inclure l'extension) :\n";
cin >> name ;

gen = fopen(name, "w+");
fprintf(gen, "\t\t\t\tFichier généré par GW !\n\n\t\tSources disponible sur demande à xs.delire8@caramail.fr\n\n\n\n" );

cout << "\n\n\nEntrez le site pour lequel vous uploadez : \n";
cin >> site ;

cout << "\n\n\nEntrez votre pseudo : \n";
cin >> pseudo ;
fprintf(gen ,"Uploadé par %s ",pseudo);
fprintf(gen ," pour %s\n\n\n",site);

cout << "\n\n\nEntrez le nom de l'appz, gamez, divx, etc... upload\202 : \n";
cin >> file ;

cout << "\n\n\nEntrez le nombre de fichiers et leurs taille individuelle : \n" ;
cin >> taille;

cout << "\n\n\nEntrez le format de compression : \n" ;
cin >> format;

cout << "\n\n\nEntrez le genre du logiciel : \n" ;
cin >> genre;

cout << "\n\n\nEntrez la date d'upload : \n" ;
cin >> date;

cout << "\n\n\nEntrez la configuration requise : \n" ;
cin >> requirement;

cout << "\n\n\nVous souhaitez mentionn\202 votre team ?\n\t1- oui\n\t2- non\n";
cin >> team ;

if (team == 1)
{
cout << "\n\n\nEntrez le nombre de membres :";
cin >> members;

for (i = 0 ; i > members; i++)
{
cin >> mem[i] ;
}
}

cout << "\n\n\n\n\n\n";
system("PAUSE");
return 0;
}#include
#include <stdlib.h>
#include <stdio.h>
#include <fstream.h>

FILE *gen ;

int main()
{
char site[255];
char pseudo[255];
char taille[255];
char file[255];
char mem[255];
char name[255];
char format[10];
char date[255];
char requirement[255];
char genre[255];

int members;
int team;
int i ;

cout <<"Entrez le nom que vous voulez que le fichier ai (inclure l'extension) :\n";
cin >> name ;

gen = fopen(name, "w+");
fprintf(gen, "\t\t\t\tFichier généré par GW !\n\n\t\tSources disponible sur demande à xs.delire8@caramail.fr\n\n\n\n" );

cout << "\n\n\nEntrez le site pour lequel vous uploadez : \n";
cin >> site ;

cout << "\n\n\nEntrez votre pseudo : \n";
cin >> pseudo ;
fprintf(gen ,"Uploadé par %s ",pseudo);
fprintf(gen ," pour %s\n\n\n",site);

cout << "\n\n\nEntrez le nom de l'appz, gamez, divx, etc... upload\202 : \n";
cin >> file ;

cout << "\n\n\nEntrez le nombre de fichiers et leurs taille individuelle : \n" ;
cin >> taille;

cout << "\n\n\nEntrez le format de compression : \n" ;
cin >> format;

cout << "\n\n\nEntrez le genre du logiciel : \n" ;
cin >> genre;

cout << "\n\n\nEntrez la date d'upload : \n" ;
cin >> date;

cout << "\n\n\nEntrez la configuration requise : \n" ;
cin >> requirement;

cout << "\n\n\nVous souhaitez mentionn\202 votre team ?\n\t1- oui\n\t2- non\n";
cin >> team ;

if (team == 1)
{
cout << "\n\n\nEntrez le nombre de membres :";
cin >> members;

for (i = 0 ; i > members; i++)
{
cin >> mem[i] ;
}
}

cout << "\n\n\n\n\n\n";
system("PAUSE");
return 0;
}

7 réponses

Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

t'as essayer cin.getline(mavar, 253); ?
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008

ah, je ne connaissais meme pas.
je vais essayer sur le champs.
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008

Eh bien j'ai essayé et voici le resultat :
ca marche !!
mais (eh oui, il en faut un...) il saute la question "
cout << "\n\n\nEntrez le nom de l'appz, gamez, divx, etc... upload\202 : \n";
"

alors qu'il y a bien la fonction

cin.getline(file, 253);

Quelqu'un a trouvé ?

sinon, je tien a te rassurer : ca marche a merveille pour le reste !
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008

Le "mais" n'est plus de ce monde ! heu.. de cette source !!
elle marche a merveille !
Merci bcp NitRic !
Messages postés
28
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
5 août 2002

Slt
Pourquoi 253? La chaine fait 255...
D'autre part je pense qu'une string serait mieux appropriée :

[...]
#include <string>
[...]
string s1;
cin.getline(s1);

C'est plus économique et surtout c'est du "vrai" c++ :)
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008

pourrais-tu me faire un exemple plus complet : je ne comprend pas trop ce que tu me dis.
Messages postés
28
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
5 août 2002

Et bien à la place d'utiliser char site[255] (par exemple) tu n'as qu'a utiliser string site.
L'avantage des string c'est qu'elles n'ont pas de largeur predefinie, du coup tu utilisera sans doute moins de place et tu sera libre de la longueur de ta chaine.