#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>		// Datentypen

#pragma warning(disable : 4996)

void einfacheDatentypen()
{
	int izahl = 0;
	short int szahl = 0;	// %hd
	float fzahl = 0.0;
	double dzahl = 0.0;

	printf("\n\t\teinfacheDatentypen\n");
	printf("Zahlen int: %d, float: %f, double: %e", izahl, fzahl, dzahl);

	// http://w...content-available-to-author-only...t.de/doc/cpp/printf/printf.html#Print-Conversion-Specifiers 
}

void initFelder()
{
	int izahl[10];
	float fzahl[5] = {0.0, 0.0, 0.0, 0.0, 0.0};
	char zeichen[10];
	uint8_t ui8zahl[10];

	printf("\n\t\tinitFelder\n");

	for (int i = 0; i < 10; i++)
	{
		izahl[i] = 0;
	}

	for (int i = 0; i < 10; i++)
	{
		ui8zahl[i] = 0;
	}

	printf("\nui8\n");
	for (int i = 0; i < 10; i++)
	{
		printf("%d ", ui8zahl[i]);
	}

	for (int i = 0; i < 5; i++)
	{
		printf("%f ", fzahl[i]);
	}
	printf("\n");

	int j = 0;
	do{
		zeichen[j++] = ' ';
	} while (j < 10);

	printf("\n");
	j=0;
	while (j++ < 10)
	{
		printf("%f ", fzahl);
	}
}

void charUndString()
{
	char zeichen = '1';
	char str1[] = "Das ist ein String";
	char str2[] = {'A', 'B', 'C', 0 };

	
	printf("\n\t\tcharUndString\n");

	printf("Zahl: %d", zeichen -'0');
	printf("\nString 1: %s, String 2: %s", str1, str2);
}

void nurBestimmteWerteAblegen()
{
	char str1[20] = "Test1234String";
	char str2[20];
	char zeichen;
	int j = 0, i = 0;

	while((zeichen=str1[i++]) != 0)
	{
		if(zeichen >= '0' && zeichen <= '9')	// https://d...content-available-to-author-only...a.org/wiki/American_Standard_Code_for_Information_Interchange#ASCII-Tabelle 
			str2[j++] = zeichen;
	}
	str2[j]=0;
	printf("\nString2: %s\n", str2);
}

int main(void)
{
	einfacheDatentypen();
	initFelder();
	charUndString();
	nurBestimmteWerteAblegen();

	fflush(stdin);
	getchar();
}