#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include "tools.h" /**********************************************************/ /**********************************************************/ void clearScreen() { system("clear"); // Linux // system("CLS"); // Windows } /**********************************************************/ /**********************************************************/ void clearBuffer() { char Dummy; do { scanf("%c", &Dummy); } while (Dummy != '\n'); } /**********************************************************/ /**********************************************************/ void waitForEnter() { printf("\nBitte Eingabetaste druecken ..."); clearBuffer(); } /**********************************************************/ /**********************************************************/ int askYesOrNo(char *Question) { char Input; do { printf("%s", Question); scanf("%c", &Input); if (Input != '\n') clearBuffer(); } while ((Input != 'j') && (Input != 'J') && (Input != 'n') && (Input != 'N')); return ((Input == 'j') || (Input == 'J')); } /**********************************************************/ /**********************************************************/ void printLogo () { FILE *titel = fopen("Logo.txt","r"); char output[150]; if(titel) { while(!feof(titel)){ fgets(output,150,titel); printf("%s",output); } puts("\n"); fclose(titel); } else { puts("Logo not found\n"); } } /**********************************************************/ /**********************************************************/ void delay(unsigned int number_of_seconds) { // Converting time into milli_seconds int milli_seconds = 1000 * number_of_seconds; // Storing start time clock_t start_time = clock(); // looping till required time is not achieved while (clock() < start_time + milli_seconds) ; } /**********************************************************/ /**********************************************************/ void printLine(char zeichen, unsigned int limit) { for(unsigned int i = 0; i < limit; ++i) { printf("%c",zeichen); } puts("\n"); } /*******************************************************************************************************************************************/ /* function receives a prompt as a string, the maximum input *******************************************************************************/ /* length of the text to be entered, a pointer to a string,*********************************************************************************/ /*as well as a boolean value whether an empty string is also allowed as input. *************************************************************/ /*******************************************************************************************************************************************/ int getText(char* prompt, unsigned int maxLength, char** pointerToString, int stringOption){ if(!pointerToString) return 0; *pointerToString = NULL; char* input; char format[20]; unsigned int stringLength; int loopExit = 0; input = malloc(maxLength + 1); if(input) { sprintf(format,"%%%i[^\n]", maxLength); do { puts(prompt); *input = '\0'; scanf(format,input); clearBuffer(); stringLength = strlen(input) + 1 ; if (stringLength > 1) { *pointerToString = malloc(stringLength); if(*pointerToString){ strncpy(*pointerToString, input, stringLength + 1); loopExit = 1; } } else if (stringOption) loopExit = 1; } while (loopExit != 1); free(input); return 1; } else return 0; } /*******************************************************************************************************************************************/ /* function receives a prompt as a string,, a pointer to an integer, two unsigned integers to define the ***********************************/ /* max and min, a pointer to an integer,****************************************************************************************************/ /* and delevers a boolen value as return ***************************************************************************************************/ /*******************************************************************************************************************************************/ int getNumber(char* prompt, int* pointerToInteger, unsigned int min, unsigned int max){ int input; do { puts(prompt); scanf("%i",&input); clearBuffer(); } while ((input < min) || (input > max)); *pointerToInteger = input; }