UFPR · DELT · Contact
Programação básica

Segunda lista de exercícios
Utilize a linguagem C em todos os casos. Estes exercícios foram planejados para treinar questões de fundamentos de programação.
  1. Escreva um programa com uma função que recebe um número inteiro e retorna um ponteiro para char contendo a representação em binário (mas represendada em ASCII) do número. O programa principal deve imprimir o resultado no vídeo. Atenção para alocação de memória e manipulação de ponteiros. O uso de ponteiros na passagem de parâmetros da função é obrigatório.
  2. Uma matriz é um quadrado latino de ordem n se em cada linha e em cada coluna aparecem todos os inteiros 1, 2, 3, ..., n. Escreva uma função que recebe como parâmetro um inteiro n e um ponteiro para uma matriz de inteiros e verifica se a matriz é um quadrado latino. Atenção para alocação de memória e manipulação de ponteiros. O uso de ponteiros na passagem de parâmetros da função é obrigatório. Exemplo de quadrado latino:

     | 3 4 1 2 |
     | 2 3 4 1 |
     | 4 1 2 3 |
     | 1 2 3 4 |

  3. Suponha um sistema para controlar o estoque de uma loja de informática. Utilize alocação estática de memória.
    1. Desenvolva estruturas de dados para representar o estoque, contendo o código, descrição (ex. computador, hd) quantidade, preço de custo e preço de venda. Escreva funções para inserir, excluir e consultar o estoque.
    2. Desenvolva estuturas de dados para representar os clientes e funcionários da loja (nome, cpf). Escreva funções para inserir, excluir e consultar as informações de clientes/funcionários.
    3. Escreva funções para registrar vendas. Uma venda deve ser realizada para um cliente conhecido por um funcionário conhecido. O programa deve fazer um fluxo de caixa rudimentar com as vendas considerando o preço de custo e o preço de venda.
    4. Inclua no seu programa uma função de teste que insere 10 produtos, 10 clientes e 2 funcionários. A função de teste deve acionar diversas vezes a função de venda.
    5. Adicional de 1/2 ponto: escreva funções que permitam a gravação e leitura dos dados em um arquivo texto.
    6. Mais um adicional de 1/2 ponto: reescreva tudo utilizando alocação dinâmica de memória.

Voltar para página da TE091/2016