Program kolorujący kod zapisany w plikach .h i .cpp

Stronę tą wyświetlono już: 314 razy

Program CodeToHtml.exe służy do zamiany plików *.h i *.cpp na pliki *.html z uwzględnieniem koloryzacji składni kodu zawartego w plikach. W celu użycia programu wystarczy złapać i upuścić plik lub pliki na ikonę programu, aby ten po chwili przekonwertował je i utworzył na dysku twardym w tej samej lokalizacji lecz z rozszerzeniem *.html plik z pokolorowaną składnią kodu.

Poniżej zamieszczam bardzo prosty kod html wygenerowany przez program:

Listing 1
  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title>Plik z kodem programu</title>
  5. <style type="text/css">
  6. /* <![CDATA[ */
  7. span.comments { color: green;}
  8. span.functions { color: purple;}
  9. span.directive { color: green;}
  10. span.text { color: magenta;}
  11. span.operators { color: red;}
  12. span.numeric { color: olive;}
  13. span.keywords { color: blue;}
  14. /* ]]> */
  15. </style>
  16. </head>
  17. <body>
  18. <p>Plik wygenerowany przez program autorstwa <b>Krzysztofa Zajączkowskiego</b></br>Program można pobrać z strony <a href="http://www.obliczeniowo.com.pl/?id=378" target="_blank">obliczeniowo.com.pl/?id=378</a>.</p><pre><span class="directive">#include</span> <span class="operators"><</span>iostream<span class="operators">> </span><span class="comments">// biblioteka związana z strumieniami cin i count
  19. </span>
  20. <span class="keywords">using</span> <span class="keywords">namespace</span> std<span class="operators">; </span><span class="comments">// ustawiam wykorzystanie przestrzeni nazwy std, żeby nie trzeba było pisać ciągle np. std::cout, std::cin, std::endl
  21. </span>
  22. <span class="keywords">int</span> <span class="functions">main</span><span class="operators">(){ </span><span class="comments">// Funkcja wywoływana przez system
  23. </span> ; ; ;cout<span class="operators"><<</span><span class="text">"Witam w pierwszym programie!\n\n"</span><span class="operators">; </span><span class="comments">// Tak się wyświetla tekst, umieszczając go pomiędzy cudzysłowami. wyrażenie \n wewnątrz tekstu wstawia znak nowej linii
  24. </span> ; ; ;cout<span class="operators"><<</span><span class="text">"Podaj swoje imie: "</span><span class="operators">;</span>
  25.  ; ; ;<span class="keywords">char</span> imie<span class="operators">[</span><span class="numeric">255</span><span class="operators">]; </span><span class="comments">// deklaracja zmiennej tablicowej typu char przeznaczonej do przechowywania ciągu znaków nie większego niż 254 elementów (ostatni znak musi być równy 0)
  26. </span> ; ; ;cin<span class="operators">>></span>imie<span class="operators">; </span><span class="comments">// tak się wczytuje dane wpisane za pomocą klawiatury do zmiennej
  27. </span> ; ; ;<span class="keywords">char</span> nazwisko<span class="operators">[</span><span class="numeric">255</span><span class="operators">];</span>
  28.  ; ; ;cout<span class="operators"><<</span><span class="text">"Podaj swoje nazwisko: "</span><span class="operators">;</span>
  29.  ; ; ;cin<span class="operators">>></span>nazwisko<span class="operators">;</span>
  30.  ; ; ;<span class="keywords">short</span> <span class="keywords">int</span> wiek<span class="operators">;</span>
  31.  ; ; ;cout<span class="operators"><<</span><span class="text">"Podaj swój wiek: "</span><span class="operators">;</span>
  32.  ; ; ;cin<span class="operators">>></span>wiek<span class="operators">;</span>
  33.  ; ; ;cout<span class="operators"><<</span><span class="text">"Podaj swój wzrost w [m]:"</span><span class="operators">;</span>
  34.  ; ; ;<span class="keywords">float</span> f<span class="operators">;</span>
  35.  ; ; ;cin<span class="operators">>></span>f<span class="operators">;</span>
  36.  ; ; ;cout<span class="operators"><<</span>endl<span class="operators"><<</span>endl<span class="operators"><<</span><span class="text">"Oto twoje dane:\n\n"</span><span class="operators">; </span><span class="comments">// tutaj endl wstawia znak nowej linii na ekranie
  37. </span>
  38.  ; ; ;cout<span class="operators">.</span><span class="functions">precision</span><span class="operators">(</span><span class="numeric">2</span><span class="operators">); </span><span class="comments">// ustawianie liczby miejsc po przecinku wypisywanych dla liczb zmiennoprzecinkowych (w tym przypadku do 2 miejsc po przecinku)
  39. </span> ; ; ;cout<span class="operators"><<</span><span class="text">"Imie: "</span><span class="operators"><<</span>imie<span class="operators"><<</span><span class="text">";\nNazwisko: "</span><span class="operators"><<</span>nazwisko<span class="operators"><<</span><span class="text">";\nWiek: "</span><span class="operators"><<</span>wiek<span class="operators"><<</span><span class="text">";\nWzrost w [m]: "</span><span class="operators"><<</span>f<span class="operators"><<</span>endl<span class="operators"><<</span>endl<span class="operators">; </span><span class="comments">// tak wyświetla się na ekranie dane zawarte w zmiennych
  40. </span>
  41.  ; ; ;cout<span class="operators"><<</span><span class="text">"Wcisnij enter, aby zamknac program..."</span><span class="operators">;</span>
  42.  ; ; ;cin<span class="operators">.</span><span class="functions">get</span><span class="operators">(); </span><span class="comments">// tutaj oczekuję na wciśnięcie entera
  43. </span>
  44.  ; ; ;<span class="keywords">return</span> <span class="numeric">0</span><span class="operators">;</span>
  45. <span class="operators">}</span>
  46. </pre>
  47. </body>
  48. </html>

