-
Notifications
You must be signed in to change notification settings - Fork 0
/
aula0806b.c
72 lines (62 loc) · 1.77 KB
/
aula0806b.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
*
*Universidade Federal do Rio de Janeiro
*Escola Politecnica
*Departamento de Eletronica e de Computacao
*EEL270 - Computacao II - Turma 2017/1
*Prof. Marcelo Luiz Drumond Lanza
*Autor: Igor Ferreira do Nascimento
*
*$Author: igor.nascimento $
*$Date: 2017/05/09 19:01:34 $
*$Log: aula0806b.c,v $
*Revision 1.1 2017/05/09 19:01:34 igor.nascimento
*Initial revision
*
*Revision 1.1 2017/04/07 15:57:57 igor.nascimento
*Initial revision
*
*
*
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "aula0804.h"
#define EOS '\0'
#define OK 0
#define NUMERO_ARGUMENTOS_INVALIDOS 1
#define ARGUMENTO_INVALIDO 2
#define NUMERO_ARGUMENTOS 2
#define TAMANHO_PIS 11
#define CARACTERE_INVALIDO 5
#define VALOR_MUITO_GRANDE 4
int
main(int argc, char *argv[])
{
unsigned indice;
char pis[11];
byte comprimento;
if (argc != NUMERO_ARGUMENTOS)
{
printf("Uso: %s <PIS/PASEP - int>\n",argv [0]);
exit (NUMERO_ARGUMENTOS_INVALIDOS);
}
if( (comprimento = (byte) strlen(argv[1]) ) != TAMANHO_PIS)
{
printf("Comprimento PIS/PASEP invalido\n");
exit (TAMANHO_PIS);
}
for (indice = 0; indice < comprimento; indice++)
{
if (argv [1][indice] <'0' || argv[1][indice] > '9')
{
printf ("Caractere invalido: '-'\n");
exit (CARACTERE_INVALIDO);
}
pis [indice] = (argv[1][indice]);
}
printf ("PIS/PASEP %s\n", ValidarPisPasep(pis)? "Valido" : "Invalido");
return OK;
}
/* $RCSfile: aula0806b.c,v $ */