Buscar

Tipos abstratos de dados - desafio

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Padrão de resposta esperado
O aluno deverá apresentar o código de programação de três programas em C, semelhantes ao apresentado abaixo:
CÓDIGO DO PROGRAMA MENU.C
#include "operacao.c"
main(){
 //CRIAR OS NÚMEROS
 Matematica Matematica1;
 criar(&Matematica1, 20, 10);
 //SOMAR COM OS NÚMEROS
 somar(&Matematica1, 5, 5);
 printf("Valores depois de somar: \ \n");
 mostrar(&Matematica1);
 //DIMINUIR COM OS NÚMEROS
 diminuir(&Matematica1, 27, 11);
 printf("Valores depois de diminuir: \ \n");
 mostrar(&Matematica1);
 //MULTIPLICAR COM OS NÚMEROS
 multiplicar(&Matematica1, 3, 1);
 printf("Valores depois de multiplicar: \ \n");
 mostrar(&Matematica1);
 //DIVIDIR COM OS NÚMEROS
 dividir(&Matematica1, 2, 3);
 printf("Valores depois de dividir: \ \n");
 mostrar(&Matematica1);
}
CÓDIGO DO PROGRAMA OPERACAO.H
typedef struct {
 int valor1;
 int valor2;
} Matematica;
//FUNÇÃO PARA CRIAÇÃO DOS NÚMEROS
void criar(Matematica *, int, int);
//FUNÇÃO PARA SOMAR COM OS NÚMEROS
int somar(Matematica *, int, int);
//FUNÇÃO PARA DIMINUIR COM OS NÚMEROS
int diminuir(Matematica *, int, int);
//FUNÇÃO PARA MULTIPLICAR COM OS NÚMEROS
int multiplicar(Matematica *, int, int);
//FUNÇÃO PARA DIVIDIR COM OS NÚMEROS
int dividir(Matematica *, int, int);
//FUNÇÃO PARA MOSTRAR OS NÚMEROS
void mostrar (Matematica *);
CÓDIGO DO PROGRAMA OPERACAO.C
#include <stdio.h>
#include <string.h>
#include "operacao.h"
int flag = 0;
//FUNÇÃO PARA CRIAÇÃO DE NÚMEROS
void criar(Matematica *matematica, int valor1, int valor2){
 matematica->valor1 = valor1;
 matematica->valor2 = valor2;
}
//FUNÇÃO PARA SOMAR COM OS NÚMEROS
int somar(Matematica *matematica, int valor1, int valor2){
 matematica->valor1 += valor1;
 matematica->valor2 += valor2;
 return 1;
}
//FUNÇÃO PARA DIMINUIR COM OS NÚMEROS
int diminuir(Matematica *matematica, int valor1, int valor2){
 if ((matematica->valor1 - valor1) >= 0){
 matematica->valor1 -= valor1;
 flag = 1;
 }
 if ((matematica->valor2 - valor2) >= 0){
 matematica->valor2 -= valor2;
 flag = 1;
 }
 if (flag = 1)
 return 1;
 else
 return 0;
}
//FUNÇÃO PARA MULTIPLICAR COM OS NÚMEROS
int multiplicar(Matematica *matematica, int valor1, int valor2){
 matematica->valor1 *= valor1;
 matematica->valor2 *= valor2;
 return 1;
}
//FUNÇÃO PARA DIVIDIR COM OS NÚMEROS
int dividir(Matematica *matematica, int valor1, int valor2){
 if ((matematica->valor1 / valor1) >= 0){
 matematica->valor1 /= valor1;
 flag = 1;
 }
 if ((matematica->valor2 / valor2) >= 0){
 matematica->valor2 /= valor2;
 flag = 1;
 }
 if (flag = 1)
 return 1;
 else
 return 0;
}
//FUNÇÃO PARA MOSTRAR OS NÚMEROS
void mostrar (Matematica *matematica){
 printf("Valor1: %d \n", matematica->valor1);
 printf("Valor2: %d \n", matematica->valor2);
 printf("\n");
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais