Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème string

Anonyme
    26 janvier 2019 à 20:06:59

    Bonjour, j'ai un problème. En fait je fais en ce moment un programme en c++ (évidemment) qui permet de calculer des équation a une inconnue ainsi que des polynômes du second degrés. le problème est que l'ont doit saisir l'équation avec une variable string mais lorsque je cherche a faire une division avec deux valeurs de cette string et voila ce que sa donne  ici le résultat est censé être -2 (-6/3) mais comme vous le voyez sa affiche -1.

    voici le code en entier

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main(){
    	int x;
    	int y, z;
    	string equa;
    	cin >> equa;
    	if (equa[5] == false){//equation type x+a=0 ou x-a=0
    		if (equa[1] == '-'){
    			cout << "x=";
    			cout << equa[2];
    		}else{
    			cout << "x=-";
    			cout << equa[2];
    		}
    	}else if(equa[6] == false){
    		if (equa[1] == 'x'){//equation type ax+b=0 ou ax+b=0
    			if (equa[2] == '-'){
    				cout << "x=";
    				cout << equa[3]/equa[0];
    			}else{
    				cout << "x=-";
    				cout << equa[3]/equa[0];
    			}
    		}
    	}
    	
    	
    	
    	
    		return 0;
    }


     

    • Partager sur Facebook
    • Partager sur Twitter
      26 janvier 2019 à 21:33:56

      Tu ne t'y prends pas bien pour ce qui t'est demandé.

      Déjà, tu effectues tes opérations arithmétique depuis l'entrée utilisateur, depuis une chaine de caractère.

      Si tu fais :

      std::string a = "abc";
      std::string b = "abc";
      
      a[2] / b[0]

      Tu effectues une opération sur les nombres ASCII correspondant aux caractères, donc c'est comme si tu fessais :

      a[2] / b[0]
      =
      'c' / 'a'
      =
      99 / 97

      Et ce n'est pas ce qui est attendu ;)

      Tu dois bien faire la part des choses entre IO (Input / Output => interactions avec l'utilisateur) et ce que ton programmes est censé faire. L'IO d'un côté, et les instructions pour obtenir le résultat d'un autre.

      Il y a trop d'erreur, et de semblants d’incompréhensions que pour pouvoir corriger ton programme.

      Renseignes-toi sur la manipulation de chaines de caractères, ainsi que sur le lexing et le parsing. Tu ne pourras pas créer ton solveur d'équation avec quelque chose qui ressemble à ce que tu as fait.

      Essayes déjà de créer une petite calculatrice, sans inconnue.

      Bonne fin de journée.

      -
      Edité par vanaur 26 janvier 2019 à 21:35:04

      • Partager sur Facebook
      • Partager sur Twitter

      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

      Anonyme
        27 janvier 2019 à 9:16:03

        merci pour ta réponse
        • Partager sur Facebook
        • Partager sur Twitter

        problème string

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown