#!/bin/bash
# 08.01.30
# Hasznalat: zhus1 <filenev kiterjesztes nelkul>

# Szukseges file-ok:
# <filenev>.zhk (Felevben szerzett pontszamok)
# <filenev>.kov (Felev kovetelmenyei)
# <filenev>.knv (A kurzus neve)

####
# opciok es a filenev beolvasasa
####

while getopts g:o:v:n opcio
do
 case "$opcio" in
  g) gyakvez="$OPTARG";;
  o) oszlop="$OPTARG";;
  v) vizsgalap="$OPTARG";;
  n) szin="n"
 esac
done
if [ $# == 1 ] ; then filenev=$1 ; fi
if [ $# == 2 ] ; then filenev=$2 ; fi
if [ $# == 3 ] ; then filenev=$3 ; fi
if [ $# == 4 ] ; then filenev=$4 ; fi
if [ $# == 5 ] ; then filenev=$5 ; fi
if [ $# == 6 ] ; then filenev=$6 ; fi
if [ $# == 7 ] ; then filenev=$7 ; fi
if [ $# == 8 ] ; then filenev=$8 ; fi

# Ellenorzesul:

# echo "gyakvezer=$gyakvez"
# echo "oszlop=$oszlop"
# echo "vizsgalap=$vizsgalap"
# echo "optind="$OPTIND
# echo "filenev="$filenev
# echo "dollar hessmark="$#

####
# Gyakvezer szerint valogatunk, ha meg van adva.
####

cat $filenev.zhk |

awk -F\; ' BEGIN { OFS=";"}
{
split(gyv,gtomb,",")
if (length(gyv)!=0) {
 for (i in gtomb) {
  if ($3==gtomb[i]) print($0);
 };
};
if (length(gyv)==0) print($0);
}' gyv=$gyakvez > $filenev.zhg

####
# Kiszedjuk a neptun kodokat a vizsgalapban tarolt fileokbol
####

#####
# (Ez itt csak probalkozas volt tobb filenev szeparalasara, nem erdekes.)
# echo $vizsgalap > $filenev.zhf
#
# awk -F\, '{
# for (i=1; i<=NF; i+=1) printf(" "$i);
# }' $filenev.zhf
#####

if [ $vizsgalap ] #ha a vizsgalap nem ures 
 then

 cat $filenev.zhg |

 awk -F\; '{
 split(keres,ktomb,",")
 for (i in ktomb) if ($2==ktomb[i]) print($0);;
 }' keres=`awk -F\( '{ for (i=2; i<=NF; i+=1) printf(substr($i,1,6)","); }' $vizsgalap`  > $filenev.zhv

 else 
 cp $filenev.zhg $filenev.zhv
fi

#####
# Szamolas, osztalyzas, ertekeles...
#####

# Atadjuk a filenevet az awknak

cat $filenev.zhv |

awk -F\; '{

# nev, neptun, gyakvezt egyszeruen bemasoljuk:

for (i=1; i<=3; i+=1) sor[i] = $(i);

# hf-ek feldolgozasa:

hfsum=0; dobhf=0; hffelev=0; hflegrosszabb=100000; hfdarab=0;

if (hfdobas=="i") hfsummax = (hfszam-1)*hfmax;
else hfsummax = hfszam*hfmax;

for (i=4; i<=3+hfszam; i+=1) {
 sor[i] = $i
 if ((($i+0)==$i) && (length($i)!=0)) {
  atlossz[i] = atlossz[i]+$i
  atldb[i] = atldb[i]+1
  hfsum = hfsum+$i
  hffelev = hffelev+hfmax
  if ($i < hflegrosszabb) {
   hflegrosszabb = $i
   dobhf = i
  };
 }; 
 if ((($i+0)!=$i) && (length($i)!=0)){
  hffelev = hffelev+hfmax
  hflegrosszabb = 0
  dobhf = i
 }; 
};
if ((hfmax+0==hfmax) && (hfmax>0)) hfdarab = hffelev/hfmax;
if ((hfdobas=="i") && (hffelev==hfmax*hfszam)) {
 hffelev = hffelev-hfmax
 if (hflegrosszabb<100000) hfsum = hfsum-hflegrosszabb;
 sor[dobhf] = "("$dobhf")"
};

# zh-k es potzh-k feldolgozasa:

zhsum=0; zhfelev=0; zhbaj=0;

for (i=4+hfszam; i<=3+hfszam+zhszam; i+=1) {
 sor[i] = $i
 sor[i+zhszam] = $(i+zhszam)
 if ((length($i)!=0) || (length($(i+zhszam))!=0)) zhfelev = zhfelev+zhmax;
 if ((($(i+zhszam)+0)==$(i+zhszam)) && (length($(i+zhszam))!=0)) {
  atlossz[i+zhszam] = atlossz[i+zhszam]+$(i+zhszam)
  atldb[i+zhszam] = atldb[i+zhszam]+1
  zhsum = zhsum+$(i+zhszam)
  if ($(i+zhszam)<zhmin) zhbaj = 1;
  sor[i] = "("$i")"
 };
 if ((($i+0)==$i) && (length($i)!=0)) {
  atlossz[i] = atlossz[i]+$(i)
  atldb[i] = atldb[i]+1
 };
 if ((($(i+zhszam)+0)!=$(i+zhszam)) && ((($i)+0)==$i) && (length($i)!=0)) {
  zhsum = zhsum+$i
  if ($i<zhmin) zhbaj = 1;
 };
 if ((($(4+hfszam+2*zhszam)+0)==$(4+hfszam+2*zhszam)) && (length($(4+hfszam+2*zhszam))!=0)) {
  sor[i] = "("$i")"
  sor[i+zhszam] = "("$(i+zhszam)")"
 };
if ((zhmin>0) && (($(i+zhszam)+0)!=$(i+zhszam)) && (($i+0)!=$i) && ((length($i)>0) || (length($(i+zhszam))>0))) zhbaj = 1;
};

# hfsum feldolgozasa:

if (hffelev!=0) {
 if (($(4+hfszam+2*zhszam)+0==$(4+hfszam+2*zhszam)) && (length($(4+hfszam+2*zhszam))!=0)) sor[4+hfszam+2*zhszam] = "("hfsum"/"hffelev")";
 else sor[4+hfszam+2*zhszam] = hfsum"/"hffelev;
 atlossz[4+hfszam+2*zhszam] = atlossz[4+hfszam+2*zhszam]+hfsum
 atldb[4+hfszam+2*zhszam] = atldb[4+hfszam+2*zhszam]+1
};

# zhsum feldolgozasa:

if (zhfelev!=0) {
 if (($(4+hfszam+2*zhszam)+0==$(4+hfszam+2*zhszam)) && (length($(4+hfszam+2*zhszam))!=0)) sor[5+hfszam+2*zhszam] = "("zhsum"/"zhfelev")";
 else sor[5+hfszam+2*zhszam] = zhsum"/"zhfelev;
 atlossz[5+hfszam+2*zhszam] = atlossz[5+hfszam+2*zhszam]+zhsum
 atldb[5+hfszam+2*zhszam] = atldb[5+hfszam+2*zhszam]+1
};

zhsumold = zhsum

# ivzh feldolgozasa + ivzh eseten alairas megadasa:

sor[7+hfszam+2*zhszam] = ""

sor[6+hfszam+2*zhszam] = $(4+hfszam+2*zhszam)
if ((($(4+hfszam+2*zhszam)+0)==$(4+hfszam+2*zhszam)) && (length($(4+hfszam+2*zhszam))!=0)) {
 atlossz[6+hfszam+2*zhszam] = atlossz[6+hfszam+2*zhszam]+$(4+hfszam+2*zhszam)
 atldb[6+hfszam+2*zhszam] = atldb[6+hfszam+2*zhszam]+1
 if ($(4+hfszam+2*zhszam)<ivmin) {
  zhsum = $(4+hfszam+2*zhszam)
  sor[7+hfszam+2*zhszam] = "-"
 }
 else {
  zhsum = ivmin
  sor[7+hfszam+2*zhszam] = "+"
 };
};

# alairas kiertekelese es kitoltese:

baj = 0
if ((hffelev>0) && (hfsummax>0)) {
 if (hfsum/hffelev<hfsummin/hfsummax) baj = 1;
 };
if ((zhfelev>0) && (zhszam>0) && (zhmax>0)) {
 if (zhsum/zhfelev<zhsummin/(zhszam*zhmax)) baj = 1;
 };
if ((hffelev+zhfelev+0==hffelev+zhfelev) && (hffelev+zhfelev>0) && (hfsummax+zhszam*zhmax+0==hfsummax+zhszam*zhmax) && (hfsummax+zhszam*zhmax>0)) {
 if ((hfsum+zhsum)/(hffelev+zhfelev)<felevmin/(hfsummax+zhszam*zhmax)) baj=1;
 };
if ((($(4+hfszam+2*zhszam)+0)!=$(4+hfszam+2*zhszam)) && ((hffelev>0) || (zhfelev>0))) {
 if ((baj==1) || (zhbaj==1)) {
  if ((hfdarab==hfszam) && (zhfelev==zhszam*zhmax)) {
   sor[7+hfszam+2*zhszam] = "-"
  }
  else sor[7+hfszam+2*zhszam] = "!";
 } 
  else if ((hfdarab==hfszam) && (zhfelev==zhszam*zhmax)) { 
  sor[7+hfszam+2*zhszam] = "+"
 };
};
if (($(5+hfszam+2*zhszam)=="e") && (hfsum+zhsum==0)) {
zhsum = korabbialairas
sor[7+hfszam+2*zhszam] = "e"
};
if (sor[7+hfszam+2*zhszam]=="+") {
 atlossz[7+hfszam+2*zhszam] = atlossz[7+hfszam+2*zhszam]+1
 atldb[7+hfszam+2*zhszam] = atldb[7+hfszam+2*zhszam]+1
};
if (sor[7+hfszam+2*zhszam]=="-") {
 atldb[7+hfszam+2*zhszam] = atldb[7+hfszam+2*zhszam]+1
};

# felevkozi jegy

if ((felevkozi=="i") && (hfdarab==hfszam) && (zhfelev==zhmax*zhszam)) {
 if (sor[7+hfszam+2*zhszam]=="-") sor[8+hfszam+2*zhszam] = "-";
 if ((sor[7+hfszam+2*zhszam]=="+") || (sor[7+hfszam+2*zhszam]=="e")) {
  nagyosszeg = hfsum + zhsum
  csalt=0
  for (j=4; j<=3+hfszam; j+=1) if ($j=="ch") csalt = 1;
  for (j=4+hfszam; j<=3+hfszam+zhszam; j+=1)  if (($j=="ch") || ($(j+zhszam)=="ch")) csalt = 1;
  if ($(4+hfszam+2*zhszam)=="ch") csalt = 1;
  nagyosszeg = nagyosszeg-csalt*csalas
  if ((($(4+hfszam+2*zhszam)+0)==$(4+hfszam+2*zhszam)) && (length($(4+hfszam+2*zhszam))!=0)) { # ha iv-t kell osztalyozni
   sor[8+hfszam+2*zhszam] = "1"
   if ($(4+hfszam+2*zhszam)>=minivd) sor[8+hfszam+2*zhszam] = "2";
   if ($(4+hfszam+2*zhszam)>=minivcm) sor[8+hfszam+2*zhszam] = "2.65";
   if ($(4+hfszam+2*zhszam)>=minivc) sor[8+hfszam+2*zhszam] = "3";
   if ($(4+hfszam+2*zhszam)>=minivcp) sor[8+hfszam+2*zhszam] = "3.35";
   if ($(4+hfszam+2*zhszam)>=minivbm) sor[8+hfszam+2*zhszam] = "3.65";
   if ($(4+hfszam+2*zhszam)>=minivb) sor[8+hfszam+2*zhszam] = "4";
   if ($(4+hfszam+2*zhszam)>=minivbp) sor[8+hfszam+2*zhszam] = "4.35";
   if ($(4+hfszam+2*zhszam)>=minivam) sor[8+hfszam+2*zhszam] = "4.65";
   if ($(4+hfszam+2*zhszam)>=miniva) sor[8+hfszam+2*zhszam] = "5";
   if ($(4+hfszam+2*zhszam)>=minivap) sor[8+hfszam+2*zhszam] = "5.35";
  };
  if (($(4+hfszam+2*zhszam)+0)!=$(4+hfszam+2*zhszam)) { # ha nincs ivpontszam
   sor[8+hfszam+2*zhszam] = "1"
   if (nagyosszeg>=minfvd) sor[8+hfszam+2*zhszam] = "2";
   if (nagyosszeg>=minfvcm) sor[8+hfszam+2*zhszam] = "2.65";
   if (nagyosszeg>=minfvc) sor[8+hfszam+2*zhszam] = "3";
   if (nagyosszeg>=minfvcp) sor[8+hfszam+2*zhszam] = "3.35";
   if (nagyosszeg>=minfvbm) sor[8+hfszam+2*zhszam] = "3.65";
   if (nagyosszeg>=minfvb) sor[8+hfszam+2*zhszam] = "4";
   if (nagyosszeg>=minfvbp) sor[8+hfszam+2*zhszam] = "4.35";
   if (nagyosszeg>=minfvam) sor[8+hfszam+2*zhszam] = "4.65";
   if (nagyosszeg>=minfva) sor[8+hfszam+2*zhszam] = "5";
   if (nagyosszeg>=minfvap) sor[8+hfszam+2*zhszam] = "5.35";
  };
 };
 if (sor[8+hfszam+2*zhszam]=="1") atlosszf[8+hfszam+2*zhszam] = atlosszf[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="2") atlosszd[8+hfszam+2*zhszam] = atlosszd[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="2.65") atlosszcm[8+hfszam+2*zhszam] = atlosszcm[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="3") atlosszc[8+hfszam+2*zhszam] = atlosszc[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="3.35") atlosszcp[8+hfszam+2*zhszam] = atlosszcp[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="3.65") atlosszbm[8+hfszam+2*zhszam] = atlosszbm[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="4") atlosszb[8+hfszam+2*zhszam] = atlosszb[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="4.35") atlosszbp[8+hfszam+2*zhszam] = atlosszbp[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="4.65") atlosszam[8+hfszam+2*zhszam] = atlosszam[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="5") atlossza[8+hfszam+2*zhszam] = atlossza[8+hfszam+2*zhszam]+1;
 if (sor[8+hfszam+2*zhszam]=="5.35") atlosszap[8+hfszam+2*zhszam] = atlosszap[8+hfszam+2*zhszam]+1;
};

# vizsgapont es vizsgajegy kiertekelese, beirasa

for (i=1; i<=vizsgaszam; i+=1) { # i a vizsga sorszama!!
 nagyosszeg = hfsum + zhsum
 if (felevkozi=="i") nagyosszeg = 0;
 sor[7+hfszam+2*zhszam+2*i] = $(5+hfszam+2*zhszam+i)
 if ((length($(5+hfszam+2*zhszam+i))!=0) && ($(5+hfszam+2*zhszam+i)!="-")) {
  if ((($(5+hfszam+2*zhszam+i)+0)==$(5+hfszam+2*zhszam+i)) && (length($(5+hfszam+2*zhszam+i))!=0)) {
   nagyosszeg = nagyosszeg + $(5+hfszam+2*zhszam+i)
   atlossz[7+hfszam+2*zhszam+2*i] = atlossz[7+hfszam+2*zhszam+2*i]+$(5+hfszam+2*zhszam+i)
   atldb[7+hfszam+2*zhszam+2*i] = atldb[7+hfszam+2*zhszam+2*i]+1
  };
  csalt=0
  for (j=4; j<=3+hfszam; j+=1) if ($j=="ch") csalt = 1;
  for (j=4+hfszam; j<=3+hfszam+zhszam; j+=1)  if (($j=="ch") || ($(j+zhszam)=="ch")) csalt = 1;
  if ($(4+hfszam+2*zhszam)=="ch") csalt = 1;
  nagyosszeg = nagyosszeg-csalt*csalas
  sor[8+hfszam+2*zhszam+2*i] = "1"
  if (nagyosszeg>=mind) sor[8+hfszam+2*zhszam+2*i] = "2";
  if (nagyosszeg>=mincm) sor[8+hfszam+2*zhszam+2*i] = "2.65";
  if (nagyosszeg>=minc) sor[8+hfszam+2*zhszam+2*i] = "3";
  if (nagyosszeg>=mincp) sor[8+hfszam+2*zhszam+2*i] = "3.35";
  if (nagyosszeg>=minbm) sor[8+hfszam+2*zhszam+2*i] = "3.65";
  if (nagyosszeg>=minb) sor[8+hfszam+2*zhszam+2*i] = "4";
  if (nagyosszeg>=minbp) sor[8+hfszam+2*zhszam+2*i] = "4.35";
  if (nagyosszeg>=minam) sor[8+hfszam+2*zhszam+2*i] = "4.65";
  if (nagyosszeg>=mina) sor[8+hfszam+2*zhszam+2*i] = "5";
  if (nagyosszeg>=minap) sor[8+hfszam+2*zhszam+2*i] = "5.35";
  if (($(5+hfszam+2*zhszam+i)+0==$(5+hfszam+2*zhszam+i)) && ($(5+hfszam+2*zhszam+i)<vizsgamin)) sor[8+hfszam+2*zhszam+2*i] = "1";
 };
 if (((sor[7+hfszam+2*zhszam]!="+") && (sor[7+hfszam+2*zhszam]!="e") && (length($(5+hfszam+2*zhszam+i))!=0)) || ($(5+hfszam+2*zhszam+i)=="-") || ((felevkozi=="i") && (length($(5+hfszam+2*zhszam+i))!=0) && ((sor[8+hfszam+2*zhszam]+0!=sor[8+hfszam+2*zhszam]) || (sor[8+hfszam+2*zhszam]==1)))) sor[8+hfszam+2*zhszam+2*i] = "-";
 if (sor[8+hfszam+2*zhszam+2*i]==5.35) atlosszap[8+hfszam+2*zhszam+2*i] = atlosszap[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==5) atlossza[8+hfszam+2*zhszam+2*i] = atlossza[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==4.65) atlosszam[8+hfszam+2*zhszam+2*i] = atlosszam[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==4.35) atlosszbp[8+hfszam+2*zhszam+2*i] = atlosszbp[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==4) atlosszb[8+hfszam+2*zhszam+2*i] = atlosszb[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==3.65) atlosszbm[8+hfszam+2*zhszam+2*i] = atlosszbm[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==3.35) atlosszcp[8+hfszam+2*zhszam+2*i] = atlosszcp[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==3) atlosszc[8+hfszam+2*zhszam+2*i] = atlosszc[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==2.65) atlosszcm[8+hfszam+2*zhszam+2*i] = atlosszcm[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==2) atlosszd[8+hfszam+2*zhszam+2*i] = atlosszd[8+hfszam+2*zhszam+2*i]+1;
 if (sor[8+hfszam+2*zhszam+2*i]==1) atlosszf[8+hfszam+2*zhszam+2*i] = atlosszf[8+hfszam+2*zhszam+2*i]+1;
};

# Az i. hf szine

nagymax = hfsummax+zhszam*zhmax+vizsgamax # a felevben szerezheto osszpontszam

if (felevkozi=="i") {
 fszd = minfvd/(hfsummax+zhszam*zhmax)
 fszc = minfvcm/(hfsummax+zhszam*zhmax)
 fszb = minfvbm/(hfsummax+zhszam*zhmax)
 fsza = minfvam/(hfsummax+zhszam*zhmax)
};
if (felevkozi!="i") {
 fszd = mind/(nagymax)
 fszc = mincm/(nagymax)
 fszb = minbm/(nagymax)
 fsza = minam/(nagymax)
};

for (i=1; i<=hfszam; i+=1) {
 sor[8+hfszam+2*zhszam+2*vizsgaszam+i] = "n"
 if ((($(3+i)+0)==$(3+i)) && (length($(3+i))!=0) && (hfmax>0)) {
  sor[8+hfszam+2*zhszam+2*vizsgaszam+i] = "lgt"
  if ($(3+i)/hfmax>=fszd) sor[8+hfszam+2*zhszam+2*vizsgaszam+i] = "lgs";
  if ($(3+i)/hfmax>=fszc) sor[8+hfszam+2*zhszam+2*vizsgaszam+i] = "koz";
  if ($(3+i)/hfmax>=fszb) sor[8+hfszam+2*zhszam+2*vizsgaszam+i] = "jo";
  if ($(3+i)/hfmax>=fsza) sor[8+hfszam+2*zhszam+2*vizsgaszam+i] = "jel";
 };
};

# Az zh-k es potzh-k szine; sor-bol veve, hogy zarojelest ne szinezzen.

for (i=1; i<=2*zhszam; i+=1) {
 sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "n"
 if (((sor[3+hfszam+i]+0)==sor[3+hfszam+i]) && (length(sor[3+hfszam+i])!=0) && (zhmax>0)) {
  sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "lgt"
  if (sor[3+hfszam+i]/zhmax>=fszd) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "lgs";
  if (sor[3+hfszam+i]/zhmax>=fszc) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "koz";
  if (sor[3+hfszam+i]/zhmax>=fszb) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "jo";
  if (sor[3+hfszam+i]/zhmax>=fsza) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "jel";
  if (sor[3+hfszam+i]<zhmin) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "f";
 };
 if ((sor[3+hfszam+i]=="ch") && (zhmin>0)) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "f";
 if ((i<=zhszam) && (sor[3+hfszam+i]=="-") && (zhmin>0)) sor[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "f";
};

# A hfsum szine

sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "n";
if (($(4+hfszam+2*zhszam)+0!=$(4+hfszam+2*zhszam)) && (hffelev>0)) {
 sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "lgt"
 if (hfsum/hffelev>=fszd) sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "lgs";
 if (hfsum/hffelev>=fszc) sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "koz";
 if (hfsum/hffelev>=fszb) sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "jo";
 if (hfsum/hffelev>=fsza) sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "jel";
 if (hfsum/hffelev<hfsummin/hfsummax) sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
 if ((hfsum+zhsum)/(hffelev+zhfelev)<felevmin/(hfsummax+zhszam*zhmax)) sor[9+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
};

# A zhsum szine

sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "n";
if (($(4+hfszam+2*zhszam)+0!=$(4+hfszam+2*zhszam)) && (zhfelev>0)) {
 sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "lgt"
 if (zhsumold/zhfelev>=fszd) sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "lgs";
 if (zhsumold/zhfelev>=fszc) sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "koz";
 if (zhsumold/zhfelev>=fszb) sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "jo";
 if (zhsumold/zhfelev>=fsza) sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "jel";
 if (zhsumold/zhfelev<zhsummin/(zhszam*zhmax)) sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
 if ((hfsum+zhsumold)/(hffelev+zhfelev)<felevmin/(hfsummax+zhszam*zhmax)) sor[10+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
};

# Az ivzh szine

if ((felevkozi=="i") && (ivmax>0)) {
 iszd = minivd/ivmax
 iszc = minivcm/ivmax
 iszb = minivbm/ivmax
 isza = minivam/ivmax
};
if (felevkozi!="i") {
 iszd = mind/(nagymax)
 iszc = mincm/(nagymax)
 iszb = minbm/(nagymax)
 isza = minam/(nagymax)
};

sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "n";
if ((($(4+hfszam+2*zhszam)+0)==$(4+hfszam+2*zhszam)) && (length($(4+hfszam+2*zhszam))!=0)) {
 sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "lgt";
 if (($(4+hfszam+2*zhszam))/ivmax>=iszd) sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "lgs";
 if (($(4+hfszam+2*zhszam))/ivmax>=iszc) sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "koz";
 if (($(4+hfszam+2*zhszam))/ivmax>=iszb) sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "jo";
 if (($(4+hfszam+2*zhszam))/ivmax>=isza) sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "jel";
 if ($(4+hfszam+2*zhszam)<ivmin) sor[11+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
};

# Vizsgapontok szinei

if (felevkozi=="i") nagymaxx = vizsgamax ; else nagymaxx = nagymax;

for (i=1; i<=vizsgaszam; i+=1) {
 sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "n";
 if ((($(5+hfszam+2*zhszam+i)+0)==$(5+hfszam+2*zhszam+i)) && (length($(5+hfszam+2*zhszam+i))!=0)) {
  sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "lgt";
  if ($(5+hfszam+2*zhszam+i)/vizsgamax>=mind/nagymaxx) sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "lgs";
  if ($(5+hfszam+2*zhszam+i)/vizsgamax>=mincm/nagymaxx) sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "koz";
  if ($(5+hfszam+2*zhszam+i)/vizsgamax>=minbm/nagymaxx) sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "jo";
  if ($(5+hfszam+2*zhszam+i)/vizsgamax>=minam/nagymaxx) sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "jel";
  if ($(5+hfszam+2*zhszam+i)<vizsgamin) sor[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "f";
 };
};

# sor nyomtatatasa. DE: felevkozi jegyet atirjuk ABCDF-re, es a vizsgajegyeket is.

#felevkozi jegy elott:
for (i=1; i<=7+hfszam+2*zhszam; i+=1) printf(sor[i]";");

#felevkozi jegy:
if (sor[8+hfszam+2*zhszam]=="1") printf("F;");
if (sor[8+hfszam+2*zhszam]=="2") printf("D;");
if (sor[8+hfszam+2*zhszam]=="2.65") printf("C<sup>-</sup>;");
if (sor[8+hfszam+2*zhszam]=="3") printf("C;");
if (sor[8+hfszam+2*zhszam]=="3.35") printf("C<sup>+</sup>;");
if (sor[8+hfszam+2*zhszam]=="3.65") printf("B<sup>-</sup>;");
if (sor[8+hfszam+2*zhszam]=="4") printf("B;");
if (sor[8+hfszam+2*zhszam]=="4.35") printf("B<sup>+</sup>;");
if (sor[8+hfszam+2*zhszam]=="4.65") printf("A<sup>-</sup>;");
if (sor[8+hfszam+2*zhszam]=="5") printf("A;");
if (sor[8+hfszam+2*zhszam]=="5.35") printf("A<sup>+</sup>;");
if ((sor[8+hfszam+2*zhszam]!="1") && (sor[8+hfszam+2*zhszam]!="2") && (sor[8+hfszam+2*zhszam]!="2.65") && (sor[8+hfszam+2*zhszam]!="3") && (sor[8+hfszam+2*zhszam]!="3.35") && (sor[8+hfszam+2*zhszam]!="3.65") && (sor[8+hfszam+2*zhszam]!="4") && (sor[8+hfszam+2*zhszam]!="4.35") && (sor[8+hfszam+2*zhszam]!="4.65") && (sor[8+hfszam+2*zhszam]!="5") && (sor[8+hfszam+2*zhszam]!="5.35")) printf(sor[8+hfszam+2*zhszam]";");

#vizsgapontok es jegyek:
for (i=1; i<=vizsgaszam; i+=1) { # i a vizsga sorszama!!

 #vizsgapont
 printf(sor[7+hfszam+2*zhszam+2*i]";")

 #vizsgajegy
 if (sor[8+hfszam+2*zhszam+2*i]==5.35) printf("A<sup>+</sup>;");
 if (sor[8+hfszam+2*zhszam+2*i]==5) printf("A;");
 if (sor[8+hfszam+2*zhszam+2*i]==4.65) printf("A<sup>-</sup>;");
 if (sor[8+hfszam+2*zhszam+2*i]==4.35) printf("B<sup>+</sup>;");
 if (sor[8+hfszam+2*zhszam+2*i]==4) printf("B;");
 if (sor[8+hfszam+2*zhszam+2*i]==3.65) printf("B<sup>-</sup>;");
 if (sor[8+hfszam+2*zhszam+2*i]==3.35) printf("C<sup>+</sup>;");
 if (sor[8+hfszam+2*zhszam+2*i]==3) printf("C;");
 if (sor[8+hfszam+2*zhszam+2*i]==2.65) printf("C<sup>-</sup>;");
 if (sor[8+hfszam+2*zhszam+2*i]==2) printf("D;");
 if (sor[8+hfszam+2*zhszam+2*i]==1) printf("F;");
 if ((sor[8+hfszam+2*zhszam+2*i]!=5.35) && (sor[8+hfszam+2*zhszam+2*i]!=5) && (sor[8+hfszam+2*zhszam+2*i]!=4.65) && (sor[8+hfszam+2*zhszam+2*i]!=4.35) && (sor[8+hfszam+2*zhszam+2*i]!=4) && (sor[8+hfszam+2*zhszam+2*i]!=3.65) && (sor[8+hfszam+2*zhszam+2*i]!=3.35) && (sor[8+hfszam+2*zhszam+2*i]!=3) && (sor[8+hfszam+2*zhszam+2*i]!=2.65) && (sor[8+hfszam+2*zhszam+2*i]!=2) && (sor[8+hfszam+2*zhszam+2*i]!=1)) printf(sor[8+hfszam+2*zhszam+2*i]";");
};

#szinek

for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=10+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(sor[i]";");
print(sor[11+2*hfszam+4*zhszam+3*vizsgaszam]);}

####
# Most jon az atlagok es statisztikak kiirasa:
####

END {

# Eloszor nyomtatunk egy ures sort:

for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) printf(";");
for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=10+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf("n;");
print("n")

# jegyek atlaganak szamolasa; 0. a felevkozi

for (i=0; i<=vizsgaszam; i+=1) {
if (((atlosszap[8+hfszam+2*zhszam+2*i]+atlossza[8+hfszam+2*zhszam+2*i]+atlosszam[8+hfszam+2*zhszam+2*i]+atlosszbp[8+hfszam+2*zhszam+2*i]+atlosszb[8+hfszam+2*zhszam+2*i]+atlosszbm[8+hfszam+2*zhszam+2*i]+atlosszcp[8+hfszam+2*zhszam+2*i]+atlosszc[8+hfszam+2*zhszam+2*i]+atlosszcm[8+hfszam+2*zhszam+2*i]+atlosszd[8+hfszam+2*zhszam+2*i]+atlosszf[8+hfszam+2*zhszam+2*i]+0)==atlosszap[8+hfszam+2*zhszam+2*i]+atlossza[8+hfszam+2*zhszam+2*i]+atlosszam[8+hfszam+2*zhszam+2*i]+atlosszbp[8+hfszam+2*zhszam+2*i]+atlosszb[8+hfszam+2*zhszam+2*i]+atlosszbm[8+hfszam+2*zhszam+2*i]+atlosszcp[8+hfszam+2*zhszam+2*i]+atlosszc[8+hfszam+2*zhszam+2*i]+atlosszcm[8+hfszam+2*zhszam+2*i]+atlosszd[8+hfszam+2*zhszam+2*i]+atlosszf[8+hfszam+2*zhszam+2*i]) && (atlosszap[8+hfszam+2*zhszam+2*i]+atlossza[8+hfszam+2*zhszam+2*i]+atlosszam[8+hfszam+2*zhszam+2*i]+atlosszbp[8+hfszam+2*zhszam+2*i]+atlosszb[8+hfszam+2*zhszam+2*i]+atlosszbm[8+hfszam+2*zhszam+2*i]+atlosszcp[8+hfszam+2*zhszam+2*i]+atlosszc[8+hfszam+2*zhszam+2*i]+atlosszcm[8+hfszam+2*zhszam+2*i]+atlosszd[8+hfszam+2*zhszam+2*i]+atlosszf[8+hfszam+2*zhszam+2*i]>0)) {
  atldb[8+hfszam+2*zhszam+2*i] = atlosszap[8+hfszam+2*zhszam+2*i]+atlossza[8+hfszam+2*zhszam+2*i]+atlosszam[8+hfszam+2*zhszam+2*i]+atlosszbp[8+hfszam+2*zhszam+2*i]+atlosszb[8+hfszam+2*zhszam+2*i]+atlosszbm[8+hfszam+2*zhszam+2*i]+atlosszcp[8+hfszam+2*zhszam+2*i]+atlosszc[8+hfszam+2*zhszam+2*i]+atlosszcm[8+hfszam+2*zhszam+2*i]+atlosszd[8+hfszam+2*zhszam+2*i]+atlosszf[8+hfszam+2*zhszam+2*i]
  atlossz[8+hfszam+2*zhszam+2*i] = 5.35*atlosszap[8+hfszam+2*zhszam+2*i]+5*atlossza[8+hfszam+2*zhszam+2*i]+4.65*atlosszam[8+hfszam+2*zhszam+2*i]+4.35*atlosszbp[8+hfszam+2*zhszam+2*i]+4*atlosszb[8+hfszam+2*zhszam+2*i]+3.65*atlosszbm[8+hfszam+2*zhszam+2*i]+3.35*atlosszcp[8+hfszam+2*zhszam+2*i]+3*atlosszc[8+hfszam+2*zhszam+2*i]+2.65*atlosszcm[8+hfszam+2*zhszam+2*i]+2*atlosszd[8+hfszam+2*zhszam+2*i]+atlosszf[8+hfszam+2*zhszam+2*i]
 };
};

for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) {
# if (((atldb[i]+0)==atldb[i]) && (length(atldb[i])!=0)) soratl[i] = atlossz[i]/atldb[i]; # <-- ezzel baj lehet a szam-nem szam kitetellel: ha 0-ra vegzodik akkor elbukik a szamteszten.
# if (((atldb[i]+0)==atldb[i]) && (length(atldb[i])!=0)) soratl[i] = atlossz[i]/atldb[i];
 if (((atldb[i]+0)==atldb[i]) && (length(atldb[i])!=0)) soratl[i]=atlossz[i]/atldb[i];
};

# atlag hf-ek szine

for (i=1; i<=hfszam; i+=1) {
 soratl[8+hfszam+2*zhszam+2*vizsgaszam+i] = "n"
 if (((soratl[3+i]+0)==soratl[3+i]) && (length(soratl[3+i])!=0)) {
  soratl[8+hfszam+2*zhszam+2*vizsgaszam+i] = "lgt"
  if (soratl[3+i]/hfmax>=fszd) soratl[8+hfszam+2*zhszam+2*vizsgaszam+i] = "lgs";
  if (soratl[3+i]/hfmax>=fszc) soratl[8+hfszam+2*zhszam+2*vizsgaszam+i] = "koz";
  if (soratl[3+i]/hfmax>=fszb) soratl[8+hfszam+2*zhszam+2*vizsgaszam+i] = "jo";
  if (soratl[3+i]/hfmax>=fsza) soratl[8+hfszam+2*zhszam+2*vizsgaszam+i] = "jel";
 };
};

# Az atlag zh-k es potzh-k szine

for (i=1; i<=2*zhszam; i+=1) {
 soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "n"
 if (((soratl[3+hfszam+i]+0)==soratl[3+hfszam+i]) && (length(soratl[3+hfszam+i])!=0)) {
  soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "lgt"
  if (soratl[3+hfszam+i]/zhmax>=fszd) soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "lgs";
  if (soratl[3+hfszam+i]/zhmax>=fszc) soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "koz";
  if (soratl[3+hfszam+i]/zhmax>=fszb) soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "jo";
  if (soratl[3+hfszam+i]/zhmax>=fsza) soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "jel";
  if (soratl[3+hfszam+i]<zhmin) soratl[8+2*hfszam+2*zhszam+2*vizsgaszam+i] = "f";
 };
};

# Az atlag hfsum szine

soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "n";
if (((soratl[4+hfszam+2*zhszam]+0)==soratl[4+hfszam+2*zhszam]) && (length(soratl[4+hfszam+2*zhszam])!=0)) {
 soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "lgt";
 if (soratl[4+hfszam+2*zhszam]/hffelev>=fszd) soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "lgs";
 if (soratl[4+hfszam+2*zhszam]/hffelev>=fszc) soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "koz";
 if (soratl[4+hfszam+2*zhszam]/hffelev>=fszb) soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "jo";
 if (soratl[4+hfszam+2*zhszam]/hffelev>=fsza) soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "jel";
 if (soratl[4+hfszam+2*zhszam]/hffelev<hfsummin/hfsummax) soratl[9+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
};

# Az atlag zhsum szine

soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "n";
if (((soratl[5+hfszam+2*zhszam]+0)==soratl[5+hfszam+2*zhszam]) && (length(soratl[5+hfszam+2*zhszam])!=0)) {
 soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "lgt"
 if (soratl[5+hfszam+2*zhszam]/zhfelev>=fszd) soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "lgs";
 if (soratl[5+hfszam+2*zhszam]/zhfelev>=fszc) soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "koz";
 if (soratl[5+hfszam+2*zhszam]/zhfelev>=fszb) soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "jo";
 if (soratl[5+hfszam+2*zhszam]/zhfelev>=fsza) soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "jel";
 if (soratl[5+hfszam+2*zhszam]/zhfelev<zhsummin/(zhszam*zhmax)) soratl[10+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
};

# Az atlag ivzh szine

soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "n";
if (((soratl[6+hfszam+2*zhszam]+0)==soratl[6+hfszam+2*zhszam]) && (length(soratl[6+hfszam+2*zhszam])!=0)) {
 soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "lgt";
 if ((soratl[6+hfszam+2*zhszam])/ivmax>=iszd) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "lgs";
 if ((soratl[6+hfszam+2*zhszam])/ivmax>=iszc) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "koz";
 if ((soratl[6+hfszam+2*zhszam])/ivmax>=iszb) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "jo";
 if ((soratl[6+hfszam+2*zhszam])/ivmax>=isza) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "jel";
 if (soratl[6+hfszam+2*zhszam]<ivmin) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam] = "f";
};

# Atlag vizsgapontok szinei

for (i=1; i<=vizsgaszam; i+=1) {
 soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "n";
 if (((soratl[7+hfszam+2*zhszam+2*i+0])==soratl[7+hfszam+2*zhszam+2*i+0]) && (length(soratl[7+hfszam+2*zhszam+2*i+0])!=0)) {
  soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "lgt";
  if (soratl[7+hfszam+2*zhszam+2*i+0]/vizsgamax>=mind/nagymaxx) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "lgs";
  if (soratl[7+hfszam+2*zhszam+2*i+0]/vizsgamax>=mincm/nagymaxx) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "koz";
  if (soratl[7+hfszam+2*zhszam+2*i+0]/vizsgamax>=minbm/nagymaxx) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "jo";
  if (soratl[7+hfszam+2*zhszam+2*i+0]/vizsgamax>=minam/nagymaxx) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "jel";
  if (soratl[7+hfszam+2*zhszam+2*i+0]<vizsgamin) soratl[11+2*hfszam+4*zhszam+2*vizsgaszam+i] = "f";
 };
};

# Masodik helyre beirjuk, hogy "atl":

soratl[2] = "<b>Av.:</b>"

for (i=1; i<=3; i+=1) printf(soratl[i]";")
for (i=4; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1){ 
 if ((soratl[i]==soratl[i]+0) && (length(soratl[i])>0)) printf("%.2f",soratl[i]);
 printf(";")
};
for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratl[i]";")
print(soratl[11+2*hfszam+4*zhszam+3*vizsgaszam])


# jegyek szazalekainak nyomtatasa

visz = 0
for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) {
  soratlap[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszap[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i])
  visz = 1
 };
};
if (visz==1) {

# Megint nyomtatunk egy ures sort:


 for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) printf(";");
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=10+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf("n;");
 print("n")

 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlap[i]="n";
 soratlap[2] = "<b>A<sup>+</sup>:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlap[i]";");
 print(soratlap[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratla[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlossza[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratla[i]="n";
 soratla[2] = "<b>A:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratla[i]";");
 print(soratla[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlam[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszam[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlam[i]="n";
 soratlam[2] = "<b>A<sup>-</sup>:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlam[i]";");
 print(soratlam[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlbp[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszbp[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlbp[i]="n";
 soratlbp[2] = "<b>B<sup>+</sup>:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlbp[i]";");
 print(soratlbp[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlb[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszb[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlb[i]="n";
 soratlb[2] = "<b>B:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlb[i]";");
 print(soratlb[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlbm[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszbm[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlbm[i]="n";
 soratlbm[2] = "<b>B<sup>-</sup>:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlbm[i]";");
 print(soratlbm[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlcp[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszcp[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlcp[i]="n";
 soratlcp[2] = "<b>C<sup>+</sup>:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlcp[i]";");
 print(soratlcp[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlc[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszc[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlc[i]="n";
 soratlc[2] = "<b>C:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlc[i]";");
 print(soratlc[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlcm[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszcm[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlcm[i]="n";
 soratlcm[2] = "<b>C<sup>-</sup>:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlcm[i]";");
 print(soratlcm[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratld[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszd[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratld[i]="n";
 soratld[2] = "<b>D:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratld[i]";");
 print(soratld[11+2*hfszam+4*zhszam+3*vizsgaszam])
};

for (i=0; i<=vizsgaszam; i+=1) {
 if (((atldb[8+hfszam+2*zhszam+2*i]+0)==atldb[8+hfszam+2*zhszam+2*i]) && atldb[8+hfszam+2*zhszam+2*i]>0) soratlf[8+hfszam+2*zhszam+2*i]=sprintf("%.2f",atlosszf[8+hfszam+2*zhszam+2*i]/atldb[8+hfszam+2*zhszam+2*i]);
};
if (visz==1) {
 for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) soratlf[i]="n";
 soratlf[2] = "<b>F:</b>"
 for (i=1; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(soratlf[i]";");
 print(soratlf[11+2*hfszam+4*zhszam+3*vizsgaszam])
};
}' `cat $filenev.kov` > $filenev.zhr

if [ "$szin" == "n" ]
 then

cat $filenev.zhr |

awk -F\; '{
for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) printf($i";");
for (i=9+hfszam+2*zhszam+2*i; i<11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf("n;");
print("n")
}' `cat $filenev.kov` > $filenev.zhs
 else
cp $filenev.zhr $filenev.zhs
fi




####
# Html file fejlec gyartas, eloszor a publikus, nev nelkul
####

cat ~/zhpontozo1/html/html_fej1e.html > publ_$filenev.html
cat $filenev.knv >> publ_$filenev.html
cat ~/zhpontozo1/html/html_fej2e.html >> publ_$filenev.html
cat $filenev.knv >> publ_$filenev.html
cat ~/zhpontozo1/html/html_fej3e.html >> publ_$filenev.html
if [ `date +%m` == 01 ] ; then echo "January " ; fi >> publ_$filenev.html
if [ `date +%m` == 02 ] ; then echo "February " ; fi >> publ_$filenev.html
if [ `date +%m` == 03 ] ; then echo "March " ; fi >> publ_$filenev.html
if [ `date +%m` == 04 ] ; then echo "April " ; fi >> publ_$filenev.html
if [ `date +%m` == 05 ] ; then echo "May " ; fi >> publ_$filenev.html
if [ `date +%m` == 06 ] ; then echo "June " ; fi >> publ_$filenev.html
if [ `date +%m` == 07 ] ; then echo "July " ; fi >> publ_$filenev.html
if [ `date +%m` == 08 ] ; then echo "August " ; fi >> publ_$filenev.html
if [ `date +%m` == 09 ] ; then echo "September " ; fi >> publ_$filenev.html
if [ `date +%m` == 10 ] ; then echo "Oktober " ; fi >> publ_$filenev.html
if [ `date +%m` == 11 ] ; then echo "November " ; fi >> publ_$filenev.html
if [ `date +%m` == 12 ] ; then echo "December " ; fi >> publ_$filenev.html
echo `date +%d`", " >> publ_$filenev.html
echo `date +%Y`"." >> publ_$filenev.html
cat ~/zhpontozo1/html/html_fej4e.html >> publ_$filenev.html

####
# Kiirjuk a publ_$filenev.osz fileba melyik oszlopok kellenek
####

cat $filenev.zhs |

awk -F\; '{

if (length(sor[1])==0) { # ezt csinaljuk eloszor
 sor[1]="0"
 sor[2]="1"
 for (i=3; i<=(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) sor[i]="0";
 split(oszlop,otomb,",")
};
if (length(oszlop)==0) {for (i=3; i<=(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) if ((length($i))!=0) sor[i]="1";
};
for (i in otomb){
 if ((otomb[i]<=(8+hfszam+2*zhszam+2*vizsgaszam)) && (otomb[i]>=3) && length($(otomb[i]))!=0) sor[otomb[i]]="1";
};


}
END {

for (i=1; i<(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) printf(sor[i]";");
print(sor[8+hfszam+2*zhszam+2*vizsgaszam])

}' oszlop=$oszlop `cat $filenev.kov` > publ_$filenev.osz

####
# Kiszedjuk a nem kello oszlopokat es abc sorrendbe rendezunk
####

cat $filenev.zhs |

awk -F\; '{
split(osz,otomb,";");
for (i in otomb) {
 if (otomb[i]=="0") sor[i]="";
 if (otomb[i]=="1") sor[i]=$i;
 };
for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) sor[i]=$i;
for (i=1; i<=10+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(sor[i]";");
print(sor[11+2*hfszam+4*zhszam+3*vizsgaszam])
}' `cat $filenev.kov` osz=`cat publ_$filenev.osz` > publ_$filenev.zhc


# sort -o publ_$filenev.zha publ_$filenev.zhc  # <-- ez nem volt jo, mert az atlagokat nem kellene sorba rendezni.

awk -F\; '{ if (($2!="") && ($2!="<b>Av.:</b>") && ($2!="<b>A<sup>+</sup>:</b>") && ($2!="<b>A:</b>") && ($2!="<b>A<sup>-</sup>:</b>") && ($2!="<b>B<sup>+</sup>:</b>") && ($2!="<b>B:</b>") && ($2!="<b>B<sup>-</sup>:</b>") && ($2!="<b>C<sup>+</sup>:</b>") && ($2!="<b>C:</b>") && ($2!="<b>C<sup>-</sup>:</b>") && ($2!="<b>D:</b>") && ($2!="<b>F:</b>")) print($0); }' publ_$filenev.zhc | sort > publ_$filenev.zha

awk -F\; '{ if (($2=="") || ($2=="<b>Av.:</b>") || ($2=="<b>A<sup>+</sup>:</b>") || ($2=="<b>A:</b>") || ($2=="<b>A<sup>-</sup>:</b>") || ($2=="<b>B<sup>+</sup>:</b>") || ($2=="<b>B:</b>") || ($2=="<b>B<sup>-</sup>:</b>") || ($2=="<b>C<sup>+</sup>:</b>") || ($2=="<b>C:</b>") || ($2=="<b>C<sup>-</sup>:</b>") || ($2=="<b>D:</b>") || ($2=="<b>F:</b>")) print($0); }' publ_$filenev.zhc >> publ_$filenev.zha

####
# Html file keszitese
####

cat publ_$filenev.zha |

awk -F\; 'BEGIN { sorsz=1 }
{\
if (sorsz==1) { #ezeket csak a legelso sorban hajtjuk vegre
 split(osz,otomb,";");

# eloszor oszlopszamozas

 printf("<tr><td style=\"border: 1px solid DarkSlateGray\"></td>")
 for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) if (otomb[i]==1) printf("<td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>"i".</font></td>");;
 print("</tr>")

# most jonnek az oszlopok nevei

 sor[0]="<tr><td style=\"border: 1px solid DarkSlateGray\"></td>"
# for (i in otomb) { #!!! ez hibat produkalt a paritasvizsgalat ket soranal!!! Lehet, hogy bugos az awk?
 for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) {
  if ((otomb[i]==1) && (i==1)) sor[i]="<th align=left style=\"border: 1px solid DarkSlateGray\">Name</th>";
  if ((otomb[i]==1) && (i==2)) sor[i]="<th align=left style=\"border: 1px solid DarkSlateGray\">Neptun</th>";
  if ((otomb[i]==1) && (i==3)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">Ex.Cl</th>";
  if ((otomb[i]==1) && (i>3) && (i<=3+hfszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"i-3".HW</th>";
  if ((otomb[i]==1) && (i>3+hfszam) && (i<=3+hfszam+zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"i-3-hfszam".Mt</th>";
  if ((otomb[i]==1) && (i>3+hfszam+zhszam) && (i<=3+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"i-3-hfszam-zhszam".MpMt.</th>";
  if ((otomb[i]==1) && (i==4+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">&sum;HW</th>";
  if ((otomb[i]==1) && (i==5+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">&sum;Mt</th>";
  if ((otomb[i]==1) && (i==6+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">MpMp.</th>";
  if ((otomb[i]==1) && (i==7+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">Sign.</th>";
  if ((otomb[i]==1) && (i==8+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">Mt.Gr</th>";
  if ((otomb[i]==1) && (i>=9+hfszam+2*zhszam) && ((i-hfszam)%2==1)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"(i-7-hfszam-2*zhszam)/2".Ex</th>"
  if ((otomb[i]==1) && (i>=10+hfszam+2*zhszam) && ((i-hfszam)%2==0)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"(i-8-hfszam-2*zhszam)/2".Ex.Gr</th>"
 };
 for (i=0; i<(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) printf(sor[i]);
 print(sor[8+hfszam+2*zhszam+2*vizsgaszam]"</tr>")
};

###
# innentol minden nem ures (kiveve 2. oszlop) sorban vegrehajtjuk
###

# sorszamozas ha nem atlagnal vagyunk

sor[0]="<td style=\"border: 1px solid DarkSlateGray\"><font size=-1>"sorsz".</font></td>";
if (($2=="") || ($2=="<b>Av.:</b>") || ($2=="<b>F:</b>") || ($2=="<b>D:</b>") || ($2=="<b>C<sup>-</sup>:</b>") || ($2=="<b>C:</b>") || ($2=="<b>C<sup>+</sup>:</b>") || ($2=="<b>B<sup>-</sup>:</b>") || ($2=="<b>B:</b>") || ($2=="<b>B<sup>+</sup>:</b>") || ($2=="<b>A<sup>-</sup>:</b>") || ($2=="<b>A:</b>") || ($2=="<b>A<sup>+</sup>:</b>")) sor[0]="<td style=\"border: 1px solid DarkSlateGray\">&nbsp;</td>";

for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) {
 if ((otomb[i]==1) && (i==1)) sor[i]="<td style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i==2)) sor[i]="<td style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i==3)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i>3) && (i<=6+hfszam+2*zhszam)) sor[i]="<td align=center class=\""$(5+hfszam+2*zhszam+2*vizsgaszam+i)"\">"$i"</td>";
 if ((otomb[i]==1) && (i==7+hfszam+2*zhszam)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i==8+hfszam+2*zhszam)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i>=9+hfszam+2*zhszam) && ((i-hfszam)%2==1)) sor[i]="<td align=center class=\""$((i+15+3*hfszam)/2+3*zhszam+2*vizsgaszam)"\">"$i"</td>";
 if ((otomb[i]==1) && (i>=10+hfszam+2*zhszam) && ((i-hfszam)%2==0)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
};
for (i=0; i<(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) printf(sor[i]);
print(sor[8+hfszam+2*zhszam+2*vizsgaszam]"</tr>")

# };

sorsz+=1
}' `cat $filenev.kov` osz=`cat publ_$filenev.osz` >> publ_$filenev.html

if [ "$szin" == "n" ]
 then
 cat ~/zhpontozo1/html/html_lab1ne.html >> publ_$filenev.html
 else
 cat ~/zhpontozo1/html/html_lab1e.html >> publ_$filenev.html
fi

cat publ_$filenev.osz |

awk -F\; '{
if (csalas>0) print(" + "csalas" points are subtracted when computing grades.");
else print(".");
}' `cat $filenev.kov` >> publ_$filenev.html

cat ~/zhpontozo1/html/html_lab2e.html >> publ_$filenev.html

####
# Itt beirjuk a ponthatarokat a html file aljara, ha szukseg van ra.
####

cat publ_$filenev.osz |

awk -F\; '{
fvt="0"
fvt = $(4+hfszam+2*zhszam)+$(5+hfszam+2*zhszam)+$(8+hfszam+2*zhszam)
if ((felevkozi=="i") && (fvt>0)) {
 print("<br>&nbsp;")
 print("Midterm Grades:<br>")
 print("<table border=1 rules=all style=\"border-collapse: collapse; border: 1px solid DarkSlateGray\">")
 print("<tr><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Grade</font></th><th style=\"border: 1px solid DarkSlateGray\"></th><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Score</font></th></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&ge;"minfvap"</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfva", "minfvap")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvam", "minfva")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvbp", "minfvam")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvb", "minfvbp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvbm", "minfvb")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvcp", "minfvbm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvc", "minfvcp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvcm", "minfvc")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>D</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Pass</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvd", "minfvcm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>F</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Fail</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["felevmin", "minfvd")</font></td></tr>")
 print("</table>")
};
if ((felevkozi=="i") && ($(6+hfszam+2*zhszam)==1)) {
 print("<br>&nbsp;")
 print("Makeup-makeup Grades:<br>")
 print("<table border=1 rules=all style=\"border-collapse: collapse; border: 1px solid DarkSlateGray\">")
 print("<tr><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Grade</font></th><th style=\"border: 1px solid DarkSlateGray\"></th><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Score</font></th></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&ge;"minivap"</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["miniva", "minivap")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivam", "miniva")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivbp", "minivam")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivb", "minivbp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivbm", "minivb")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivcp", "minivbm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivc", "minivcp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivcm", "minivc")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>D</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Pass</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivd", "minivcm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>F</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Fail</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["ivmin", "minivd")</font></td></tr>")
 print("</table>")
};
vit="0"
for (i=9+hfszam+2*zhszam; i<=7+hfszam+2*zhszam+2*vizsgaszam; i+=2) {
 vit = vit+$i
};
if (vit>0) {
 print("<br>&nbsp;")
 print("Exam Grades:<br>")
 print("<table border=1 rules=all style=\"border-collapse: collapse; border: 1px solid DarkSlateGray\">")
 print("<tr><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Grade</font></th><th style=\"border: 1px solid DarkSlateGray\"></th><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Score</font></th></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&ge;"minap"</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mina", "minap")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minam", "mina")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minbp", "minam")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minb", "minbp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minbm", "minb")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mincp", "minbm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minc", "mincp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mincm", "minc")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>D</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Pass</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mind", "mincm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>F</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Fail</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&lt;"mind"</font></td></tr>")
 print("</table>")
};
}' `cat $filenev.kov` >> publ_$filenev.html

cat ~/zhpontozo1/html/html_lab3e.html >> publ_$filenev.html

######################

# Most mindezt megismeteljuk a nem publikus verzioval, nevek nelkul.

####
# Html file fejlec gyartas
####

cat ~/zhpontozo1/html/html_fej1e.html > $filenev.html
cat $filenev.knv >> $filenev.html
cat ~/zhpontozo1/html/html_fej2e.html >> $filenev.html
cat $filenev.knv >> $filenev.html
cat ~/zhpontozo1/html/html_fej3e.html >> $filenev.html

if [ `date +%m` == 01 ] ; then echo "January " ; fi >> $filenev.html
if [ `date +%m` == 02 ] ; then echo "February " ; fi >> $filenev.html
if [ `date +%m` == 03 ] ; then echo "March " ; fi >> $filenev.html
if [ `date +%m` == 04 ] ; then echo "April " ; fi >> $filenev.html
if [ `date +%m` == 05 ] ; then echo "May " ; fi >> $filenev.html
if [ `date +%m` == 06 ] ; then echo "June " ; fi >> $filenev.html
if [ `date +%m` == 07 ] ; then echo "July " ; fi >> $filenev.html
if [ `date +%m` == 08 ] ; then echo "August " ; fi >> $filenev.html
if [ `date +%m` == 09 ] ; then echo "September " ; fi >> $filenev.html
if [ `date +%m` == 10 ] ; then echo "Oktober " ; fi >> $filenev.html
if [ `date +%m` == 11 ] ; then echo "November " ; fi >> $filenev.html
if [ `date +%m` == 12 ] ; then echo "December " ; fi >> $filenev.html
echo `date +%d`", " >> $filenev.html
echo `date +%Y`"." >> $filenev.html
cat ~/zhpontozo1/html/html_fej4e.html >> $filenev.html

####
# Kiirjuk a $filenev.osz fileba melyik oszlopok kellenek
####

cat $filenev.zhs |

awk -F\; '{

if (length(sor[1])==0) { # ezt csinaljuk eloszor
 sor[1]="1"
 sor[2]="1"
 for (i=3; i<=(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) sor[i]="0";
 split(oszlop,otomb,",")
};
if (length(oszlop)==0) {for (i=3; i<=(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) if ((length($i))!=0) sor[i]="1";
};
for (i in otomb){
 if ((otomb[i]<=(8+hfszam+2*zhszam+2*vizsgaszam)) && (otomb[i]>=3) && length($(otomb[i]))!=0) sor[otomb[i]]="1";
};


}
END {

for (i=1; i<(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) printf(sor[i]";");
print(sor[8+hfszam+2*zhszam+2*vizsgaszam])

}' oszlop=$oszlop `cat $filenev.kov` > $filenev.osz

####
# Kiszedjuk a nem kello oszlopokat es abc sorrendbe rendezunk
####

cat $filenev.zhs |

awk -F\; '{
split(osz,otomb,";");
for (i in otomb) {
 if (otomb[i]=="0") sor[i]="";
 if (otomb[i]=="1") sor[i]=$i;
 };
for (i=9+hfszam+2*zhszam+2*vizsgaszam; i<=11+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) sor[i]=$i;
for (i=1; i<=10+2*hfszam+4*zhszam+3*vizsgaszam; i+=1) printf(sor[i]";");
print(sor[11+2*hfszam+4*zhszam+3*vizsgaszam])
}' `cat $filenev.kov` osz=`cat $filenev.osz` > $filenev.zhc

# sort -o $filenev.zha $filenev.zhc # nem jo, mert <-- atlagot nem szabad rendezni

# az alabbi kod utf-8-ban rendez, hogy a nyelvi beallitasok ne tolhassak el az ekezetes betuket.

awk -F\; '{ if (($2!="") && ($2!="<b>Av.:</b>") && ($2!="<b>A<sup>+</sup>:</b>") && ($2!="<b>A:</b>") && ($2!="<b>A<sup>-</sup>:</b>") && ($2!="<b>B<sup>+</sup>:</b>") && ($2!="<b>B:</b>") && ($2!="<b>B<sup>-</sup>:</b>") && ($2!="<b>C<sup>+</sup>:</b>") && ($2!="<b>C:</b>") && ($2!="<b>C<sup>-</sup>:</b>") && ($2!="<b>D:</b>") && ($2!="<b>F:</b>")) print($0); }' $filenev.zhc | sort > $filenev.zha

awk -F\; '{ if (($2=="") || ($2=="<b>Av.:</b>") || ($2=="<b>A<sup>+</sup>:</b>") || ($2=="<b>A:</b>") || ($2=="<b>A<sup>-</sup>:</b>") || ($2=="<b>B<sup>+</sup>:</b>") || ($2=="<b>B:</b>") || ($2=="<b>B<sup>-</sup>:</b>") || ($2=="<b>C<sup>+</sup>:</b>") || ($2=="<b>C:</b>") || ($2=="<b>C<sup>-</sup>:</b>") || ($2=="<b>D:</b>") || ($2=="<b>F:</b>")) print($0); }' $filenev.zhc >> $filenev.zha


####
# Html file keszitese
####


cat $filenev.zha |

awk -F\; 'BEGIN { sorsz=1 }
{\
if (sorsz==1) { #ezeket csak a legelso sorban hajtjuk vegre
 split(osz,otomb,";");

# eloszor oszlopszamozas

 printf("<tr><td style=\"border: 1px solid DarkSlateGray\"></td>")
 for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) if (otomb[i]==1) printf("<td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>"i".</font></td>");;
 print("</tr>")

# most jonnek az oszlopok nevei

 sor[0]="<tr><td style=\"border: 1px solid DarkSlateGray\"></td>"
# for (i in otomb) { #!!! ez hibat produkalt a paritasvizsgalat ket soranal!!! Lehet, hogy bugos az awk?
 for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) {
  if ((otomb[i]==1) && (i==1)) sor[i]="<th align=left style=\"border: 1px solid DarkSlateGray\">Name</th>";
  if ((otomb[i]==1) && (i==2)) sor[i]="<th align=left style=\"border: 1px solid DarkSlateGray\">Neptun</th>";
  if ((otomb[i]==1) && (i==3)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">Ex.Cl</th>";
  if ((otomb[i]==1) && (i>3) && (i<=3+hfszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"i-3".HW</th>";
  if ((otomb[i]==1) && (i>3+hfszam) && (i<=3+hfszam+zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"i-3-hfszam".Mt</th>";
  if ((otomb[i]==1) && (i>3+hfszam+zhszam) && (i<=3+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"i-3-hfszam-zhszam".MpMt.</th>";
  if ((otomb[i]==1) && (i==4+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">&sum;HW</th>";
  if ((otomb[i]==1) && (i==5+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">&sum;Mt</th>";
  if ((otomb[i]==1) && (i==6+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">MpMp.</th>";
  if ((otomb[i]==1) && (i==7+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">Sign.</th>";
  if ((otomb[i]==1) && (i==8+hfszam+2*zhszam)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">Mt.Gr</th>";
  if ((otomb[i]==1) && (i>=9+hfszam+2*zhszam) && ((i-hfszam)%2==1)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"(i-7-hfszam-2*zhszam)/2".Ex</th>" 
  if ((otomb[i]==1) && (i>=10+hfszam+2*zhszam) && ((i-hfszam)%2==0)) sor[i]="<th align=center style=\"border: 1px solid DarkSlateGray\">"(i-8-hfszam-2*zhszam)/2".Ex.Gr</th>"
 };
 for (i=0; i<(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) printf(sor[i]);
 print(sor[8+hfszam+2*zhszam+2*vizsgaszam]"</tr>")
};


###
# innentol minden sorban vegrehajtjuk
###

# sorszamozas ha nem atlagnal vagyunk

sor[0]="<td style=\"border: 1px solid DarkSlateGray\"><font size=-1>"sorsz".</font></td>";
if (($2=="") || ($2=="<b>Av.:</b>") || ($2=="<b>F:</b>") || ($2=="<b>D:</b>") || ($2=="<b>C<sup>-</sup>:</b>") || ($2=="<b>C:</b>") || ($2=="<b>C<sup>+</sup>:</b>") || ($2=="<b>B<sup>-</sup>:</b>") || ($2=="<b>B:</b>") || ($2=="<b>B<sup>+</sup>:</b>") || ($2=="<b>A<sup>-</sup>:</b>") || ($2=="<b>A:</b>") || ($2=="<b>A<sup>+</sup>:</b>")) sor[0]="<td style=\"border: 1px solid DarkSlateGray\">&nbsp;</td>";

for (i=1; i<=8+hfszam+2*zhszam+2*vizsgaszam; i+=1) {
 if ((otomb[i]==1) && (i==1)) sor[i]="<td style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i==2)) sor[i]="<td style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i==3)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i>3) && (i<=6+hfszam+2*zhszam)) sor[i]="<td align=center class=\""$(5+hfszam+2*zhszam+2*vizsgaszam+i)"\">"$i"</td>";
 if ((otomb[i]==1) && (i==7+hfszam+2*zhszam)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i==8+hfszam+2*zhszam)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
 if ((otomb[i]==1) && (i>=9+hfszam+2*zhszam) && ((i-hfszam)%2==1)) sor[i]="<td align=center class=\""$((i+15+3*hfszam)/2+3*zhszam+2*vizsgaszam)"\">"$i"</td>";
 if ((otomb[i]==1) && (i>=10+hfszam+2*zhszam) && ((i-hfszam)%2==0)) sor[i]="<td align=center style=\"border: 1px solid DarkSlateGray\">"$i"</td>";
};
for (i=0; i<(8+hfszam+2*zhszam+2*vizsgaszam); i+=1) printf(sor[i]);
print(sor[8+hfszam+2*zhszam+2*vizsgaszam]"</tr>")

sorsz+=1
}' `cat $filenev.kov` osz=`cat $filenev.osz` >> $filenev.html

if [ "$szin" == "n" ]
 then
 cat ~/zhpontozo1/html/html_lab1ne.html >> $filenev.html
 else
 cat ~/zhpontozo1/html/html_lab1e.html >> $filenev.html
fi

cat $filenev.osz |

awk -F\; '{
if (csalas>0) print(" + "csalas" points are subtracted when computing grades.");
else print(".");
}' `cat $filenev.kov` >> $filenev.html

cat ~/zhpontozo1/html/html_lab2e.html >> $filenev.html

####
# Itt beirjuk a ponthatarokat a html file aljara, ha szukseg van ra.
####

cat $filenev.osz |

awk -F\; '{
fvt="0"
fvt = $(4+hfszam+2*zhszam)+$(5+hfszam+2*zhszam)+$(8+hfszam+2*zhszam)
if ((felevkozi=="i") && (fvt>0)) {
 print("<br>&nbsp;")
 print("Midterm Grades:<br>")
 print("<table border=1 rules=all style=\"border-collapse: collapse; border: 1px solid DarkSlateGray\">")
 print("<tr><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Grade</font></th><th style=\"border: 1px solid DarkSlateGray\"></th><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Score</font></th></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&ge;"minfvap"</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfva", "minfvap")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvam", "minfva")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvbp", "minfvam")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvb", "minfvbp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvbm", "minfvb")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvcp", "minfvbm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvc", "minfvcp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvcm", "minfvc")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>D</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Pass</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minfvd", "minfvcm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>F</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Fail</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["felevmin", "minfvd")</font></td></tr>")
 print("</table>")
};
if ((felevkozi=="i") && ($(6+hfszam+2*zhszam)==1)) {
 print("<br>&nbsp;")
 print("Makeup-makeup Grades:<br>")
 print("<table border=1 rules=all style=\"border-collapse: collapse; border: 1px solid DarkSlateGray\">")
 print("<tr><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Grade</font></th><th style=\"border: 1px solid DarkSlateGray\"></th><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Score</font></th></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&ge;"minivap"</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["miniva", "minivap")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivam", "miniva")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivbp", "minivam")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivb", "minivbp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivbm", "minivb")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivcp", "minivbm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivc", "minivcp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivcm", "minivc")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>D</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Pass</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minivd", "minivcm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>F</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Fail</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["ivmin", "minivd")</font></td></tr>")
 print("</table>")
};
vit="0"
for (i=9+hfszam+2*zhszam; i<=7+hfszam+2*zhszam+2*vizsgaszam; i+=2) {
 vit = vit+$i
};
if (vit>0) {
 print("<br>&nbsp;")
 print("Exam Grades:<br>")
 print("<table border=1 rules=all style=\"border-collapse: collapse; border: 1px solid DarkSlateGray\">")
 print("<tr><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Grade</font></th><th style=\"border: 1px solid DarkSlateGray\"></th><th style=\"border: 1px solid DarkSlateGray\"><font size=-1>Score</font></th></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&ge;"minap"</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mina", "minap")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>A<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Excellent</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minam", "mina")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minbp", "minam")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minb", "minbp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>B<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Good</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minbm", "minb")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>+</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mincp", "minbm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["minc", "mincp")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>C<sup>-</sup></font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Satisfactory</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mincm", "minc")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>D</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Pass</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&isin;["mind", "mincm")</font></td></tr>")
 print("<tr><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>F</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>Fail</font></td><td align=center style=\"border: 1px solid DarkSlateGray\"><font size=-1>&lt;"mind"</font></td></tr>")
 print("</table>")
};
}' `cat $filenev.kov` >> $filenev.html

cat ~/zhpontozo1/html/html_lab3e.html >> $filenev.html

####
# Takaritas. szedjuk ki, ha valamelyik filera szukseg lenne
####

rm $filenev.zhg
rm $filenev.zhv
rm $filenev.zhr
rm $filenev.zhs
rm $filenev.osz
rm $filenev.zhc
rm $filenev.zha
rm publ_$filenev.osz
rm publ_$filenev.zhc
rm publ_$filenev.zha

