Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

56 commentaire(s) de CptPingu sur des sources sur tout CodeS-SourceS

Le : 21/06/2009 23:12:54
Source : PROJET PRODUIT
Je plains ton ami... Le pauvre si tu lui a filé un code de cette qualité, il ne peut qu'avoir raté ses examens !
Plus sérieusement, si c'était pour aider un ami, tu aurais pu lui envoyer les sources par mail, ou lui expliquer de vive voix.
Nous ne sommes pas là pour critiquer les gens, mais ce qu'ils publient. Dès le moment où tu as choisi de publier ton code, tu as accepté de le soumettre à la critique. Ton code n'apporte rien, n'est pas pédagogique, et tu trompes même dans les notions abordées ! La critique est donc naturellement mauvaise. A ta place, je me dirais simplement que j'ai encore beaucoup, beaucoup à apprendre, et j'écouterais attentivement les conseils avisés de gens plus expérimentés que toi. Maintenant, si tu ne supportes pas nos messages "insignifiants", je t'invite chaudement à quitter ce site.


Le : 15/06/2009 01:10:16
Source : PROJET PRODUIT
Il n'y a ici aucun polymorphisme. Les remarques d'Exar sont tout à fait judicieuses. Je pense qu'Exar connaît très bien l'héritage et le polymorphisme et a sûrement un bien meilleur niveau que le tien (je t'invite à voir sa source sur les "traits").
De plus, le code proposé ici est peu intéressant, sale (#include <iostream.h> : beurk !, main() au lieu de int main(), du else avec des return pourtant débranchant, etc...), bourré de fautes d'orthographe, et il semble d'après le nom du projet que c'est un examen que tu ais eu et dont tu te contentes de poster ici, sans le moindre commentaire.

Une source peu utile, et qui pourrait donner de mauvaises habitudes à un débutant qui la lirait.


Le : 03/06/2009 13:42:46
Source : SYSTEME RAID
Perso, j'adore la photo trop ridicule qui à aucun rapport :p


Le : 23/05/2009 13:35:50
Source : COLORATION SYNTAXIQUE AVEC QSYNTAXHIGHLIGHTER DU FRAMEWORK QT
Il aurait été sympa de préciser que c'est un simple copier-coller, légèrement simplifié de l'exemple officiel présent dans la documentation Qt.
A noter que c'est très bien expliqué, en détail, à cette adresse: http://doc.trolltech.com/4.5/richtext-syntaxhighlighter.html


Le : 19/05/2009 16:51:11
Source : GENERATEUR DE MOTS
sa => ça
Ca ne génère pas de mot, mais une suite de lettre.

Le code peut être simplifié:

  int a, b, c, d, e;
  FILE* fichier = fopen("liste.txt","w");

  for (a = 'a'; a <= 'z'; ++a)
    for (b = 'a'; b <= 'z'; ++b)
      for (c = 'a'; c <= 'z'; ++c)
for (d = 'a'; d <= 'z'; ++d)
  for (e = 'a'; e <= 'z'; ++e)
    fprintf(fichier,"%c%c%c%c%c\n", a, b, c, d, e);
  fclose(fichier);

Comme tu le vois, il y a vraiment peu de ligne. Un code source doit être plus fournit pour être posté, sinon c'est plus un snippet qu'autre chose...

Une petite amélioration (choix de l'alphabet, de la taille de mots générés):

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void generateLetters_rec(FILE* file, const char* alp,
int pos, int size, char* buffer)
{
  const char* c;

  if (pos >= size)
  {
    fprintf(file,"%s\n", buffer);
    return;
  }

  for (c = alp; c && *c; ++c)
  {
    buffer[pos] = *c;
    generateLetters_rec(file, alp, pos + 1, size, buffer);
  }
}

int generateLetters(const char* filename, const char* alp, int size)
{
  FILE* file = fopen(filename,"w");
  char* buffer;

  if (!file)
    return 0;

  buffer = malloc((size + 1) * sizeof (char));
  buffer[size] = 0;
  generateLetters_rec(file, alp, 0, size, buffer);
  free(buffer);
  fclose(file);

  return 1;
}

int main(void)
{
  if (!generateLetters("liste.txt", "abc", 5))
  {
    printf("Erreur d'ouverture !\n");
    return 1;
  }

  return 0;
}


Le : 19/05/2009 15:56:44
Source : GENERATEUR DE MOTS
Bof...
C'est juste des boucles imbriquées, pas de quoi en faire une source...


Le : 03/03/2009 23:50:33
Source : COMPILATEUR DE PSEUDO PASCAL
Un simple AST. C'est à dire que j'ai associé à chaque noeud de ma grammaire une classe qui contient des pointeurs vers les noeuds de grammaire associés. Pour répondre à ta question: c'est un arbre général tout ce qu'il y a de plus classique (cf capture).


Le : 27/07/2008 23:51:17
Source : BINARISATION D'IMAGES
Cette question aurait plus sa place sur le forum qu'ici.
Toutefois, pour réaliser cela, tu dois convertir ton image en noir et blanc
pixel.rouge = (pixel.rouge + pixel.vert + pixel.bleu) / 3
pixel.vert = (pixel.rouge + pixel.vert + pixel.bleu) / 3
pixel.bleu = (pixel.rouge + pixel.vert + pixel.bleu) /3

Puis la binariser:
pixel.rouge = si pixel.rouge > 127 alors blanc(0XFF) sinon noir (0X00)
pixel.vert = pixel.rouge
pixel.bleu = pixel.rouge


Le : 12/06/2008 23:10:07
Source : MYSTRING, CLASSE TRAITANT DES CHAÎNES DE CARACTÈRES
>> - Pourquoi avoir utilisé une structure alors que tu disposes des classes, un outil bien plus puissant ?

A noter qu'en C++, une structure est une classe.
La seule différence entre "struct" et "class" est la visibilité par défaut.
Ainsi la stucture est simplement une classe dont tout les attributs sont publiques par défaut. Une classe est une structure dont les champs sont privées par défaut.

Pour émuler une classe avec des structures ont peux utiliser l'écriture:

struct Test
{
  Test()
  {
  }
  private:
   int exemple = 0;
};


Le : 20/09/2007 11:11:25
Source : LVL++ SCRIPT EDITOR
Les étapes:

1) Lexing:
Récupérer tout les tokens du fichier. Un design pattern "FlyWeight" est particulièrement adapté  pour optimiser le stockage de ceux-ci. Si le lexing échoue (commentaires mal refermés, caractères invalides), retourner une erreur et tuer le script. Peut être fait à la main ou à l'aide de Flex/Bison.
Voir listes chaînées, design pattern.

2) Parsing:
Construire un arbre de grammaire à l'aide de tokens récupérer. Vérifier la grammaire au fur et à mesure. En cas d'erreur de grammaire, détruire proprement l'arbre, retourner une erreur et tuer le script. Peut être fait à la main ou à l'aide de Flex/Bison.
Voir les arbres généraux.

3) Binding:
Relier dans l'arbre chaque définition de variable ou de fonctions avec son appel. En cas de variable/fonctions orpheline, retourner une erreur "undefined variable", libérer proprement ce qui à été allouer, et tuer le script.
Voir les pointeurs et les arbres généraux, design pattern visitor.

4) Type checking:
A l'aide de l'arbre précédemment binder, vérifier que le type de la variable et son utilisation correspondent bien au même type. Par exemple si on essaie pas de stocker une string dans un int. En cas d'erreur, retourner une erreur "type mismatch", libérer proprement ce qui à été allouer, et tuer le script.
Voir design pattern visitor.

5) Exécution
Maintenant que le script à été entièrement vérifié, se servir de l'arbre pour exécuter ce qui à été écrit. Soit tu convertis ton langage en un langage connus (delphi, C, ...) afin de le compiler par la suite, soit tu crée un exécutable (donc tu convertis en assembleur), soit tu l'interprètes, cad tu l'exécute directement. Pour exécuter l'arbre, il suffit de le parcourir et de transcrire les actions à la volée.

Je te conseille de le faire en programmation orienté objet. Attention, ce projet est vraiment bien plus difficile que tu ne le penses...
Toutefois, c'est sympa de voir des gens motivés pour des choses un peu plus recherché qu'une n-ième "Calculatrice".
Je manque cruellement de temps en ce moment, mais j'aurais bien écrit un exemple de langage simplissime pour étayer mes dires.

Bonne chance à toi.



1 2 3 4 5 6


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.