begin process at 2008 07 06 13:00:56
1 205 544 membres
121 nouveaux aujourd'hui
14 119 membres club

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 !

EDITEUR DE PAGE HTML


Information sur la source

Catégorie :Application Niveau : Débutant Date de création : 25/05/2002 Date de mise à jour : 04/04/2003 20:29:39 Vu : 3 914

Note :
8,25 / 10 - par 4 personnes
8,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

C'est un editeur de page html. il n'est pas du tout complet, c'est juste un exemple, on peut rajouter des milliers de balises. ( je vous laisse les ajouter ;-) )  

Source

  • #include <stdio.h>
  • #include <iostream.h>
  • #include <conio.h>
  • void chapitre(FILE *);
  • void ligne(FILE *);
  • void texte(FILE *);
  • void image(FILE *);
  • void lien(FILE *);
  • void saut(FILE *);
  • void edit(FILE *);
  • void copyr(FILE *);
  • void tableau(FILE *);
  • void main(void)
  • {
  • char nom_fichier[100],titre[100];
  • FILE * fichier;
  • printf("\tBIENVENUE sur l'éditeur de page HTML\n\n\n\n");
  • printf("Entrez le nom de votre page HTML à créer (avec l'extention) : ");
  • gets(nom_fichier);
  • fichier=fopen(nom_fichier,"w");
  • printf("Entrez le titre de votre page: ");
  • gets(titre);
  • fprintf(fichier,"<HTML>\n<HEAD>\n<TITLE>%s</TITLE>\n</HEAD>\n<BODY>\n",titre);
  • edit(fichier);
  • fprintf(fichier,"</BODY>\n</HTML>");
  • fclose(fichier);
  • }
  • void edit(FILE * fichier)
  • {
  • char choix;
  • do
  • {
  • clrscr();
  • printf("\tMENU D'EDITION\n\n");
  • printf("\t(1) Ajouter un chapitre\n\t(2) Ajouter une ligne horizontale\n\t(3) Ajouter un texte\n\t(4) Ajouter une image\n\t(5) Ajouter un lien\n\t(6) Faire un saut de ligne\n\t(7) Ajouter un copyright\n\t(8) Ajouter un tableau de contact\n\t(q) Quitter\n");
  • printf("\n\tVotre choix : ");
  • cin>>choix;
  • switch(choix)
  • {
  • case'1':chapitre(fichier);break;
  • case'2':ligne(fichier);break;
  • case'3':texte(fichier);break;
  • case'4':image(fichier);break;
  • case'5':lien(fichier);break;
  • case'6':saut(fichier);break;
  • case'7':copyr(fichier);break;
  • case'8':tableau(fichier);break;
  • }
  • }
  • while(choix!='q');
  • }
  • void chapitre(FILE * fichier)
  • {
  • char chap[100];
  • printf("Entrez le titre du chapitre : ");
  • gets(chap);
  • fprintf(fichier,"<CENTER><H1>%s</H1></CENTER>\n",chap);
  • }
  • void ligne(FILE * fichier)
  • {
  • fprintf(fichier,"<HR>\n");
  • }
  • void texte(FILE * fichier)
  • {
  • char caractere;
  • printf("Saisissez votre texte, et appuyez sur Alt +170 puis entrée pour quitter l'éditeur de texte :\n");
  • while((caractere=getchar())!='¬')
  • {
  • if(caractere!='¬')
  • fprintf(fichier,"%c",caractere);
  • if(caractere=='\n')
  • fprintf(fichier,"<br>");
  • }
  • fprintf(fichier,"\n");
  • fflush(stdin);
  • }
  • void image(FILE * fichier)
  • {
  • char image[100];
  • printf("Entrez le nom du fichier image : ");
  • gets(image);
  • fprintf(fichier,"<IMG SRC=\"%s\">\n",image);
  • }
  • void lien(FILE * fichier)
  • {
  • char lien[100],phrase[100];
  • printf("Entrez URL de la page : ");
  • gets(lien);
  • printf("Entrez le nom de votre lien : ");
  • gets(phrase);
  • fprintf(fichier,"<A HREF=\"%s\">%s</A>\n",lien,phrase);
  • }
  • void saut(FILE * fichier)
  • {
  • fprintf(fichier,"<BR>\n");
  • }
  • void copyr(FILE * fichier)
  • {
  • char auteur[100];
  • printf("Entrez le nom de l'auteur du copyright : ");
  • gets(auteur);
  • fprintf(fichier,"<CENTER>(c) copyright %s </CENTER>\n",auteur);
  • }
  • void tableau(FILE * fichier)
  • {
  • char nom[100], adresse[100], code[10], ville[100], boite[10], pays[50], tel[20], gsm[20], mail[100], diplomes[256], experience[256];
  • printf("Entrez votre nom complet (NOM Prénom) : ");
  • gets(nom);
  • printf("Entrez votre adresse (Rue, avenue... + numéro) : ");
  • gets(adresse);
  • printf("Entrez votre code postal : ");
  • gets(code);
  • printf("Entrez votre ville : ");
  • gets(ville);
  • printf("Entrez votre boîte postale (facultatif) : ");
  • gets(boite);
  • printf("Entrez votre pays : ");
  • gets(pays);
  • printf("Entrez votre numéro de téléphone avec préfixe : ");
  • gets(tel);
  • printf("Entrez votre numéro de gsm (facultatif) : ");
  • gets(gsm);
  • printf("Entrez votre adresse E-mail : ");
  • gets(mail);
  • printf("Entrez la liste de vos diplomes (max. 256 caractères) : ");
  • gets(diplomes);
  • printf("Entrez vos expérience antérieure (emplois, stages, max idem) : ");
  • gets(experience);
  • fprintf(fichier, "\n<table align=\"left\" border=\"1\">");
  • if(nom[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>nom:</td><td>%s</td></tr>", nom);
  • if(adresse[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>adresse:</td><td>%s</td></tr>", adresse);
  • if(ville[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>code et ville:</td><td>%s - %s</td></tr>", code, ville);
  • if(boite[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>boîte:</td><td>%s</td></tr>", boite);
  • if(pays[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>pays:</td><td>%s</td></tr>", pays);
  • if(tel[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>numéroe de téléphone:</td><td>%s</td></tr>", tel);
  • if(gsm[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>numéro de gsm:</td><td>%s</td></tr>", gsm);
  • if(mail[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>adresse E-mail:</td><td><a href=\"mailto:%s\">mailez-moi</a></td></tr>", mail);
  • if(diplomes[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>diplomes:</td><td>%s</td></tr>", diplomes);
  • if(experience[0]!=NULL)
  • fprintf(fichier, "\n<tr><td>expériences:</td><td>%s</td></tr>", experience);
  • fprintf(fichier, " </table><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
  • }
#include <stdio.h>
#include <iostream.h>
#include <conio.h>

void chapitre(FILE *);
void ligne(FILE *);
void texte(FILE *);
void image(FILE *);
void lien(FILE *);
void saut(FILE *);
void edit(FILE *);
void copyr(FILE *);
void tableau(FILE *);

void main(void)
{
    char nom_fichier[100],titre[100];
    FILE * fichier;
    printf("\tBIENVENUE sur l'éditeur de page HTML\n\n\n\n");
    printf("Entrez le nom de votre page HTML à créer (avec l'extention) : ");
    gets(nom_fichier);
    fichier=fopen(nom_fichier,"w");
    printf("Entrez le titre de votre page: ");
    gets(titre);
    fprintf(fichier,"<HTML>\n<HEAD>\n<TITLE>%s</TITLE>\n</HEAD>\n<BODY>\n",titre);
    edit(fichier);
    fprintf(fichier,"</BODY>\n</HTML>");
    fclose(fichier);
}

void edit(FILE * fichier)
{
    char choix;
    do
   {
        clrscr();
        printf("\tMENU D'EDITION\n\n");
        printf("\t(1) Ajouter un chapitre\n\t(2) Ajouter une ligne horizontale\n\t(3) Ajouter un texte\n\t(4) Ajouter une image\n\t(5) Ajouter un lien\n\t(6) Faire un saut de ligne\n\t(7) Ajouter un copyright\n\t(8) Ajouter un tableau de contact\n\t(q) Quitter\n");
        printf("\n\tVotre choix : ");
        cin>>choix;
        switch(choix)
        {
             case'1':chapitre(fichier);break;
             case'2':ligne(fichier);break;
             case'3':texte(fichier);break;
             case'4':image(fichier);break;
             case'5':lien(fichier);break;
             case'6':saut(fichier);break;
             case'7':copyr(fichier);break;
             case'8':tableau(fichier);break;
      }
   }
   while(choix!='q');
}

void chapitre(FILE * fichier)
{
      char chap[100];
      printf("Entrez le titre du chapitre : ");
      gets(chap);
      fprintf(fichier,"<CENTER><H1>%s</H1></CENTER>\n",chap);
}

void ligne(FILE * fichier)
{
       fprintf(fichier,"<HR>\n");
}

void texte(FILE * fichier)
{
     char caractere;
     printf("Saisissez votre texte, et appuyez sur Alt +170 puis entrée pour quitter l'éditeur de texte :\n");
     while((caractere=getchar())!='¬')
    {
         if(caractere!='¬')
         fprintf(fichier,"%c",caractere);
         if(caractere=='\n')
      	fprintf(fichier,"<br>");
     }
     fprintf(fichier,"\n");
     fflush(stdin);
}

void image(FILE * fichier)
{
      char image[100];
      printf("Entrez le nom du fichier image : ");
      gets(image);
      fprintf(fichier,"<IMG SRC=\"%s\">\n",image);
}

void lien(FILE * fichier)
{
      char lien[100],phrase[100];
      printf("Entrez URL de la page : ");
      gets(lien);
      printf("Entrez le nom de votre lien : ");
      gets(phrase);
      fprintf(fichier,"<A HREF=\"%s\">%s</A>\n",lien,phrase);
}

void saut(FILE * fichier)
{
       fprintf(fichier,"<BR>\n");
}

void copyr(FILE * fichier)
{
      char auteur[100];
      printf("Entrez le nom de l'auteur du copyright : ");
      gets(auteur);
      fprintf(fichier,"<CENTER>(c) copyright %s </CENTER>\n",auteur);
} 

void tableau(FILE * fichier)
{
      char nom[100], adresse[100], code[10], ville[100], boite[10], pays[50], tel[20], gsm[20], mail[100], diplomes[256], experience[256];
      printf("Entrez votre nom complet (NOM Prénom) : ");
      gets(nom);
      printf("Entrez votre adresse (Rue, avenue... + numéro) : ");
      gets(adresse);
      printf("Entrez votre code postal : ");
      gets(code);
      printf("Entrez votre ville : ");
      gets(ville);
      printf("Entrez votre boîte postale (facultatif) : ");
      gets(boite);
      printf("Entrez votre pays : ");
      gets(pays);
      printf("Entrez votre numéro de téléphone avec préfixe : ");
      gets(tel);
      printf("Entrez votre numéro de gsm (facultatif) : ");
      gets(gsm);
      printf("Entrez votre adresse E-mail : ");
      gets(mail);
      printf("Entrez la liste de vos diplomes (max. 256 caractères) : ");
      gets(diplomes);
      printf("Entrez vos expérience antérieure (emplois, stages, max idem) : ");
      gets(experience);

      fprintf(fichier, "\n<table align=\"left\" border=\"1\">");
      if(nom[0]!=NULL)
                fprintf(fichier, "\n<tr><td>nom:</td><td>%s</td></tr>", nom);
      if(adresse[0]!=NULL)
                fprintf(fichier, "\n<tr><td>adresse:</td><td>%s</td></tr>", adresse);
      if(ville[0]!=NULL)
                fprintf(fichier, "\n<tr><td>code et ville:</td><td>%s - %s</td></tr>", code, ville);
      if(boite[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>boîte:</td><td>%s</td></tr>", boite);
      if(pays[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>pays:</td><td>%s</td></tr>", pays);
      if(tel[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>numéroe de téléphone:</td><td>%s</td></tr>", tel);
      if(gsm[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>numéro de gsm:</td><td>%s</td></tr>", gsm);
      if(mail[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>adresse E-mail:</td><td><a href=\"mailto:%s\">mailez-moi</a></td></tr>", mail);
      if(diplomes[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>diplomes:</td><td>%s</td></tr>", diplomes);
      if(experience[0]!=NULL)
   	fprintf(fichier, "\n<tr><td>expériences:</td><td>%s</td></tr>", experience);
      fprintf(fichier, " </table><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
} 

Conclusion

je n ai teste ce source que sous borland c++, pas sous visual donc certaines fonctions comme clrscr ne fonctionneront pas. et puis il y a un truc qui me plais pas c est pour l'editeur de texte si quelqu'un trouve un truc mieux pour sortir de la boucle, ca serait sympa de me le dire, merci  
  • signaler à un administrateur
    Commentaire de pi0up51 le 26/05/2002 13:55:25

    ça marche aussi sous Dev C++
    Sinon très bon travail ;)

  • signaler à un administrateur
    Commentaire de Kirua le 26/05/2002 15:07:20

    Ouais, pas mal :)
    C'est pratique si on veut juste faire une page genre cv ou autre, mais alors autant l'orienté vers ce genre de fonction (du genre, permettre de faire un tableau type avec le nom, l'adresse, le numéro de téléphone...) et guider l'utilisateur à travers les étapes de rédaction d'un cv.

    Autre remarque: j'ai eut du mal à sortir de l'éditeur de texte, je crois que j'ai fini par faire alt+13 au hasard (je ne certifie pas la combinaison). J'ai fait un peu de tout... Je suis sous windows 98, ça change peut être quelque chose.

    Sinon dans l'ensemble, un bon boulot :)
    C'est vrai que l'idée de menu comme tu l'as fait est assez didactique pour quelqu'un qui ne sait pas comment faire, et il ne faut pas se soucier des balises.

    Ca reste un éditeur basique, mais c'est bien (comme je l'ai déjà dit ;)

    Essaie de l'améliorer, et on y reviendra :P

    Nicolas

  • signaler à un administrateur
    Commentaire de Draven le 26/05/2002 17:42:11

    merci pi0up51 et Kirua.
    Kirua je prends note de tes suggestions et je tacherai de l ameliorer quand j en aurai le tps

  • signaler à un administrateur
    Commentaire de Dalamar le 28/05/2002 20:11:53

    C'est très bien. J'aimerais savoir comment on fait de la manipulation de fichier en c++! merci

  • signaler à un administrateur
    Commentaire de Kirua le 30/05/2002 20:56:49

    Je ne programme pas sous Dos (je veux dire, dans des petites boîtes noires ^__^), mais je crois que, comme tu as rédigé le code, je pourrais ajouter aussi une fonction.

    Je dois dire que la présentation est très ingénieuse, en ce sens qu'il suffit d'ajouter une fonction de traitement d'infos sans se soucier des pointeurs de fichier et du menu (juste ajouter une ligne).

    Je suis en examen, mais si j'ai le temps, je veux bien apporter ma petite contribution :)

    Tcho!

    Nicolas

  • signaler à un administrateur
    Commentaire de Kirua le 30/05/2002 23:11:51

    Voilà une petite fonction à ajouter. (attention, j'ai doublé les slashes pour qu'il soient visibles, les enlever si on voit les deux)
    D'abord dans les déclarations de fonctions, ajouter (tjs):
    void tableau(FILE *);
    puis dans le menu:
    \n\t(8) Ajouter un tableau de contact
    et
    case'8':tableau(fichier);break;

    et alors le code en lui-même:

    void tableau(FILE * fichier)
    {
                char nom[100], adresse[100], code[10], ville[100], boite[10], pays[50], tel[20], gsm[20], mail[100], diplomes[256], experience[256];
                printf("Entrez votre nom complet (NOM Prénom) : ");
                gets(nom);
                printf("Entrez votre adresse (Rue, avenue... + numéro) : ");
                gets(adresse);
                printf("Entrez votre code postal : ");
                gets(code);
                printf("Entrez votre ville : ");
                gets(ville);
                printf("Entrez votre boîte postale (facultatif) : ");
                gets(boite);
                printf("Entrez votre pays : ");
                gets(pays);
                printf("Entrez votre numéro de téléphone avec préfixe : ");
                gets(tel);
                printf("Entrez votre numéro de gsm (facultatif) : ");
                gets(gsm);
                printf("Entrez votre adresse E-mail : ");
                gets(mail);
                printf("Entrez la liste de vos diplomes (max. 256 caractères) : ");
                gets(diplomes);
                printf("Entrez vos expérience antérieure (emplois, stages, max idem) : ");
                gets(experience);

                fprintf(fichier, "\n&lt;table align=\"left\" border=\"1\"&gt;");
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;nom:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", nom);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;adresse:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", adresse);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;code et ville:&lt;/td&gt;&lt;td&gt;%s - %s&lt;/td&gt;&lt;/tr&gt;", code, ville);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;boîte:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", boite);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;pays:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", pays);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;numéroe de téléphone:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", tel);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;numéro de gsm:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", gsm);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;adresse E-mail:&lt;/td&gt;&lt;td&gt;&lt;a href=\"mailto:%s\"&gt;mailez-moi&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;", mail);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;diplomes:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", diplomes);
                fprintf(fichier, "\n&lt;tr&gt;&lt;td&gt;expériences:&lt;/td&gt;&lt;td&gt;%s&lt;/td&gt;&lt;/tr&gt;", experience);
                fprintf(fichier, "\n&lt;/table&gt;");

    }

    Voilà, ce fut un plaisir ^__^. Améliore moi ça, parce que je ne respecte certainement pas les règles du C++ 'propre', je viens de commencer :/, et c'est mon premier langage.

    Ciaooooo

    Nicolas (ou Kirua ;)

  • signaler à un administrateur
    Commentaire de Kirua le 31/05/2002 17:07:38

    Pardon,
    il faut modifier la ligne:
    fprintf(fichier, "
    &lt;/table&gt;");
    et remplacer par
    fprintf(fichier, "
    &lt;/table&gt;&lt;br&gt;&lt;br&gt;");

    Désolé ^__^

  • signaler à un administrateur
    Commentaire de Kirua le 31/05/2002 17:10:49

    Re-Pardon,
    il faut modifier la ligne:
    fprintf(fichier, "
    &lt;/table&gt;");
    et remplacer par
    fprintf(fichier, "
    &lt;/table&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;");

    Re-Désolé ^__^

  • signaler à un administrateur
    Commentaire de Draven le 31/05/2002 19:29:12

    comme tu peux le constater nicolas j ai legerement modifie ta partie du source. lesboucles if evitent d afficher les cases lorsque l utilisateur n as rien saisi ( personnellement je trouve mieux comme ca) sinon j ai pas regarder le reste je te fais confience.

    je crois qu il y a une instrution en html pour eviter d ecrire a pluusieurs &lt;BR&gt;, mais j en m avance peu etre de trop, je vais tenter de chercher ca

  • signaler à un administrateur
    Commentaire de GoldenEye le 03/06/2002 09:46:27

    Excellent début. A poursuivre.

  • signaler à un administrateur
    Commentaire de Kirua le 04/06/2002 22:09:13

    Oui, en faite, je les avait mis, mais au lien de !=NULL j'avais !="" et ça ne marchait pas. (probablement à cause du fichu caractère \0...
    Mais c mieu ainsi :)
    Comme je t'ai dit, je ne programme jamais en fenetre dos, alors je me suis contenté de reprendre ta structure très intuitive :)

    Voilà, c'est tout
    Ciaoooooo

    Nicolas

  • signaler à un administrateur
    Commentaire de victorcoasne le 13/07/2004 21:51:37

    Bof j'en fais un actuellement c'est pas pour dire mais le tien il vaut rien à côté du mien qui est sous Windows avec plein de graphisme (boutons...).
    De plus avec mon programme tu choisi ou tu met l'objet !!!

    6/10 c'est bien pour débuter

  • signaler à un administrateur
    Commentaire de Draven le 16/07/2004 18:38:44

    C'est un petit programme que j'ai fait en deux heures a l'époque ou je commençais la programmation donc j'espere que tu peux comprendre que mon application ne ressemble pas a front page ou dreamweaver.

    Je pense que tout le monde a compris, le but de ton message est de faire ta pub, et c'ets ton droit.

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS