%----------------------------------------------------------------------------------------
%	PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------

\documentclass[usenames,dvipsnames]{beamer}

\usetheme{focus} % Use the Focus theme supplied with the template
% Add option [numbering=none] to disable the footer progress bar
% Add option [numbering=fullbar] to show the footer progress bar as always full with a slide count

% Uncomment to enable the ice-blue theme
%\definecolor{main}{RGB}{92, 138, 168}
%\definecolor{background}{RGB}{240, 247, 255}

%------------------------------------------------

\usepackage[utf8]{inputenc}


\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{listings} % Required for better table rules
\usepackage{xcolor}

% Farbdefinitionen
\definecolor{backgroundcoloreq}{RGB}{180,140,0}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{codeorange}{RGB}{190,100,0}


\lstset{
    language=C,
    basicstyle=\ttfamily,
    numbers=left,
    numberstyle=\tiny,
    tabsize=4,
    columns=fixed,
    showstringspaces=false,
    showtabs=false,
    breaklines=true,
    keepspaces,
    morekeywords={std},
    keywordstyle=\color{blue}\ttfamily,
    stringstyle=\color{red}\ttfamily,
    commentstyle=\color{OliveGreen!85}\ttfamily,
    numberstyle=\tiny\color{codegray},
    basicstyle=\small\selectfont\ttfamily,
    % keyword highlighting
    classoffset=1, % starting new class
    otherkeywords={>,<,.,;,-,+,!,=,~,:,[,],NULL,&},
    morekeywords={>,<,.,;,-,+,!,=,~,:,[,],NULL,&},
    keywordstyle=\color{codeorange},
    classoffset=0
}

%----------------------------------------------------------------------------------------
%	 TITLE SLIDE
%----------------------------------------------------------------------------------------

\title{Strukturen + Pointer \\ Call by Reference/Value}

\subtitle{mit Anwendungsfälle / Programmierbeispiele}

\author{Lukas Heiligenbrunner}

\institute{HTL Steyr \\ Schlüsselhofgasse 63}

\date{\today}

%------------------------------------------------

\begin{document}

%------------------------------------------------

    \begin{frame}
        \maketitle % Automatically created using the information in the commands above
    \end{frame}

%----------------------------------------------------------------------------------------
%	 SECTION 1
%----------------------------------------------------------------------------------------

    \section{Strukturen} % Section title slide, unnumbered

%------------------------------------------------

    \begin{frame}{Strukturen Allgemein}
        \input{structallg.tex}
    \end{frame}

%------------------------------------------------

    \begin{frame}[fragile]{Strukturen in C}
        Syntax:
\begin{lstlisting}
struct adresse {
	char name[50];
	char strasse[100];
	short hausnummer;
	long plz;
	char stadt[50];
};
\end{lstlisting}
    \end{frame}

    \begin{frame}{Sonstiges}
        \begin{itemize}
            \item Strukturtypdeklaration: struct Adresse {…};
            \item Gesamtlänge der Struktur: sizeof(Struktur)
            \item Zugriff auf einzelne Komponenten durch\\
            Punktnotation: Adresse1.Vorname = “Peter“;
            \item Weitere Strukturen hinzufügen: struct Adresse Adresse5;
            \item Weiteres hinzufügen von Komponenten während der Laufzeit nicht möglich.
        \end{itemize}
    \end{frame}
%------------------------------------------------

    \begin{frame}{Strukturen als Funktionsargument}
        This is a simple slide.
    \end{frame}

%------------------------------------------------

    \begin{frame}{Strukturen in Java}
        \begin{itemize}
            \item existieren nicht
            \item stattdessen Objekte
        \end{itemize}
    \end{frame}

%----------------------------------------------------------------------------------------
%	 SECTION 2
%----------------------------------------------------------------------------------------

    \section{Pointer} % Section title slide, unnumbered

