Petit programme de chaine de caractère

cs_trystan007 Messages postés 32 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 22 août 2005 - 22 mai 2005 à 17:39
cs_thedestiny Messages postés 56 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 juin 2008 - 25 mai 2005 à 20:38
J'ai un petit problème : l'utilisateur doit taper une chaine de caractère en mode console, puis, la chaine est envoyée en même tps qu'une 15aine de variables. Le problème, c'est que quand l'utilisateur met un espace, le programme part dans une boucle sans fin, et refuse de faire les calculs requis.
Que faire?

Trystan007

5 réponses

cs_thedestiny Messages postés 56 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 juin 2008
22 mai 2005 à 19:58
Si tu pouvais mettre le code qui est foireux, ca aiderait beaucoup ^^

Amicalement,
The Destiny
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
22 mai 2005 à 19:58
Bonsoir,



Poser le bout de code qui ne va pas par exemple.

Matt...
0
cs_trystan007 Messages postés 32 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 22 août 2005
25 mai 2005 à 17:25
en gros, c'est ceci :
int Calcul(char nom2, int a2, int b2)

int main()
{
char nom[50];
int a;
int b;
do
{
cin>>nom;
cin>>a;
cin>>b;
int erreur=Calcul(nom,a,b);
}while(erreur!=0)
Sleep(1000);
}

int Calcul(char nom2, int a2, int b2)
{
int erreur2
switch(a)
{
case 1 : cout<<"pas bon"
erreur2++;
break;
default : b2++;
break;
}
return erreur2
}

pas exactement, mais le code fait 700 lignes de switch, et donc, je ne vais pas le poster ici

Trystan007
0
cs_thedestiny Messages postés 56 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 juin 2008
25 mai 2005 à 20:36
Après correction du code :

int main()
{
char nom[50];
int a;
int b;
int erreur = 0;

do
{
cin >> nom;
cin >> a;
cin >> b;
erreur = Calcul(nom, a, b);
}
while(erreur!=0);
}

int Calcul(char *nom2, int a2, int b2)
{
int erreur2 = 0;
switch(a2)
{
case 1 :
cout << "pas bon" << endl;
erreur2++;
break;
default :
b2++;
break;
}
return erreur2;
}

Sinon bon c'est pas le bout de code qui interesse puisque tu nous parles de caractère et la on a que des entiers relatifs qui sont manipulés
En tout cas ce code marchez chez moi.

Amicalement,
The Destiny
0

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

Posez votre question
cs_thedestiny Messages postés 56 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 juin 2008
25 mai 2005 à 20:38
Au passage, je crois que cin n'aime pas les espace, utilise plutot gets(char *) de conio.h

Amicalement,
The Destiny
0
Rejoignez-nous