mirror of
https://gitlab.com/blau_araujo/cblc.git
synced 2025-05-09 18:16:37 -03:00
exercícios da aula 11
This commit is contained in:
parent
2bbee7c9ff
commit
efe8315b14
1 changed files with 71 additions and 0 deletions
71
exercicios/11/README.org
Normal file
71
exercicios/11/README.org
Normal file
|
@ -0,0 +1,71 @@
|
|||
#+title: Curso Básico da Linguagem C
|
||||
#+subtitle: Exercícios
|
||||
#+author: Blau Araujo
|
||||
#+startup: show2levels
|
||||
#+options: toc:3
|
||||
|
||||
* Exercícios da aula 11: Leitura da entrada padrão com 'scanf'
|
||||
|
||||
- [[../../aulas/11-scanf/README.org][Anotações da aula]]
|
||||
- [[https://youtu.be/MZiI95b2gdY][Vídeo]]
|
||||
|
||||
** 1. Desafio: Conversão Milhas->Km e Km->Milhas
|
||||
|
||||
Utilizando a função =scanf= para receber os valores digitados no formato:
|
||||
|
||||
#+begin_example
|
||||
<valor>[m, k ou km]
|
||||
#+end_example
|
||||
|
||||
Crie um programa que converta o valor de uma unidade para outra:
|
||||
|
||||
- Se a unidade for =k= ou =km=, converter para milhas;
|
||||
- Se a unidade for =m=, converter para quilômetros;
|
||||
- Se não houver unidade, presume-se o valor em quilômetros;
|
||||
- Espaços entre o valor e a unidade devem ser ignorados;
|
||||
- As unidades podem ser escritas em maiúsculas ou minúsculas;
|
||||
- Tudo após a unidade deve ser ignorado;
|
||||
- Valores devem poder ser passados com representações de ponto flutuante;
|
||||
- Resultados sempre serão impressos em ponto flutuante e duas casas de precisão.
|
||||
|
||||
** 2. Desafio: Separação de linhas em campos
|
||||
|
||||
Considerando o arquivo =ender.csv=, abaixo:
|
||||
|
||||
#+begin_example
|
||||
Maria das Couves, Rua da Horta, 23, Hortolândia, PR
|
||||
João da Silva, Av. da Prata, 42, Silverado, RS
|
||||
Antônio Pereira, Av. dos Pomares, 65, Pomorânia, SP
|
||||
#+end_example
|
||||
|
||||
Crie um programa que, usando =scanf=, liste os dados em cada linha desta forma:
|
||||
|
||||
#+begin_example
|
||||
Nome : ...
|
||||
Endereço: ...
|
||||
Cidade : ...
|
||||
Estado : ...
|
||||
#+end_example
|
||||
|
||||
O programa deve ser executado com:
|
||||
|
||||
#+begin_example
|
||||
./a.out < ender.csv
|
||||
#+end_example
|
||||
|
||||
** 3. Desafio: Implementando um 'cat' com 'scanf'
|
||||
|
||||
Crie um programa que, ao ser executado em um pipe ou com um redirecionamento
|
||||
de leitura, imprima todas as linhas de um arquivo. Se executado sem operadores,
|
||||
o programa deve imprimir todas as linhas digitadas no terminal antes do
|
||||
atalho =Ctrl+D=.
|
||||
|
||||
Exemplos:
|
||||
|
||||
#+begin_example
|
||||
./a.out < /etc/shells # Imprime todas as linhas de /etc/shells
|
||||
cat /etc/shells | ./a.out # Imprime todas as linhas enviadas pelo cat
|
||||
./a.out # Espera Ctrl+D para imprimir todas as linhas digitadas
|
||||
#+end_example
|
||||
|
||||
|
Loading…
Add table
Reference in a new issue