Notas:
[5] 1.
[1] a) Indique o que entende por uma cadeia de caracteres.
[1] b) Indique por que razão não se deve usar a função gets()
.
[1] c) Indique a função a usar em sua substituição.
Justifique.
[1] d) Escreva uma linha de programa que leia uma cadeia de
caracteres do teclado (leitura até ao primeiro fim de linha).
[1] e) Indique os diferentes modos de abertura de ficheiros e
suas características.
[4] 2. Escreva um programa que peça ao utilizador um número n
ímpar, validando a entrada, e, com base nele desenhe um quadrado
de n por n contornado a *
e com as
diagonais traçadas. Exemplo para n = 7:
******* ** ** * * * * * * * * * * * ** ** *******
[6] 3. Considere que tem um ficheiro com o nome auto.txt
contendo, por cada linha, a matrícula de um automóvel e
respectivo proprietário. O formato é o seguinte:
AA-dd-dd Apelido Nome
em que AA são duas quaisquer letras maiúsculas do
alfabeto de A a Z, e dd são dígitos de 00 a 99.
[2] a) Escreva uma função int procura_matricula(char
fich[], char matricula[], char nome[])
que, dada uma
matrícula (guardada em matricula
) e o nome de um
ficheiro (guardado em fich
), devolva o número de
linha do ficheiro onde ocorre primeiro, copiando para nome
o nome completo do respectivo proprietário (pode ser na forma
Apelido Nome). Caso não encontre deve devolver -1 (a primeira
linha do ficheiro é a linha 0).
[2] b) Escreva uma função int ano_registo(char
matricula[])
que devolva o ano de registo da matrícula matricula
com base nas letras da matrícula, usando a seguinte
simplificação algorítmica: AA corresponde a registos do ano de
1900, AB ao ano de 1901, AC ao ano de 1902, etc. (Obs.: a
representação de AA a ZZ corresponde à base 26; trata-se
essencialmente de fazer a conversão, de forma conveniente, da
base 26 para a base 10).
[2] c) Com as funções anteriores, faça um programa que
peça ao utilizador uma matrícula, que procure no ficheiro auto.txt
se a matrícula existe e, caso exista, que escreva no ecrã o
nome completo do proprietário e o ano de registo da viatura. A
linha de programa que escreve no ecrã pode ser, por exemplo:
printf("O carro %s, do ano %d, pertence a %s\n", matricula, ano, nome);
[5] 4. Escreva um programa que conte o número de letras de A a Z contidas num ficheiro, independentemente de serem maiúsculas ou minúsculas, apresentando no fim a contagem resultante. Por cada letra deve aparecer no ecrã o respectivo número de ocorrências.
Página
concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07) Copyright © 1996-2001 ISCTE |