Conjugaison c++
Résolu
September
-
penguin -
penguin -
Bonjour à tous
voilà j'ai fait un programme qui conjuge les verbes du 1er groupe juste au présent.
il marche et tous mais je suis sur "using namespace en std" et il faut que je le mets en "using namespace System" et en uilisant les méthodes "Compare" et "Substring" de la classe String.
voilà mon programme en std
#include "stdafx.h"
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
char *sujet[6]={"je","tu","il","nous","vous","ils"};
char *sujet1[6]={"j'","tu","il","nous","vous","ils"};
char *terminaissons[6]={"e","es","e","ons","ez","ent"};
char *terminaissons1[6]={"e","es","e","eons","ez","ent"}; // cas pour les verbes en ger
char verbe[32];
int i;
int l;
cout<<"Saisir un verbe du 1er groupe :"<<endl;
cin>>verbe;
while(((verbe[l-2] !='e') || (verbe[l-1] !='r') || (strcmp(verbe,"aller")==0)))
{
// Contrôle s'il s'agit d'un verbe en 'er'
l=strlen(verbe);
if(((verbe[l-2] !='e') || (verbe[l-1] !='r') || (strcmp(verbe,"aller")==0)))
{
cout<<"Saisir un verbe du 1er groupe s'il vous plait :"<<endl;
cin>>verbe;
}
else
{
// Les verbes en voyelles
if((verbe[0]=='a') || (verbe[0]=='e') || (verbe[0]=='i') || (verbe[0]=='o') || (verbe[0]=='u'))
{
// Couper la terminason 'er'
verbe[l-2]='\0';
cout<<"La conjugaison est au present"<<endl<<endl;
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
cout<<sujet1[i]<<ends<<verbe<<terminaissons1[i]<<endl;
}
}
else
{
for(int i=0;i<6;i++)
{
cout<<sujet1[i]<<ends<<verbe<<terminaissons[i]<<endl;
}
}
return 0;
}
else
{
// Couper la terminason 'er'
verbe[l-2]='\0';
cout<<"La conjugaison est au present"<<endl<<endl;
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
cout<<sujet[i]<<ends<<verbe<<terminaissons1[i]<<endl;
}
}
else
{
for(int i=0;i<6;i++)
{
cout<<sujet[i]<<ends<<verbe<<terminaissons[i]<<endl;
}
}
return 0;
}
}
}
}
et j'ai essayé en System mais j'ai des erreurs et ça marche pas et j'ai pas compris comment utiliser le substring
#include "stdafx.h"
#include <iostream>
#include <string>
#using<mscorlib.dll>
using namespace System;
int main(array<System::String ^> ^args)
{
char sujet[6]={"je","tu","il","nous","vous","ils"};
char sujet1[6]={"j'","tu","il","nous","vous","ils"};
char terminaissons[6]={"e","es","e","ons","ez","ent"};
char terminaissons1[6]={"e","es","e","eons","ez","ent"}; // cas pour les verbes en ger
char verbe;
int i;
int l;
Console::WriteLine("Saisir un verbe du 1er groupe :\n");
verbe=Console::Read();
while((((verbe=Console::Read())[l-2] !='e') || ((verbe=Console::Read())[l-1] !='r') || (SubString(verbe,"aller")==0)))
{
// Contrôle s'il s'agit d'un verbe en 'er'
l=compare(verbe);
if((((verbe=Console::Read())[l-2] !='e') || ((verbe=Console::Read())[l-1] !='r') || (SubString(verbe,"aller")==0)))
{
Console::WriteLine("Saisir un verbe du 1er groupe s'il vous plait :\n");
Console::ReadLine();
}
else
{
// Les verbes en voyelles
if((verbe[0]=='a') || (verbe[0]=='e') || (verbe[0]=='i') || (verbe[0]=='o') || (verbe[0]=='u'))
{
// Couper la terminason 'er'
verbe[l-2]='\0';
Console::WriteLine("La conjugaison est au present \n \n");
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet1[i],"_",verbe,terminaissons1[i],"\n");
}
}
else
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet1[i],"_",verbe,terminaissons[i],"\n");
}
}
return 0;
}
else
{
// Couper la terminason 'er'
verbe[l-2]='\0';
Console::WriteLine("La conjugaison est au present \n \n");
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet[i],"_",verbe,terminaissons1[i],"\n");
}
}
else
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet[i],"_",verbe,terminaissons[i],"\n");
}
}
return 0;
}
}
}
}
voilà si quelqu'un peut me donne un petit coup de main pour que j'arrive à comprendre mes erreurs et j’ai pas compris comment on utilise le substring
merci d'avance à ceux qui m'aider
voilà j'ai fait un programme qui conjuge les verbes du 1er groupe juste au présent.
il marche et tous mais je suis sur "using namespace en std" et il faut que je le mets en "using namespace System" et en uilisant les méthodes "Compare" et "Substring" de la classe String.
voilà mon programme en std
#include "stdafx.h"
#include<iostream>
#include <iomanip>
using namespace std;
int main()
{
char *sujet[6]={"je","tu","il","nous","vous","ils"};
char *sujet1[6]={"j'","tu","il","nous","vous","ils"};
char *terminaissons[6]={"e","es","e","ons","ez","ent"};
char *terminaissons1[6]={"e","es","e","eons","ez","ent"}; // cas pour les verbes en ger
char verbe[32];
int i;
int l;
cout<<"Saisir un verbe du 1er groupe :"<<endl;
cin>>verbe;
while(((verbe[l-2] !='e') || (verbe[l-1] !='r') || (strcmp(verbe,"aller")==0)))
{
// Contrôle s'il s'agit d'un verbe en 'er'
l=strlen(verbe);
if(((verbe[l-2] !='e') || (verbe[l-1] !='r') || (strcmp(verbe,"aller")==0)))
{
cout<<"Saisir un verbe du 1er groupe s'il vous plait :"<<endl;
cin>>verbe;
}
else
{
// Les verbes en voyelles
if((verbe[0]=='a') || (verbe[0]=='e') || (verbe[0]=='i') || (verbe[0]=='o') || (verbe[0]=='u'))
{
// Couper la terminason 'er'
verbe[l-2]='\0';
cout<<"La conjugaison est au present"<<endl<<endl;
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
cout<<sujet1[i]<<ends<<verbe<<terminaissons1[i]<<endl;
}
}
else
{
for(int i=0;i<6;i++)
{
cout<<sujet1[i]<<ends<<verbe<<terminaissons[i]<<endl;
}
}
return 0;
}
else
{
// Couper la terminason 'er'
verbe[l-2]='\0';
cout<<"La conjugaison est au present"<<endl<<endl;
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
cout<<sujet[i]<<ends<<verbe<<terminaissons1[i]<<endl;
}
}
else
{
for(int i=0;i<6;i++)
{
cout<<sujet[i]<<ends<<verbe<<terminaissons[i]<<endl;
}
}
return 0;
}
}
}
}
et j'ai essayé en System mais j'ai des erreurs et ça marche pas et j'ai pas compris comment utiliser le substring
#include "stdafx.h"
#include <iostream>
#include <string>
#using<mscorlib.dll>
using namespace System;
int main(array<System::String ^> ^args)
{
char sujet[6]={"je","tu","il","nous","vous","ils"};
char sujet1[6]={"j'","tu","il","nous","vous","ils"};
char terminaissons[6]={"e","es","e","ons","ez","ent"};
char terminaissons1[6]={"e","es","e","eons","ez","ent"}; // cas pour les verbes en ger
char verbe;
int i;
int l;
Console::WriteLine("Saisir un verbe du 1er groupe :\n");
verbe=Console::Read();
while((((verbe=Console::Read())[l-2] !='e') || ((verbe=Console::Read())[l-1] !='r') || (SubString(verbe,"aller")==0)))
{
// Contrôle s'il s'agit d'un verbe en 'er'
l=compare(verbe);
if((((verbe=Console::Read())[l-2] !='e') || ((verbe=Console::Read())[l-1] !='r') || (SubString(verbe,"aller")==0)))
{
Console::WriteLine("Saisir un verbe du 1er groupe s'il vous plait :\n");
Console::ReadLine();
}
else
{
// Les verbes en voyelles
if((verbe[0]=='a') || (verbe[0]=='e') || (verbe[0]=='i') || (verbe[0]=='o') || (verbe[0]=='u'))
{
// Couper la terminason 'er'
verbe[l-2]='\0';
Console::WriteLine("La conjugaison est au present \n \n");
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet1[i],"_",verbe,terminaissons1[i],"\n");
}
}
else
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet1[i],"_",verbe,terminaissons[i],"\n");
}
}
return 0;
}
else
{
// Couper la terminason 'er'
verbe[l-2]='\0';
Console::WriteLine("La conjugaison est au present \n \n");
if((verbe[l-3]=='g')) //Les verbes en ger
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet[i],"_",verbe,terminaissons1[i],"\n");
}
}
else
{
for(int i=0;i<6;i++)
{
Console::WriteLine(sujet[i],"_",verbe,terminaissons[i],"\n");
}
}
return 0;
}
}
}
}
voilà si quelqu'un peut me donne un petit coup de main pour que j'arrive à comprendre mes erreurs et j’ai pas compris comment on utilise le substring
merci d'avance à ceux qui m'aider
A voir également:
- Conjugaison c++
- Logiciel conjugaison - Télécharger - Dictionnaires & Langues
- Télécharger larousse conjugaison pdf gratuit - Télécharger - Dictionnaires & Langues
- Télécharger conjugaison 12000 verbe gratuit pdf - Télécharger - Études & Formations
- Telecharger tableau conjugaison anglais pdf - Télécharger - Études & Formations
- [C]Conjugaison de verbes - Forum C
4 réponses
Bon très sincèrement le programme avec std me plaît beaucoup plus car il a une chance modulo quelques modifications de pouvoir compiler sous linux, donc rien que pour ça il est mieux. Maintenant tu t'es vraiment cassé la tête avec les char *. Utilise des std::string ce sera beaucoup plus simple. Accessoirement quand tu appelles sujet[i] avec i allant de 0 à 5 le programme fait n'importe quoi si le sujet fait moins de 5 caractères.
Pense aussi à donner des vrais noms de variables, et évite les headers non standard (stdafx.h par exemple)
D'un point de vue esthétique il serait plus logique de faire une fonction qui teste si le verbe commence par une voyelle :
et d'appeler en conséquence le bon sujet. Idem avec les verbes en g
Bonne chance
Pense aussi à donner des vrais noms de variables, et évite les headers non standard (stdafx.h par exemple)
D'un point de vue esthétique il serait plus logique de faire une fonction qui teste si le verbe commence par une voyelle :
inline bool commence_par_voyelle(const std::string & str){
return str[0] == 'a' || str[0] == 'e' || str[0] == 'i'
|| str[0] == 'o' || str[0] == 'u' || str[0] == 'y';
}
et d'appeler en conséquence le bon sujet. Idem avec les verbes en g
std::cout << (commence_par_voyelle(verbe) ? sujet_voyelle[i] : sujet_consonne[i]) << '\t'
<< radical << (verbe_en_g(verbe) ? terminaison_g[i] : terminaison_sans_g[i]) << std::endl;
Bonne chance
ok Merci mamiemando pour que j'améliore mon programme en standard mais il marche c'est le plus important ^^, j'ai pas trop envi de le chaner tanr qu'il marche c'est le plus important pour moi ^^
mais merci pour que j'améliore
mon problème est de passer de standard à System, c'est un peu dur mais j'essaye
Merci mamiemando pour l'aide
mais merci pour que j'améliore
mon problème est de passer de standard à System, c'est un peu dur mais j'essaye
Merci mamiemando pour l'aide