Accueil > > > VIRTOPROFESSOR: MRCARDO, UN APPRENTISSAGE RAPIDE DE VOS LEÇONS :D (QUESTIONS, REPONSES)
VIRTOPROFESSOR: MRCARDO, UN APPRENTISSAGE RAPIDE DE VOS LEÇONS :D (QUESTIONS, REPONSES)
Information sur la source
Description
Yo! Voila je prépare un projet qui se nomme VirtoProfessor qui est composé de plusieurs virtuals professeurs avec des roles précis et ici je met à votre disposition, le professeur MrCardo qui vous interroge sur ce que vous voulez (Question->Reponse). MrCardo est loin d'etre terminer mais je vous donne le code source pour me donner votre avis. Comment ça marche ? C'est trés simple! Vous créer un fichier texte de n'importe qu'elle extension, cela n'a pas d'importance, ensuite dans ce fichier vous placez vos questions et reponses de cette façon: Test.txt : Combient font 2*2+1+1 ? 6 Combient font 2*5 ? 10 Ensuite vous glissez ce fichier sur MrCardo.exe et vous parametrez le test. Ciao!
Source
- #include <vector>
- #include <string.h>
- #include <time.h>
- #include <cstdio>
- #include <cstdlib>
-
- using namespace std;
-
- unsigned int aleatoire(const unsigned int min, const unsigned int max) // Fonction qui retourn un nombre entre min et max (min et max inclus)
- {
- return (unsigned int)(min+((float) rand()/RAND_MAX*(max - min + 1)));
- }
-
- bool strcompare(const char *str1, const char *str2, bool casse=false) // Fonction qui compare 2 chaines de caracteres avec ou sans casse
- {
- unsigned int max=strlen(str1);
- if(max!=strlen(str2))
- {
- return false;
- }
- for(unsigned int i=0; i<max; i++)
- {
- if((!casse && tolower(str1[i])!=tolower(str2[i])) || (casse && str1[i]!=str2[i]))
- return false;
- }
- return true;
- }
-
- int main(int nb_args, char** argv)
- {
- srand(time(NULL));
-
- if( nb_args<2 ) // Si aucun fichier n'est passer aux parametres de l'exe, on quitte
- {
- fprintf(stderr,"\n\n # Aucun fichier ! Au revoir !\n\n");
- fflush(stdin);
- getchar();
- return EXIT_FAILURE;
- }
- for (unsigned int i_file=1; true; i_file++)
- {
- FILE* file_datas = fopen(argv[i_file],"rb");
- if ( file_datas == NULL ) // Si le fichier n'existe pas ou protegé contre la lecture
- {
- fprintf(stderr,"\n\n # Le fichier n%u (%s) est introuvable ! ",i_file,argv[i_file]);
- if ((nb_args-i_file)==1) // On abondonne le fichier et on passe au suivant s'il existe
- {
- break;
- }
- fprintf(stdout,"\n\n # Passage au fichier n%u\n\n",i_file+1);
- continue;
- }
- vector<vector<char> > questions, reponses; // vector pour les questions, et un autre pour les reponses
- vector<bool> aff_rep, aff_ques; // Variables pour sauvegarder l'index des questions et reponses et eviter les repetitions s'il est desactivé
- vector<char> line; // Variable pour stocker la ligne du fichier
- bool syntaxe_correct = true; // La variable d'etat du fichier
- int params[7] = {0}; // Le tableau de parametres du test
- system("CLS"); // Vidage de stdout
- fprintf(stdout,"\n\n # Poser les questions au hasard (1=Oui,0=Non) ? ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[0]); // Recuperation du 1er parametre
- system("CLS"); // Vidage de stdout
- if(params[0]) // Si l'hasard est activer on demande s'il faut activation l'"AntiRepeat"
- {
- fprintf(stdout,"\n\n # Activer l'option Anti-Repeat (1=Oui,0=Non) ? ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[1]); // Recuperation du 2eme parametre
- }
- system("CLS"); // Vidage du stdout
- fprintf(stdout,"\n\n # Poser toutes les questions disponibles (0=Oui,nombre) ? ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[2]); // Recuperation du 3eme parametre
- system("CLS"); // Vidage de stdout
- if(!params[2]) // Si les questions doivent etre posés au complet
- {
- fprintf(stdout,"\n\n # Faire le test en boucle (1=Oui,0=Non) ? ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[3]); // Recuperation du 4eme parametre
- }
- system("CLS"); // Vidage de stdout
- fprintf(stdout,"\n\n # Respecter la cAsSE (1=Oui,0=Non) ? ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[6]); // Recuperation du 7eme parametre
- system("CLS"); // Vidage de stdout
- fprintf(stdout,"\n\n # Choisissez une option:\n 1-Poser logiquement les questions\n 2-Inverser\n%s = ",(params[0])?" 3-Les deux\n":"\n = ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[4]); // Recuperation du 5eme parametre
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- system("CLS"); // Vidage de stdout
- fprintf(stdout,"\n\n # Afficher les reponses (1=Oui,0=Non) ? ");
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- fscanf(stdin,"%d",¶ms[5]); // Recuperation du 6eme parametre
- fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
- system("CLS"); // Vidage de stdout
- /* Boucle de remplissage */
- for (bool rep=false; !feof(file_datas);) // rep = Variable qui nous permettra de passer des reponses aux questions dans la boucle
- {
- if ( params[1] ) // Si l'AntiRepeat est activer
- {
- aff_rep.push_back(false); // On ajoute un element dans le vector avec comme valeur FALSE (c'est a dire non affiché)
- aff_ques.push_back(false); // Pareil
- }
-
- while(line.push_back(fgetc(file_datas)),true) // Une boucle infini (=Elle ne se termine pas à cause de sa condition mais plutôt à cause de ses instructions)
- {
- if ( line.back()=='\n' || line.back()==EOF ) // Si on arrive au caractere '\n' ou EOF cela veut dire qu'on se trouve NORMALEMENT à la fin de la ligne ou du fichier
- {
- if ( line.back()==EOF && !rep ) // Si le curseur est arrivé à la fin alors que c'est une question la syntaxe du fichier est alors declaré incorrect!
- {
- fprintf(stderr,"Le fichier est incorrect !\n\n");
- syntaxe_correct = false;
- break;
- }
- line[(line.back()=='\n')?line.size()-2:line.size()-1]='\0'; // On affecte la fin de la ligne
- break;// On quitte la ligne pour passer à la suivante
- }
- }
- if ( !syntaxe_correct )
- {
- break;
- }
- ((!rep)?questions:reponses).push_back(line); // On ajoute la ligne aux questions ou reponses selon la var rep
- rep=(rep)?false:true; // Si cette var est true on la passe à false et vice versa
- line.clear(); // On vide le vector pour la ligne suivante
- }
- fclose(file_datas);// On ferme le fichier ouvert
- if ( !syntaxe_correct ) // Si la syntaxe du fichier est incorrect, on passe au fichier suivant s'il existe, sinon on quitte
- {
- if ( (nb_args-i_file)==1 ) // S'il n y a pas de fichiers suivant, on quitte
- {
- break;
- }
- else // Sinon on passe au fichier suivant
- {
- continue;
- }
- }
- for(unsigned int i_show=0; i_show<((params[2]>0)?params[2]:questions.size()) || params[3];) // Boucle de teste
- {
- if(params[3] && (((params[2]>0)?params[2]:questions.size())-i_show)<=0) // Si le test est terminer et que l'utilisateur à choisis le test en boucle alors on prépare le suivant
- {
- fprintf(stdout,"\n >Test terminer!\n");
- i_show=0; // Le curseur de l'avancement est mis à zero
- for(unsigned int i=0;params[1] && i<aff_ques.size();i++) // Reinstialisation des varaible de l'antiRepeat
- {
- aff_ques[i] = false;
- aff_rep[i] = false;
- }
- fflush(stdin);
- getchar();
- system("CLS");
- }
- unsigned int index = i_show; // index, cette variable va contenire le curseur de l'avancement si l'option hasard n'a pas était choisis sinon un nombre au hasard
- bool ques_rep = (params[4]<3)?(params[4]<=1):(aleatoire(0,1)); // variable qui definis qu'elle partie va etre afficher, la question ou la reponse selon ce que l'utilisateur à choisis
- if(params[0]) // Si le hasard est activer...
- {
- if(params[1]) //On verifie si l'antiRepeat est activer
- {
- do{
- index = aleatoire(0,questions.size()-1);
- }while(((ques_rep)?(aff_ques[index]):(aff_rep[index])));
- ((ques_rep)?(aff_ques[index]):(aff_rep[index])) = true;
- }
- }
- // Affichage de la question ou reponse selon le resultat de la var ques_rep
- fprintf(stdout,"\n\n ---TEST %d/%d---\n\n\n >%s\n = ",i_show+1,questions.size(),(ques_rep)?(&questions[index][0]):(&reponses[index][0]));
- vector<char> stduser; // Vector pour l'entrée clavier
- fflush(stdin);
- do{
- stduser.push_back(getchar());
- }while(stduser.back()!='\n' && stduser.back()!=EOF);
- stduser.back()='\0';
- system("CLS");
- // On compare la reponse ou la question avec la question ou la reponse (selon ques_rep) avec ou sans casse (selon le choix de l'utilisateur)
- if(strcompare(&stduser[0],(ques_rep)?(&reponses[index][0]):(&questions[index][0]),params[6]))
- {
- fprintf(stdout,"\n\n ---TEST %d/%d---\n\n\n MrCardo> Bonne reponse !\n",i_show+1,questions.size());
- }
- else
- {
- // Affichage de la reponse si l'utilisateur la souhaité
- fprintf(stdout,"\n\n ---TEST %d/%d---\n\n\n MrCardo> Mauvaise reponse%s%s\n",i_show+1,questions.size(),(params[5])?"!\n La bonne reponse est : ":" ",(params[5])?(ques_rep)?(&reponses[index][0]):(&questions[index][0]):"!");
- }
- fflush(stdin);
- getchar();
- system("CLS");
- i_show++;
- }
- if ( (nb_args-i_file)==1 ) // S'il n y a plus de fichier on quitte
- {
- break;
- }
- }
- getchar();
- return EXIT_SUCCESS;
- }
#include <vector>
#include <string.h>
#include <time.h>
#include <cstdio>
#include <cstdlib>
using namespace std;
unsigned int aleatoire(const unsigned int min, const unsigned int max) // Fonction qui retourn un nombre entre min et max (min et max inclus)
{
return (unsigned int)(min+((float) rand()/RAND_MAX*(max - min + 1)));
}
bool strcompare(const char *str1, const char *str2, bool casse=false) // Fonction qui compare 2 chaines de caracteres avec ou sans casse
{
unsigned int max=strlen(str1);
if(max!=strlen(str2))
{
return false;
}
for(unsigned int i=0; i<max; i++)
{
if((!casse && tolower(str1[i])!=tolower(str2[i])) || (casse && str1[i]!=str2[i]))
return false;
}
return true;
}
int main(int nb_args, char** argv)
{
srand(time(NULL));
if( nb_args<2 ) // Si aucun fichier n'est passer aux parametres de l'exe, on quitte
{
fprintf(stderr,"\n\n # Aucun fichier ! Au revoir !\n\n");
fflush(stdin);
getchar();
return EXIT_FAILURE;
}
for (unsigned int i_file=1; true; i_file++)
{
FILE* file_datas = fopen(argv[i_file],"rb");
if ( file_datas == NULL ) // Si le fichier n'existe pas ou protegé contre la lecture
{
fprintf(stderr,"\n\n # Le fichier n%u (%s) est introuvable ! ",i_file,argv[i_file]);
if ((nb_args-i_file)==1) // On abondonne le fichier et on passe au suivant s'il existe
{
break;
}
fprintf(stdout,"\n\n # Passage au fichier n%u\n\n",i_file+1);
continue;
}
vector<vector<char> > questions, reponses; // vector pour les questions, et un autre pour les reponses
vector<bool> aff_rep, aff_ques; // Variables pour sauvegarder l'index des questions et reponses et eviter les repetitions s'il est desactivé
vector<char> line; // Variable pour stocker la ligne du fichier
bool syntaxe_correct = true; // La variable d'etat du fichier
int params[7] = {0}; // Le tableau de parametres du test
system("CLS"); // Vidage de stdout
fprintf(stdout,"\n\n # Poser les questions au hasard (1=Oui,0=Non) ? ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[0]); // Recuperation du 1er parametre
system("CLS"); // Vidage de stdout
if(params[0]) // Si l'hasard est activer on demande s'il faut activation l'"AntiRepeat"
{
fprintf(stdout,"\n\n # Activer l'option Anti-Repeat (1=Oui,0=Non) ? ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[1]); // Recuperation du 2eme parametre
}
system("CLS"); // Vidage du stdout
fprintf(stdout,"\n\n # Poser toutes les questions disponibles (0=Oui,nombre) ? ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[2]); // Recuperation du 3eme parametre
system("CLS"); // Vidage de stdout
if(!params[2]) // Si les questions doivent etre posés au complet
{
fprintf(stdout,"\n\n # Faire le test en boucle (1=Oui,0=Non) ? ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[3]); // Recuperation du 4eme parametre
}
system("CLS"); // Vidage de stdout
fprintf(stdout,"\n\n # Respecter la cAsSE (1=Oui,0=Non) ? ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[6]); // Recuperation du 7eme parametre
system("CLS"); // Vidage de stdout
fprintf(stdout,"\n\n # Choisissez une option:\n 1-Poser logiquement les questions\n 2-Inverser\n%s = ",(params[0])?" 3-Les deux\n":"\n = ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[4]); // Recuperation du 5eme parametre
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
system("CLS"); // Vidage de stdout
fprintf(stdout,"\n\n # Afficher les reponses (1=Oui,0=Non) ? ");
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
fscanf(stdin,"%d",¶ms[5]); // Recuperation du 6eme parametre
fflush(stdin); // Vidage du stdin pour pas reprendre les caracteres qui dépassé avant
system("CLS"); // Vidage de stdout
/* Boucle de remplissage */
for (bool rep=false; !feof(file_datas);) // rep = Variable qui nous permettra de passer des reponses aux questions dans la boucle
{
if ( params[1] ) // Si l'AntiRepeat est activer
{
aff_rep.push_back(false); // On ajoute un element dans le vector avec comme valeur FALSE (c'est a dire non affiché)
aff_ques.push_back(false); // Pareil
}
while(line.push_back(fgetc(file_datas)),true) // Une boucle infini (=Elle ne se termine pas à cause de sa condition mais plutôt à cause de ses instructions)
{
if ( line.back()=='\n' || line.back()==EOF ) // Si on arrive au caractere '\n' ou EOF cela veut dire qu'on se trouve NORMALEMENT à la fin de la ligne ou du fichier
{
if ( line.back()==EOF && !rep ) // Si le curseur est arrivé à la fin alors que c'est une question la syntaxe du fichier est alors declaré incorrect!
{
fprintf(stderr,"Le fichier est incorrect !\n\n");
syntaxe_correct = false;
break;
}
line[(line.back()=='\n')?line.size()-2:line.size()-1]='\0'; // On affecte la fin de la ligne
break;// On quitte la ligne pour passer à la suivante
}
}
if ( !syntaxe_correct )
{
break;
}
((!rep)?questions:reponses).push_back(line); // On ajoute la ligne aux questions ou reponses selon la var rep
rep=(rep)?false:true; // Si cette var est true on la passe à false et vice versa
line.clear(); // On vide le vector pour la ligne suivante
}
fclose(file_datas);// On ferme le fichier ouvert
if ( !syntaxe_correct ) // Si la syntaxe du fichier est incorrect, on passe au fichier suivant s'il existe, sinon on quitte
{
if ( (nb_args-i_file)==1 ) // S'il n y a pas de fichiers suivant, on quitte
{
break;
}
else // Sinon on passe au fichier suivant
{
continue;
}
}
for(unsigned int i_show=0; i_show<((params[2]>0)?params[2]:questions.size()) || params[3];) // Boucle de teste
{
if(params[3] && (((params[2]>0)?params[2]:questions.size())-i_show)<=0) // Si le test est terminer et que l'utilisateur à choisis le test en boucle alors on prépare le suivant
{
fprintf(stdout,"\n >Test terminer!\n");
i_show=0; // Le curseur de l'avancement est mis à zero
for(unsigned int i=0;params[1] && i<aff_ques.size();i++) // Reinstialisation des varaible de l'antiRepeat
{
aff_ques[i] = false;
aff_rep[i] = false;
}
fflush(stdin);
getchar();
system("CLS");
}
unsigned int index = i_show; // index, cette variable va contenire le curseur de l'avancement si l'option hasard n'a pas était choisis sinon un nombre au hasard
bool ques_rep = (params[4]<3)?(params[4]<=1):(aleatoire(0,1)); // variable qui definis qu'elle partie va etre afficher, la question ou la reponse selon ce que l'utilisateur à choisis
if(params[0]) // Si le hasard est activer...
{
if(params[1]) //On verifie si l'antiRepeat est activer
{
do{
index = aleatoire(0,questions.size()-1);
}while(((ques_rep)?(aff_ques[index]):(aff_rep[index])));
((ques_rep)?(aff_ques[index]):(aff_rep[index])) = true;
}
}
// Affichage de la question ou reponse selon le resultat de la var ques_rep
fprintf(stdout,"\n\n ---TEST %d/%d---\n\n\n >%s\n = ",i_show+1,questions.size(),(ques_rep)?(&questions[index][0]):(&reponses[index][0]));
vector<char> stduser; // Vector pour l'entrée clavier
fflush(stdin);
do{
stduser.push_back(getchar());
}while(stduser.back()!='\n' && stduser.back()!=EOF);
stduser.back()='\0';
system("CLS");
// On compare la reponse ou la question avec la question ou la reponse (selon ques_rep) avec ou sans casse (selon le choix de l'utilisateur)
if(strcompare(&stduser[0],(ques_rep)?(&reponses[index][0]):(&questions[index][0]),params[6]))
{
fprintf(stdout,"\n\n ---TEST %d/%d---\n\n\n MrCardo> Bonne reponse !\n",i_show+1,questions.size());
}
else
{
// Affichage de la reponse si l'utilisateur la souhaité
fprintf(stdout,"\n\n ---TEST %d/%d---\n\n\n MrCardo> Mauvaise reponse%s%s\n",i_show+1,questions.size(),(params[5])?"!\n La bonne reponse est : ":" ",(params[5])?(ques_rep)?(&reponses[index][0]):(&questions[index][0]):"!");
}
fflush(stdin);
getchar();
system("CLS");
i_show++;
}
if ( (nb_args-i_file)==1 ) // S'il n y a plus de fichier on quitte
{
break;
}
}
getchar();
return EXIT_SUCCESS;
}
Conclusion
Voila, voila! Vous avez tous et j'attend vos commentaires...
Historique
- 18 avril 2009 06:19:32 :
- J'ai corriger quelques erreurs dans les commentaires ^^
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Virtual, Volatile etc... J'y comprends rien ! [ par dominiquox ]
.NET s'enervant [ par DarK ]
J'en ai marre que Mico$oft nous fé passer a des technologie tel que le .NET ... Je trouve sa équerrant que micro$oft veut imposer sa technologie sur t
aidez moi par ou commencer mon apprentissage du cpp et de directX ? [ par ksir ]
je souhaite reliser un jeu en 3d pour cela je pense devoir utliser le c++ et directX seulement je 'y connait rien .par ou commencer mon apprentissage
aidez moi !par ou commencer mon apprentissage du cpp et de directX ? [ par ksir ]
je souhaite reliser un jeu en 3d pour cela je pense devoir utliser le c++ et directX seulement je 'y connait rien .par ou commencer mon apprentissage
virtual key des touches de ponctuation [ par juliol ]
bonjour, petite questionj'aimerais savoir si il existe des virtual keys(du genre VK_ ou quelque chose comme ca) pour les touches de ponctuation pour u
thread et mfc!!!!!! [ par dambeaufort ]
bonjour a tous, j'aimerais developper une apllication mfc avec plusieur thread. Ace stade je n'ai creer qu'un thread mais il bugue a l'execution (pas
COM, DLL, ActiveX...autres ??? [ par yapud ]
Bonjour, Je dois actuellement développer (dans le cadre d'un stage et en C++) un composant FTP fournissant ses services à d'autres programmes. En cher
Apprentissage et reconnaissance de la parole en C++ [ par webmaster_aprepa ]
Voici un site que j?ai créé sur un logiciel d?APprentissage et de REconnaissance de parole, il s?appelle APREPA. le site d'APREPA J?attend
C++ Classe virtuelle et héritage [ par freepouy18 ]
Bonjour, Voila, j'ai un souci avec l'utilisation de méthodes virtuelles pures lors de leurs redéfinition dans une sous-cla
destructeurs et virtual [ par magic_Nono ]
Bj, Un des principes de la POO est de toujour faire précéder le destructeur du mot clef virtual afin qu'il soit appeler meme si il y a h
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|