Natomiast tak wygląda kod programu wstawiony na stronę:

#include <iostream> // biblioteka związana z strumieniami cin i count

using namespace std; // ustawiam wykorzystanie przestrzeni nazwy std, żeby nie trzeba było pisać ciągle np. std::cout, std::cin, std::endl

int main(){ // Funkcja wywoływana przez system
   cout<<"Witam w pierwszym programie!\n\n"; // Tak się wyświetla tekst, umieszczając go pomiędzy cudzysłowami. wyrażenie \n wewnątrz tekstu wstawia znak nowej linii
   cout<<"Podaj swoje imie: ";
   char imie[255]; // deklaracja zmiennej tablicowej typu char przeznaczonej do przechowywania ciągu znaków nie większego niż 254 elementów (ostatni znak musi być równy 0)
   cin>>imie; // tak się wczytuje dane wpisane za pomocą klawiatury do zmiennej
   char nazwisko[255];
   cout<<"Podaj swoje nazwisko: ";
   cin>>nazwisko;
   short int wiek;
   cout<<"Podaj swój wiek: ";
   cin>>wiek;
   cout<<"Podaj swój wzrost w [m]:";
   float f;
   cin>>f;

   cout<<endl<<endl<<"Oto twoje dane:\n\n"; // tutaj endl wstawia znak nowej linii na ekranie

   cout.precision(2); // ustawianie liczby miejsc po przecinku wypisywanych dla liczb zmiennoprzecinkowych (w tym przypadku do 2 miejsc po przecinku)
   cout<<"Imie: "<<imie<<";\nNazwisko: "<<nazwisko<<";\nWiek: "<<wiek<<";\nWzrost w [m]: "<<f<<endl<<endl; // tak wyświetla się na ekranie dane zawarte w zmiennych

   cout<<"Wcisnij enter, aby zamknac program...";
   cin.get(); // tutaj oczekuję na wciśnięcie entera

   return 0;
}

Załączniki:

CodeToHtml - program generujący plik html z kolorowaniem składni kodu zawartego w plikach *.cpp i *.h

Komentarze