Problème c++

Fermé
Utilisateur anonyme - Modifié par Cabonpro le 16/11/2011 à 01:30
 Utilisateur anonyme - 16 nov. 2011 à 09:58
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

KX Messages postés 16739 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 19 mai 2024 3 015
16 nov. 2011 à 02:04
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
Utilisateur anonyme
16 nov. 2011 à 09:58
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