Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #define ONLY_ZERO_OR_ONE "Nur Null oder Eins eingeben\n"
- char lowerCaseToUpperCase(char somechar)
- {
- if (somechar == 'n' ||
- somechar == 'j')
- {
- somechar = somechar - 32;
- }
- return(somechar);
- }
- char checkDecision(char decision)
- {
- int check = 0;
- while(check < 1)
- {
- if (decision != 'J' && decision != 'N')
- {
- printf("\a");
- printf("Nur n oder j eingeben!!\n");
- __fpurge(stdin);
- scanf ("%c", &decision);
- decision = lowerCaseToUpperCase(decision);
- }
- if (decision == 'J' || decision == 'N')
- {
- check = 1;
- return (decision);
- }
- }
- return(0);
- }
- char getDecision(char decision)
- {
- printf("Wollen Sie noch eine Berechnung durchführen?\n");
- printf("j für Ja eingeben oder n für Nein eingeben\n");
- __fpurge(stdin);
- scanf ("%c", &decision);
- decision = lowerCaseToUpperCase(decision);
- return(decision);
- }
- void getBinary(int bin[5])
- {
- int bin_counter = 0;
- while (bin_counter < 4)
- {
- if (bin_counter == 0)
- {
- printf("4 Binaer-Ziffern eingeben\n");
- }
- __fpurge(stdin);
- scanf ("%i", &bin[bin_counter]);
- if ( (bin[bin_counter] == 0) ||
- (bin[bin_counter] == 1))
- {
- bin_counter = bin_counter + 1;
- }
- if ( (bin[bin_counter] > 1) ||
- (bin[bin_counter] < 0) )
- {
- printf("\a");
- printf ("%s", ONLY_ZERO_OR_ONE);
- }
- }
- }
- int binaryToDecimal(int decimal, int bin[5])
- {
- int ok_counter = 0;
- int pow_counter = 3;
- for (ok_counter = 0; ok_counter < 4;)
- {
- if (bin[ok_counter] == 1)
- {
- decimal = decimal + pow(2, pow_counter);
- ok_counter = ok_counter + 1;
- pow_counter = pow_counter - 1;
- }
- if (bin[ok_counter] == 0)
- {
- ok_counter = ok_counter + 1;
- pow_counter = pow_counter - 1;
- }
- }
- return(decimal);
- }
- int main()
- {
- char decision = 'Y';
- int decimal = 0;
- int bin[5] = {};
- getBinary(bin);
- decimal = binaryToDecimal(decimal, bin);
- printf("Dezimal Zahl: %i\n", decimal);
- decision = getDecision(decision);
- decision = checkDecision(decision);
- if (decision == 'N')
- {
- return(0);
- }
- else
- {
- main();
- }
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement