Created
November 12, 2015 00:21
-
-
Save armand1m/ac29f6a235028aa99496 to your computer and use it in GitHub Desktop.
bagui em c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import <stdbool.h> | |
#import <string.h> | |
#import <stdlib.h> | |
#import <stdio.h> | |
bool is_valid(char serial[]); | |
void print(char serial[]); | |
int digit_to_int(char digit); | |
bool is_int_value(char digit); | |
int valid_serial(); | |
int invalid_serial(); | |
int main() { | |
char serial[] = ""; | |
printf("Digite o serial: "); | |
scanf("%s", &serial); | |
if (is_valid(serial)) { | |
return valid_serial(); | |
} | |
return invalid_serial(); | |
} | |
bool is_valid(char serial[]) { | |
int serial__length = strlen(serial); | |
if (serial__length > 6) { | |
return false; | |
} | |
if (!is_int_value(serial[0])) { | |
return false; | |
} | |
if (is_int_value(serial[1])) { | |
return false; | |
} | |
if (is_int_value(serial[2])) { | |
return false; | |
} | |
if (!is_int_value(serial[3])) { | |
return false; | |
} | |
if (is_int_value(serial[4])) { | |
return false; | |
} | |
if (!is_int_value(serial[5])) { | |
return false; | |
} | |
return true; | |
} | |
int digit_to_int(char digit) { | |
char string[2]; | |
string[0] = digit; | |
string[1] = '\0'; | |
return (int) strtol(string, NULL, 10); | |
} | |
bool is_int_value(char digit) { | |
int digit__int = digit_to_int(digit); | |
if (digit__int == 0 && digit != '0') { | |
return false; | |
} | |
return true; | |
} | |
int valid_serial() { | |
printf("Serial válido."); | |
return 0; | |
} | |
int invalid_serial() { | |
printf("Serial inválido."); | |
return 1; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment