begin process at 2012 05 27 15:57:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > EDITEUR DE PAGE HTML

EDITEUR DE PAGE HTML


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

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

Auteur : Draven

Ecrire un message privé
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  


 Sources du même auteur

Source avec Zip Source avec une capture TESTER VOTRE RAPIDITÉ À CLIQUER [BUILDER]
Source avec Zip APPLIQUER UN FILTRE À UNE IMAGE
CONVERTIR UNE IMAGE 16 MILLIONS DE COULEURS EN NIVEAUX DE GR...
Source avec Zip THREADS SOUS BUILDER
STÉGANOGRAPHIE [BORLAND C++]

 Sources de la même categorie

Source avec Zip Source avec une capture PROGRAMME DE SUDOKU par AffreuxJojp
Source avec Zip EVALUATEUR D'EXPRESSION ARITHMÉTIQUE par matrx180vTitanium
Source avec Zip Source avec une capture QBIBLIO GESTION DES PRÊTS par conatic
Source avec Zip Source avec une capture QL-CHATROOM V 1.0 par mature
Source avec Zip Source avec une capture GEOLOCALISATION par ganjarasta

Commentaires et avis

Commentaire de pi0up51 le 26/05/2002 13:55:25

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

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

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

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

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

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 ;)

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é ^__^

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é ^__^

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

Commentaire de GoldenEye le 03/06/2002 09:46:27

Excellent début. A poursuivre.

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

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

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




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales