Skip to content

Instantly share code, notes, and snippets.

@armand1m
Created November 12, 2015 00:21
Show Gist options
  • Save armand1m/ac29f6a235028aa99496 to your computer and use it in GitHub Desktop.
Save armand1m/ac29f6a235028aa99496 to your computer and use it in GitHub Desktop.
bagui em c
#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