Advertisement
Patresss

classmaker

Nov 18th, 2014
409
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.09 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #funkcje
  4. function tworzenie_plikow
  5. {
  6. #tworzenie plikow
  7. for (( i=0; $i < $ile; i++ )) ; do
  8. #tworzy plik naglowkowy
  9. echo '#ifndef _'${KLASA[$i]}'_H_
  10. #define _'${KLASA[$i]}'_H_
  11.  
  12. #include <iostream>
  13.  
  14. class' ${klasa[$i]}'
  15. {
  16.     private:
  17.  
  18.     public:
  19.  
  20. };
  21.  
  22. #endif' > ${klasa[$i]}.h
  23.  
  24. #tworzy plik cpp
  25. echo '#include "'${klasa[$i]}'.h"
  26.  
  27.  
  28. ' > ${klasa[$i]}.cpp
  29. done
  30.  
  31. #tworzenie makefile
  32.  
  33. echo 'all:
  34.     g++ -Wall -g -o main *.cpp *.h
  35. c:
  36.     clear
  37.     g++ -Wall -g -o main *.cpp *.h
  38. clean:
  39.     rm -f *.o
  40. clean_all:
  41.     rm -f *.o
  42.     rm -f *~
  43.     rm -f main
  44. run:
  45.     ./main
  46. run_val:
  47.     valgrind --tool=memcheck --leak-check=full ./main' > makefile
  48. }
  49.  
  50. function szukanie_klas
  51. {
  52. ile=$(grep \#include $plik | grep .h | cut -d ' ' -f 2 | sed 's/"//g'| sed 's/.h//g' |sort|uniq | wc -l)
  53.  
  54.  
  55. for (( i=0; $i < $ile; i++ )) ; do
  56.         klasa[i]=$(grep \#include $plik | grep .h | cut -d ' ' -f 2 | sed 's/"//g'| sed 's/.h//g' |sort|uniq| sed -n -e $[$i+1]p)
  57.     KLASA[i]=$(grep \#include $plik | grep .h | cut -d ' ' -f 2 | sed 's/"//g'| sed 's/.h//g' |sort|uniq| sed -n -e $[$i+1]p | tr 'a-z' 'A-Z' )
  58. #echo ${klasa[$i]}
  59. done
  60. }
  61. #######################################################################################
  62.  
  63. echo "______________________________________________________"
  64. echo "Podaj:
  65.     - numer/wzor laboratoriow do pobrania np. '5'
  66.     - lub 'x' jezeli masz juz plik cpp"
  67. read nr
  68. if [ "$nr" == "x" ]
  69. then
  70.     echo "Podaj nazwe pliku"
  71.     read plik
  72. else  
  73.     plik=lab0$nr.cpp
  74.     if [ -d Lab_0$nr ]; then
  75.         echo "Katalog o tej nazwie istnieje. Czy chcesz kontynulowac i zastapic? Jezeli tak nacisnij 'y', jezeli nie to dowolny klawisz"
  76.         read decyzja
  77.             if [ "$decyzja" != "y" ]; then
  78.             echo "Skrypt jest zatrzymany"
  79.             exit 0     
  80.             fi
  81.        
  82.     fi
  83.    
  84.     mkdir Lab_0$nr
  85.     cd Lab_0$nr
  86.     wget http://home.agh.edu.pl/~azemla/cpp/pon/lab0$nr/lab0$nr.cpp --output-document=lab0$nr.cpp
  87.             if [ ! -s $plik ]; then
  88.  
  89.             cd ..
  90.             rm -r Lab_0$nr
  91.             clear          
  92.             echo "Nie ma pliku na stronie www lub nie pasuja do wzoru"
  93.             exit 0     
  94.             fi
  95. fi
  96.  
  97. szukanie_klas
  98.  
  99. tworzenie_plikow
  100.  
  101. clear
  102. echo "Utworzono nowe pliki"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement