Problème c++

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Je sais que beaucoup de personne vont me dire qu'il existe des tutoriels complet et facile et je leur donne pas tort, mais j'aimerais vraiment qu'on me dise qu'est ce qui ne va pas
ici :

#include <iostream> 

using namespace std; 

int main() 
{ 
    std::string cmdtxt; 
    std::cout << "Bienvenue sur CabGen 1.0" << std::endl; 
    std::cin >> cmdtxt; 
    if cmdtxt = ("nouveau.cg:1.0"); 
    std::cout << "Nouveau fichier CabGen créer !"<< 
    return 0; 
} 


Merci d'avance

2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Je suis sûr que tu as un compilateur qui t'aide à détecter les erreurs, apprend à les comprendre, parce que dans ton code il y en a qui sont évidentes à corriger !

    std::cin >> cmdtxt;
    * L'opérateur >> ne s'utilises pas avec std::string. Regarde getline

    if cmdtxt = ("nouveau.cg:1.0");
    * La condition d'un if doit être totalement entre parenthèse
    * L'opérateur = sert à l'affectation pas à la comparaison
    * Pour comparer deux string il faut utiliser la méthode compare
    * Si tu mets un ; après le if, il n'y aura pas de "then"

    std::cout << "Nouveau fichier CabGen créer !"<< 
    * Tu ne peux pas terminer ton cout par <<, il te faut quelque chose derrière...

    De plus, soit tu mets std:: partout, soit tu mets using namespace std. Mettre les deux n'est pas faux mais ça ne sers à rien...

    #include <iostream>// cout, cin, endl
    #include <string>  // string, getline
    
    int main() 
    { 
    	std::string cmdtxt;
    	
    	std::cout << "Bienvenue sur CabGen 1.0" << std::endl; 
    	std::getline(std::cin,cmdtxt);
    	
    	if (cmdtxt.compare("nouveau.cg:1.0")==0)
    		std::cout << "Nouveau fichier CabGen créer !"<< std::endl;
    	
    	return 0; 
    }
    2
  2. Utilisateur anonyme
     
    Merci de m'avoir répondu, je pense tout comme toi, qu'il faut que je révise tout le début de cour du c++
    0