Skip to content

C++

4 Topics 26 Posts

This category can be followed from the open social web via the handle [email protected]

Subcategories


  • 0 0
    0 Topics
    0 Posts
    No new posts.
  • 1 Topics
    4 Posts
    AzadA
    <p>Bonjour, je vous partage un de mes tout premiers codes, que j'avais fais pour m'entrainer à la base.<br/> Celui-ci n'est pas forcément optimisé, c'est pas nécessaire de le faire ceci dit.<br/><br/> Ce code va simplement générer toutes les combinaisons aléatoire jusqu'à 5 caractères, ce qui représente 62^5 entrées, dans un fichier texte.</p> <p>Je n'ai pas fais plus car ça prend déjà une dizaine de giga et beaucoup d'heures pour aller jusqu'à là. </p> <p> Vous devez simplement créer dans le dossier du code source texte les fichiers texte suivants : 1.txt  / 2.txt / 3.txt / 4.txt / 5.txt</p> <pre class="ipsCode prettyprint lang-nocode"> #include <iostream> #include <string> #include <fstream> using namespace std; int main() { string caractere[62] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; string combinaison; int car1, car2, car3, car4, car5, car6, car7; ofstream fichier1("1.txt", ios::out | ios::trunc); if(fichier1) { //Calcul de toutes les combinaisons à 1 caractères : 62 for(car1=0; car1!=62; car1++) { combinaison = caractere[car1]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier1 &lt;&lt; combinaison &lt;&lt; endl; } fichier1.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier2("2.txt", ios::out | ios::trunc); if(fichier2) { //Calcul de toutes les combinaisons à 2 caractères : 62² for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { combinaison = caractere[car1] + caractere[car2]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier2 &lt;&lt; combinaison &lt;&lt; endl; } } fichier2.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier3("3.txt", ios::out | ios::trunc); if(fichier3) { //Calcul de toutes les combinaisons à 3 caractères : 62^3 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier3 &lt;&lt; combinaison &lt;&lt; endl; } } } fichier3.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier4("4.txt", ios::out | ios::trunc); if(fichier4) { //Calcul de toutes les combinaisons à 4 caractères : 62^4 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { for(car4=0; car4!=62; car4++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3] + caractere[car4]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier4 &lt;&lt; combinaison &lt;&lt; endl; } } } } fichier4.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } ofstream fichier5("5.txt", ios::out | ios::trunc); if(fichier5) { //Calcul de toutes les combinaisons à 5 caractères : 62^5 for(car1=0; car1!=62; car1++) { for(car2=0; car2!=62; car2++) { for(car3=0; car3!=62; car3++) { for(car4=0; car4!=62; car4++) { for(car5=0; car5!=62; car5++) { combinaison = caractere[car1] + caractere[car2] + caractere[car3] + caractere[car4] + caractere[car5]; cout &lt;&lt; combinaison &lt;&lt; endl; fichier5 &lt;&lt; combinaison &lt;&lt; endl; } } } } } fichier5.close(); } else { cout &lt;&lt; "Impossible d'ouvrir le fichier !" &lt;&lt; endl; } } </pre> <p>Ca remonte loin, ce bout de code. A l'époque ça m'avait beaucoup amusé.<br/> Il peut servir d'exemple si vous souhaitez faire de l'ouverture/écriture de fichier.</p>
  • [Guide] Apprendre le C++

    Pinned
    3
    0 Votes
    3 Posts
    2k Views
    SoulalexS
    <p style="text-align:center;"><img alt="photo.jpg" src="https://lh3.googleusercontent.com/-_UUaMRwJtSE/AAAAAAAAAAI/AAAAAAAAAC0/0t6bRpnnIR8/photo.jpg"/></p><p style="text-align:center;"><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><em>Si vous souhaitez apprendre la programmation C++, vous trouverez ici une liste des différentes ressources qui vous seront utiles pour votre apprentissage.</em></span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"> <br/> <br/><strong>Outils nécessaires :</strong></span></p><ul class="bbc"><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><a data-ipb="nomediaparse" href="http://www.codeblocks.org/" rel="external nofollow">Code::Blocks</a> : Un <abbr title="Integrated Development Environment">IDE</abbr> parfait pour faire de petits projets et disponible sur tous les systèmes d'exploitation.</span></li></ul><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Cours :</strong></span></p><ul class="bbc"><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><a data-ipb="nomediaparse" href="http://fr.openclassrooms.com/informatique/cours/programmez-avec-le-langage-c" rel="external nofollow">Programmez avec le langage C++</a> <em>(de Mathieu Nebra d'OpenClassrooms)</em> : Ce cours vous aidera à obtenir un bon niveau pour programmer en C++. Il est à noter que plusieurs mois d'apprentissage sont nécessaires pour parvenir à réussir les exercices contenus dans ce cours.</span></li><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><a data-ipb="nomediaparse" href="http://www.france-ioi.org/" rel="external nofollow">France-IOI</a> : Un autre site proposant un cours complet sur le C++ qui vient compléter le cours d'OpenClassrooms (C'est toujours utile d'avoir deux cours différents car si l'on n'a pas compris l'un des deux, l'autre pourra peut-être nous sortir d'affaire).</span></li></ul><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Tutoriels :</strong></span></p><ul class="bbc"><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><a data-ipb="nomediaparse" href="http://cpp.developpez.com/cours/" rel="external nofollow">Tutoriels sur Developpez.com</a> : De nombreux tutoriels susceptibles de vous aider se trouvent sur ce site.</span></li></ul><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Documentations :</strong></span></p><ul class="bbc"><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><a data-ipb="nomediaparse" href="http://www.cplusplus.com/" rel="external nofollow">http://www.cplusplus.com/</a> : La documentation officielle du C++ est toujours une bonne amie quand on recherche une fonction.</span></li></ul><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Librairies :</strong></span></p><ul><li><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><a href="<base_url>/topic/734-lib-libnet/?do=findComment&comment=7808">LibNet par AlexMog</a> : Pour commencer à concevoir des programmes réseaux, la librairie de AlexMog vous sera très utile.</span></li></ul>
  • [Lib] LibNet

    13
    0 Votes
    13 Posts
    4k Views
    AlexMogA
    <p>Salut à tous,</p> <p>Je suis en train de revoir totalement ma lib réseau.</p> <p> </p> <p>J'ai changé pas mal de principes. Entres autre, j'ai ajouté la possibilité d'avoir de l'Asynchrone, ce qui n'était pas possible avec l'ancienne lib.</p> <p>La nouvelle lib est faite pour fournir plusieurs outils, et pour fonctionner aussi bien sur Linux que sur Mac et Windows!</p> <p> </p> <p>Pour l'instant elle est en état de développement, mais plusieurs objets sont déjà fonctionnels.</p> <p> </p> <p>Voici le nouveau git qui lui est dédié: <a href="https://github.com/AlexMog/LibNet" rel="external nofollow">https://github.com/AlexMog/LibNet</a></p> <p> </p> <p>Une documentation HTML et LaTeX est disponible dans le dossier doc ou ici: <a href="http://alexmog.labs-epimars.eu/projets/mognetwork-doc/doc/html/" rel="external nofollow">http://alexmog.labs-epimars.eu/projets/mognetwork-doc/doc/html/</a></p> <p> </p> <p>N'hésitez pas à la tester et à me faire des retours!</p> <p> </p> <p>Enjoy!</p> <p> </p> <p>Mog.</p> <p></p><blockquote class="ipsStyle_spoiler" data-ipsspoiler=""><p>Salut à tous!</p> <p>Vous avez toujours été intéréssés par le réseau, mais vous n'avez encore jamais pu travailler dessus car le fais de créer un serveur vous rebute? Du moins, le côté réception et envois de données vous est assez difficile à comprendre?</p> <p> </p> <p>Voici donc qui va vous plaire: Mog-Network.</p> <p> </p> <p>Mais kesako?</p> <p>Mog-Network est une librairie C++ qui a pour but de créer l'instance du serveur/client à votre place (en autre terme: créer l'instance d'écoute du serveur et du client). Il ne vous restera donc plus qu'à créer le code sans vous soucier du listening .</p> <p> </p> <p>Cool! Mais comment je sais quand je reçois quelque chose?</p> <p>C'est très simple! Une Interface (IClientListener (pour le serveur) et IServerListener (pour le client)) vous est fournie avec ce package, contenant plusieurs méthodes pouvant vous aider, lors de la connexion d'un nouveau client, la déconnexion et la reception d'informations!</p> <p> </p> <p>J'espère que ça en aidera beaucoup, et que j'aurai pas mal de retours </p> <p> </p> <p>C'est cette lib que j'ai codé (en début de 2nd année, donc elle mérite d'être re-codée un petit coup (je le ferais certainement dans une v2)) qui m'as permis de valider pas mal de bonnus sur Epitech, donc amusez-vous bien avec . (ATTENTION: Si vous êtes d'Epitech, et que les libs sont interdites, évitez de les utiliser )</p> <p> </p> <p>ATTENTION x2: Cette lib n'est actuellement compatique que sous LINUX. Je l'adapterais sur windows dans une prochaine version (il me faudra des testeurs dans tous les cas.)</p> <p> </p> <p>J'espère que ça vous aidera </p> <p> </p> <p>Lien GitHub: <a href="https://github.com/AlexMog/MogNetwork" rel="external nofollow">https://github.com/AlexMog/MogNetwork</a></p> <p> </p> <p>Installer la lib:</p> <p>Téléchargez la lib (git clone <a href="https://github.com/AlexMog/MogNetwork.git" rel="external nofollow">https://github.com/AlexMog/MogNetwork.git</a>), ensuite allez dans le dossier de la lib (cd MogNetwork), lancez la commande suivante:</p> <pre class="ipsCode prettyprint"> make fclean && make && sudo make install </pre> <p>La lib est maintenant installée!</p> <p>HAVE FUN </p> <p> </p> <p>Wiki: <a href="https://github.com/AlexMog/MogNetwork/wiki" rel="external nofollow">https://github.com/AlexMog/MogNetwork/wiki</a></p> <p> </p> <p>Enjoy!</p> <p>Alexmog.</p></blockquote><p></p>
  • [Aide] DirectShow : Vidéo dans le programme

    6
    0 Votes
    6 Posts
    5k Views
    K
    <p>Bonjour,</p> <p> </p> <p>J'ai commencé à utiliser DirectShow (module vidéo de directx), mais un détail très important que je voudrais corriger apparait : mon programme ouvre une autre fenêtre et lis la vidéo dedans. Moi je souhaite que la vidéo se lise EN FOND du programme initial.</p> <p> </p> <p>Nous sommes dans le contexte d'une page de login pour un jeu, codé en C++. J'aimerais faire comme le login de league of legends, un fond animé (une vidéo dans mon cas).</p> <p> </p> <p>Voici mon code actuel :</p> <pre class="ipsCode prettyprint"> void .... { [AUTRE CODE] //Système video-login IGraphBuilder* pGraph; IMediaControl* pMediaControl; IMediaEvent *pEvent; CoInitialize(NULL); // Create the filter graph manager and query for interfaces. CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&amp;pGraph); pGraph-&gt;QueryInterface(IID_IMediaControl, (void **)&amp;pMediaControl); pGraph-&gt;QueryInterface(IID_IMediaEvent, (void **)&amp;pEvent); // Build the graph. pGraph-&gt;RenderFile(L"C:\\test.avi", NULL); pMediaControl-&gt;Run(); long evCode; pEvent-&gt;WaitForCompletion(INFINITE, &amp;evCode); // Wait for completion. // Clean up. pMediaControl-&gt;Release(); pGraph-&gt;Release(); CoUninitialize(); } </pre> <p>Mais voila ma vidéo se lance bien mais dans une fenêtre à part...</p> <p> </p> <p>J'aimerais savoir si quelqu'un sait comment utiliser le fond de la fenêtre principale au lieu d'en créer une nouvelle.</p> <p> </p> <p>Merci d'avance et bonne soirée !</p> <p> </p> <p>Cordialement,</p> <p>Karles</p>