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

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 2920 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:

<html> <head> <meta charset="UTF-8"> <title>Plik z kodem programu</title> <style type="text/css"> /* <![CDATA[ */ span.comments { color: green;} span.functions { color: purple;} span.directive { color: green;} span.text { color: magenta;} span.operators { color: red;} span.numeric { color: olive;} span.keywords { color: blue;} /* ]]> */ </style> </head> <body> <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 </span> <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 </span> <span class="keywords">int</span> <span class="functions">main</span><span class="operators">(){ </span><span class="comments">// Funkcja wywoływana przez system </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 </span>   cout<span class="operators"><<</span><span class="text">"Podaj swoje imie: "</span><span class="operators">;</span>    <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) </span>   cin<span class="operators">>></span>imie<span class="operators">; </span><span class="comments">// tak się wczytuje dane wpisane za pomocą klawiatury do zmiennej </span>   <span class="keywords">char</span> nazwisko<span class="operators">[</span><span class="numeric">255</span><span class="operators">];</span>    cout<span class="operators"><<</span><span class="text">"Podaj swoje nazwisko: "</span><span class="operators">;</span>    cin<span class="operators">>></span>nazwisko<span class="operators">;</span>    <span class="keywords">short</span> <span class="keywords">int</span> wiek<span class="operators">;</span>    cout<span class="operators"><<</span><span class="text">"Podaj swój wiek: "</span><span class="operators">;</span>    cin<span class="operators">>></span>wiek<span class="operators">;</span>    cout<span class="operators"><<</span><span class="text">"Podaj swój wzrost w [m]:"</span><span class="operators">;</span>    <span class="keywords">float</span> f<span class="operators">;</span>    cin<span class="operators">>></span>f<span class="operators">;</span>    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 </span>    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) </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 </span>    cout<span class="operators"><<</span><span class="text">"Wcisnij enter, aby zamknac program..."</span><span class="operators">;</span>    cin<span class="operators">.</span><span class="functions">get</span><span class="operators">(); </span><span class="comments">// tutaj oczekuję na wciśnięcie entera </span>    <span class="keywords">return</span> <span class="numeric">0</span><span class="operators">;</span> <span class="operators">}</span> </pre> </body> </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;
}
Propozycje książek

Załączniki:

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