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

cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008 - 21 janv. 2002 à 21:00
guguy Messages postés 28 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 août 2002 - 24 janv. 2002 à 10:56
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

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
21 janv. 2002 à 21:13
t'as essayer cin.getline(mavar, 253); ?
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
21 janv. 2002 à 21:37
ah, je ne connaissais meme pas.
je vais essayer sur le champs.
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
21 janv. 2002 à 21:47
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 !
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
21 janv. 2002 à 22:18
Le "mais" n'est plus de ce monde ! heu.. de cette source !!
elle marche a merveille !
Merci bcp NitRic !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guguy Messages postés 28 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 août 2002
21 janv. 2002 à 23:19
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++ :)
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
22 janv. 2002 à 14:59
pourrais-tu me faire un exemple plus complet : je ne comprend pas trop ce que tu me dis.
0
guguy Messages postés 28 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 août 2002
24 janv. 2002 à 10:56
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.
0
Rejoignez-nous