Aller directement au contenu

C++

4 Sujets 26 Messages

Cette catégorie peut être suivie depuis le web social ouvert via le pseudo [email protected]

Sous-catégories


  • 0 0
    0 Sujets
    0 Messages
    Pas de nouveau message
  • 1 Sujets
    4 Messages
    AzadA
    Bonjour, je vous partage un de mes tout premiers codes, que j'avais fais pour m'entrainer à la base. Celui-ci n'est pas forcément optimisé, c'est pas nécessaire de le faire ceci dit. 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. Je n'ai pas fais plus car ça prend déjà une dizaine de giga et beaucoup d'heures pour aller jusqu'à là. 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 #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 << combinaison << endl; fichier1 << combinaison << endl; } fichier1.close(); } else { cout << "Impossible d'ouvrir le fichier !" << 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 << combinaison << endl; fichier2 << combinaison << endl; } } fichier2.close(); } else { cout << "Impossible d'ouvrir le fichier !" << 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 << combinaison << endl; fichier3 << combinaison << endl; } } } fichier3.close(); } else { cout << "Impossible d'ouvrir le fichier !" << 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 << combinaison << endl; fichier4 << combinaison << endl; } } } } fichier4.close(); } else { cout << "Impossible d'ouvrir le fichier !" << 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 << combinaison << endl; fichier5 << combinaison << endl; } } } } } fichier5.close(); } else { cout << "Impossible d'ouvrir le fichier !" << endl; } } Ca remonte loin, ce bout de code. A l'époque ça m'avait beaucoup amusé. Il peut servir d'exemple si vous souhaitez faire de l'ouverture/écriture de fichier.
  • [Guide] Apprendre le C++

    Épinglé
    3
    0 Votes
    3 Messages
    2k Vues
    SoulalexS
    [image: photo.jpg] Si vous souhaitez apprendre la programmation C++, vous trouverez ici une liste des différentes ressources qui vous seront utiles pour votre apprentissage. Outils nécessaires : Code::Blocks : Un IDE parfait pour faire de petits projets et disponible sur tous les systèmes d'exploitation. Cours : Programmez avec le langage C++ (de Mathieu Nebra d'OpenClassrooms) : 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. France-IOI : 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). Tutoriels : Tutoriels sur Developpez.com : De nombreux tutoriels susceptibles de vous aider se trouvent sur ce site. Documentations : http://www.cplusplus.com/ : La documentation officielle du C++ est toujours une bonne amie quand on recherche une fonction. Librairies : [LibNet par AlexMog](<base_url>/topic/734-lib-libnet/?do=findComment&comment=7808) : Pour commencer à concevoir des programmes réseaux, la librairie de AlexMog vous sera très utile.
  • [Lib] LibNet

    13
    0 Votes
    13 Messages
    4k Vues
    AlexMogA
    Salut à tous, Je suis en train de revoir totalement ma lib réseau. 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. La nouvelle lib est faite pour fournir plusieurs outils, et pour fonctionner aussi bien sur Linux que sur Mac et Windows! Pour l'instant elle est en état de développement, mais plusieurs objets sont déjà fonctionnels. Voici le nouveau git qui lui est dédié: https://github.com/AlexMog/LibNet Une documentation HTML et LaTeX est disponible dans le dossier doc ou ici: http://alexmog.labs-epimars.eu/projets/mognetwork-doc/doc/html/ N'hésitez pas à la tester et à me faire des retours! Enjoy! Mog. Salut à tous! 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? Voici donc qui va vous plaire: Mog-Network. Mais kesako? 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 . Cool! Mais comment je sais quand je reçois quelque chose? 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! J'espère que ça en aidera beaucoup, et que j'aurai pas mal de retours 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 ) 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.) J'espère que ça vous aidera Lien GitHub: https://github.com/AlexMog/MogNetwork Installer la lib: Téléchargez la lib (git clone https://github.com/AlexMog/MogNetwork.git), ensuite allez dans le dossier de la lib (cd MogNetwork), lancez la commande suivante: make fclean && make && sudo make install La lib est maintenant installée! HAVE FUN Wiki: https://github.com/AlexMog/MogNetwork/wiki Enjoy! Alexmog.
  • [Aide] DirectShow : Vidéo dans le programme

    6
    0 Votes
    6 Messages
    5k Vues
    K
    Bonjour, 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. 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). Voici mon code actuel : 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 **)&pGraph); pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl); pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent); // Build the graph. pGraph->RenderFile(L"C:\\test.avi", NULL); pMediaControl->Run(); long evCode; pEvent->WaitForCompletion(INFINITE, &evCode); // Wait for completion. // Clean up. pMediaControl->Release(); pGraph->Release(); CoUninitialize(); } Mais voila ma vidéo se lance bien mais dans une fenêtre à part... J'aimerais savoir si quelqu'un sait comment utiliser le fond de la fenêtre principale au lieu d'en créer une nouvelle. Merci d'avance et bonne soirée ! Cordialement, Karles