%------------------------------------------------

    \begin{frame}{Grundlagen}
        This is a simple slide.
    \end{frame}

%------------------------------------------------

    \begin{frame}{Typesetting and Math}
        The packages \texttt{inputenc} and \texttt{FiraSans}\footnote{\url{https://fonts.google.com/specimen/Fira+Sans}}\textsuperscript{,}\footnote{\url{http://mozilla.github.io/Fira/}} are used to properly set the main fonts.
        \vfill
        This theme provides styling commands to typeset \emph{emphasized}, \alert{alerted}, \textbf{bold}, \textcolor{example}{example text}, \dots
        \vfill
        \texttt{FiraSans} also provides support for mathematical symbols:
        \begin{equation*}
            e^{i\pi} + 1 = 0.
        \end{equation*}
    \end{frame}

%----------------------------------------------------------------------------------------
%	 SECTION 2
%----------------------------------------------------------------------------------------

    \section{Section 2}

%------------------------------------------------

    \begin{frame}{Blocks}
        These blocks are part of 1 slide, to be displayed consecutively.
        \begin{block}{Block}
            Text.
        \end{block}
        \pause % Automatically creates a new "page" split between the above and above + below
        \begin{alertblock}{Alert block}
            Alert \alert{text}.
        \end{alertblock}
        \pause % Automatically creates a new "page" split between the above and above + below
        \begin{exampleblock}{Example block}
            Example \textcolor{example}{text}.
        \end{exampleblock}
    \end{frame}

%------------------------------------------------

    \begin{frame}{Columns}
        \begin{columns}
            \column{0.5\textwidth}
            This text appears in the left column and wraps neatly with a margin between columns.

            \column{0.5\textwidth}
            \includegraphics[width=\linewidth]{Images/placeholder.jpg}
        \end{columns}
    \end{frame}

%------------------------------------------------

    \begin{frame}{Lists}
        \begin{columns}[T, onlytextwidth] % T for top align, onlytextwidth to suppress the margin between columns
            \column{0.33\textwidth}
            Items:
            \begin{itemize}
                \item Item 1
                \begin{itemize}
                    \item Subitem 1.1
                    \item Subitem 1.2
                \end{itemize}
                \item Item 2
                \item Item 3
            \end{itemize}

            \column{0.33\textwidth}
            Enumerations:
            \begin{enumerate}
                \item First
                \item Second
                \begin{enumerate}
                    \item Sub-first
                    \item Sub-second
                \end{enumerate}
                \item Third
            \end{enumerate}

            \column{0.33\textwidth}
            Descriptions:
            \begin{description}
                \item[First] Yes.
                \item[Second] No.
            \end{description}
        \end{columns}
    \end{frame}

%------------------------------------------------

    \begin{frame}{Table}
        \begin{table}
            \centering % Centre the table on the slide
            \begin{tabular}{l c}
                \toprule
                Discipline & Avg. Salary \\
                \toprule
                \textbf{Engineering} & \textbf{\$66,521} \\
                Computer Sciences & \$60,005\\
                Mathematics and Sciences & \$61,867\\
                Business & \$56,720\\
                Humanities \& Social Sciences & \$56,669\\
                Agriculture and Natural Resources & \$53,565\\
                Communications & \$51,448\\
                \midrule
                \textbf{Average for All Disciplines} & \textbf{\$58,114}\\
                \bottomrule
            \end{tabular}
            \caption{Table caption}
        \end{table}
    \end{frame}

%------------------------------------------------

    \begin{frame}[focus]
        Danke fuerr eure Aufmerksamkeit!
    \end{frame}

%----------------------------------------------------------------------------------------
%	 CLOSING/SUPPLEMENTARY SLIDES
%----------------------------------------------------------------------------------------

    \appendix

    \begin{frame}{References}
        \nocite{*} % Display all references regardless of if they were cited
        \bibliography{example}
        \bibliographystyle{plain}
    \end{frame}

\end{document}
