Você está na página 1de 15

Catalão, 12\12\2021

Universidade Federal de Catalão (UFCAT)

Alunos: Gabriel Ferreira Nunes dos Santos, Luis Fernando das Neves Carrijo, Hiago Maia e
Éric Regis Carneiro

Professora: Luanna

Curso: Ciências da Computação 1’ Período

Trabalho final
APC1 e LAB1

Sistema 1

Jogo da velha:

• Implementar o Jogo da Velha – Não pode ser igual ao do livro • Crie com suas
características – Entrega: 4 pessoas • Exemplo de Jogo da Velha – pág 109 C Completo e Total

#include<stdio.h>

#include<conio.h>

int main(void)

char Matriz[3][3];

char X='X', O='O';

char nome1[50], nome2[50];

int l=0,j,i;

for(i=0;i<3;i++)

for(j=0;j<3;j++)
Matriz[i][j]=' ';

while(l<=9)

printf(" JOGO DA VELHA \n\n");

for(i=0;i<3;i++)

printf("\t\t %c \| %c \| %c\n",Matriz[i][0],Matriz[i][1],Matriz[i][2]);

if(i<3-1)

printf("\t\t ---\xCE---\xCE---\n");

printf("\n\n Digite as coordenadas, ");

if(l%2)printf("Jogador 2\n Digite a Linha: ");

else printf("Jogador 1\nDigite a linha: ");

scanf("%d",&i);

printf("Digite a coluna: ");

scanf("%d",&j);

if(Matriz[i-1][j-1]==' ')

if(l%2)Matriz[i-1][j-1]=O;

else Matriz[i-1][j-1]=X;

l++;

if((Matriz[0][0]==O && Matriz[0][1]==O && Matriz[0][2]==O)||


(Matriz[1][0]==O && Matriz[1][1]==O && Matriz[1][2]==O)||

(Matriz[2][0]==O && Matriz[2][1]==O && Matriz[2][2]==O)||

(Matriz[0][0]==O && Matriz[1][0]==O && Matriz[2][0]==O)||

(Matriz[0][1]==O && Matriz[1][1]==O && Matriz[2][1]==O)||

(Matriz[0][2]==O && Matriz[1][2]==O && Matriz[2][2]==O)||

(Matriz[0][0]==O && Matriz[1][1]==O && Matriz[2][2]==O)||

(Matriz[0][2]==O && Matriz[1][1]==O && Matriz[2][0]==O))

printf("\n\a\t\t Parabéns você venceu jogador 1");

break;

if((Matriz[0][0]==X && Matriz[0][1]==X && Matriz[0][2]==X)||

(Matriz[1][0]==X && Matriz[1][1]==X && Matriz[1][2]==X)||

(Matriz[2][0]==X && Matriz[2][1]==X && Matriz[2][2]==X)||

(Matriz[0][0]==X && Matriz[1][0]==X && Matriz[2][0]==X)||

(Matriz[0][1]==X && Matriz[1][1]==X && Matriz[2][1]==X)||

(Matriz[0][2]==X && Matriz[1][2]==X && Matriz[2][2]==X)||

(Matriz[0][0]==X && Matriz[1][1]==X && Matriz[2][2]==X)||

(Matriz[0][2]==X && Matriz[1][1]==X && Matriz[2][0]==X))

printf("\n\a\t\t Parabéns você venceu jogador 2");

break;

if(l==9)

printf("DEU EMPATE");

break;

getch();
return(0);

2) SISTEMA 2
 Em uma cidade do Sul do país, sabe-se que de Janeiro a Abril (assumindo 121 dias),
não ocorreu temperatura inferior a 15 C nem superior a 30 C. As temperaturas
registradas em cada dia estão armazenadas em documentos da central do tempo.
Assim, sua empresa foi contratada para desenvolver um sistema que calcule e
imprima: – a. A menor temperatura ocorrida – b. A maior temperatura ocorrida – c.
A temperatura média – d. O número de dias no qual a temperatura foi menor e
maior do que a temperatura média.

#include <stdio.h>

#include <stdlib.h>

int main(void){

int dias=0,i;

float maior = 0, menor = 9999, media, soma = 0;

float vetor[121];

printf(" Diagnóstico de 121 dias da temperatura da cidade: \n");

printf(" Temperatura máxima = 30 Temperatura mínima = 15\n");

for(i=0; i<121;i++){

printf("\nDigite uma temperatura adequada: ");

scanf("%f", &vetor[i]);

if(vetor[i]<15, vetor[i]>30){

printf("Temperatura não configurada \n\n");

else{

soma = soma + vetor[i];

if(vetor[i] > maior);

{
maior = vetor[i];

if(vetor[i] < menor){

menor = vetor[i];

media = soma/121;

printf("\nMaior temperatura = %2.f", maior);

printf("\nMenor temperatura = %2.f", menor);

printf("\nTemperatura média = %2.f", media);

for(i=0;i<121;i++){

if(vetor[i]<media){

dias++;

printf("\nDias com a temperatura abaixo da temperatura média: %d", dias);

return 0;

3) SISTEMA 3

 Sua empresa foi contratada para o desenvolver um sistema que gerencie reservas de
passagens aéreas da companhia. – O sistema deve permitir a leitura do número dos
vôos e a respectiva quantidade de lugares disponíveis, além de pedidos de reserva,
constituídos do número da carteira de identidade do cliente e do vôo desejado. – Para
cada cliente, o sistema deve verificar se há disponibilidade no vôo desejado. Em caso
afirmativo, o sistema deve imprimir o número da identidade do cliente e o número do
vôo, atualizando o número de lugares disponíveis. – Caso contrário, o sistema deve
avisar ao cliente da inexistência de lugares. A companhia área tem 30 números de
vôos.
#include <stdio.h>

const int MAX = 30;

void preenche(int *v1, int *quantidade) {

int i;

for (i=0;i<MAX; i++){

printf("Informe o número do %d° vôo:\n", i + 1);

scanf("%d", &v1[i]);

for (i=0; i<MAX; i++) {

printf ("Quantos lugares disponíveis faltam no vôo de número %d? \n", v1[i]);

scanf("%d", &quantidade[i]);

void imprime(int *v1) {

for (int i = 0; i < MAX; i++) {

printf("%d", v1[i]);

int encontraVoo(int *v1, int num) {

for (int i = 0; i < MAX; i++) {

if (v1[i] == num) {

return i;
}

return -1;

void reserva(int *numVoo, int *quantidade) {

int opcao, identidade, voo;

int qtdVoo;

printf("Informe sua identidade: ");

scanf("%d", &identidade);

printf("Informe o número do vôo que você deseja: ");

scanf("%d", &voo);

voo = encontraVoo(numVoo, voo);

if (voo == -1) {

printf("Vôo não encontrado.");

return;

if (quantidade[voo] == 0) {

printf("O vôo desejado não tem mais lugares disponíveis.");

return;

}
quantidade[voo]--;

printf("Identidade: %d \nNumero do voo: %d\nVocê reservou uma vaga nesse vôo, e agora
faltam %d lugares disponíveis. Tenha uma ótima viagem!", identidade, numVoo[voo],
quantidade[voo]);

int main(void){

int i, numVoo[MAX], quantidade[MAX];

preenche(numVoo, quantidade);

reserva(numVoo, quantidade);
}

4) SISTEMA 4
 Sua empresa foi contratada para o desenvolvimento de um sistema que corrige as
provas de múltipla escolha (com 05 opções de resposta e apenas uma correta).
 Cada prova tem 10 questões, cada uma valendo 1.0. O primeiro conjunto de dados a
ser lido será o gabarito para a correção da prova. Os outros dados consistem da
matricula dos alunos e suas respectivas respostas, e o último número, do aluno
fictício, será 9999.
 O sistema deve calcular e imprimir: – a. para cada aluno, o seu número de matricula
e a sua nota. – b. a porcentagem de aprovação, sabendo-se que a nota mínima para
aprovação é 7.0; – c. a nota que teve a maior frequência absoluta.

#include <stdio.h>

void preencheGabarito (char *vetor) {


int i;

for (i=0; i<10; i++) {

printf("Informe a resposta certa da %d° questão: \n", i+1);

scanf("%s", &vetor[i]);

int consultaAlunos() {

int alunos;

printf("Quantos alunos fizeram a prova? \n");

scanf("%d", &alunos);

return alunos;

void preencheRespostas (int alunos, int *matricula, char respostas[][10]) {

int i, j;

for (i=0; i<alunos; i++) {

printf("Qual a matrícula do %d° aluno? \n", i+1);

scanf("%d", &matricula[i]);

for (i=0; i<alunos; i++) {

for (j=0; j<10; j++) {

printf("Informe a resposta da %d° questão do aluno de matrícula %d: \n", j+1, matricula[i]);
scanf("%s", &respostas[i][j]);

void verificaRespostas(int alunos, float *notas, char *gabarito, int *matricula, char respostas[]
[10]) {

int i, j, acertos=0;

for (i=0; i<alunos; i++) {

for (j=0; j<10; j++) {

if (respostas[i][j]==gabarito[j]) {

acertos++;

notas[i] = (float)acertos;

printf("Aluno: %d\nNota: %.2f\n", matricula[i], notas[i]);

acertos = 0;

void verificaPorcentagem (int alunos, float *notas) {

int cont=0, i;

float porcentagem;

for (i=0; i<alunos; i++) {

if (notas[i]>=7) {

cont++;

}
}

porcentagem=((float)cont/(float)alunos)*100;

printf("A porcentagem de alunos aprovados foi de %.2f %%\n", porcentagem);

float verificaModa(float *notas, int alunos)

int i, j, cont;

float maiorFrequencia;

int max = 0;

for(i = 0; i< alunos; i++) {

cont = 1;

for(j = i+1; j < alunos; j++) {

if(notas[j] == notas[i]){

cont++;

if(cont > max) {

maiorFrequencia = notas[j];

return maiorFrequencia;

int main (void) {

char gabarito[10], respostas[100][10];


int matricula[100], v2[100], alunos;

float notas[100];

preencheGabarito (gabarito);

alunos = consultaAlunos();

preencheRespostas (alunos, matricula, respostas);

verificaRespostas(alunos, notas, gabarito, matricula, respostas);

verificaPorcentagem (alunos, notas);

if (verificaModa(notas, alunos)>10){

printf("\nNenhuma nota se repetiu.");

if (verificaModa(notas, alunos)<=10) {

printf("\nA nota que mais se repetiu foi: %.2f ", verificaModa(notas, alunos));

5) SISTEMA 5
 Em um supermercado, há um equipamento que efetua a leitura do estoque de
mercadorias, lendo o código das mercadorias e as quantidades. Em seguida, são feitos
os pedidos dos clientes.
 Sua empresa deve desenvolver um sistema que permita a atualização do estoque de
tal modo: – a. seja lido e mostrado o estoque inicial (máximo de 100 mercadorias) – b.
sejam lidos os pedidos dos clientes, constituídos, cada um, do número do cliente,
código da mercadoria e quantidade desejada – c. seja verificado, para cada pedido, se
ele pode ser integralmente atendido. Em caso negativo, mostrar o número do cliente e
uma mensagem de aviso que não possui a mercadoria em estoque de forma
suficiente. O sistema deve informar quantidade atual e o cliente pode optar por fazer
um novo pedido com a quantidade suficiente – d. seja atualizado o estoque após cada
operação – e. seja listado o estoque final.

#include <stdio.h>
#include <stdlib.h>

int codigoMerc[5];

int qtde[5];

int numC;

int cMDC;

int qM;

char resposta;

int sair;

void estoqueInicial();

void pedidoC();

void sttsP();

void atlzc();

int *pontCM = codigoMerc;

int *pontQ = qtde;

int main()

estoqueInicial();

while(sair != 1){

pedidoC();

sttsP();

atlzc();

}
}

void estoqueInicial()

int i;

printf(" Produtos em estoque \n");

for(i = 0; i <= 5; i++){

codigoMerc[i] = i;

qtde[i] = 100;

printf("Codigo do produto: %d | Quantidade do produto: %d\n", codigoMerc[i], qtde[i]);

void pedidoC()

printf("\n Escolha o Produto \n");

printf("Codigo do cliente: ");

scanf("%d", &numC);

printf("Codigo da mercadoria: ");

scanf("%d", &cMDC);

printf("Quantidade do Produto: ");

scanf("%d", &qM);

void sttsP()

printf("\n Status do Pedido \n");

if(cMDC == pontCM[cMDC]){

if(pontQ[cMDC] > 0){

if(qM <= pontQ[cMDC]){

printf("Sucesso na Compra\n");
qtde[cMDC] = pontQ[cMDC] - qM;

else{

printf("Cliente numero: %d\n", numC);

printf("Mercadoria insuficiente! Resta apenas: %d itens no estoque!\n", qtde[cMDC]);

printf("Digite 'C' para continuar com a compra com a quantidade de mercadoria no


estoque ou 'n' para cancelar a compra!\n");

scanf("%s",&resposta);

if(resposta == 'C'){

printf("\nSucesso na compra\n");

qtde[cMDC] = pontQ[cMDC] - pontQ[cMDC];

}else{printf("Estoque esgotado!\n");}

else{

printf("Produto nao achado :(\nVerifique o codigo do produto\n");

void atlzc(){

int i;

printf("\n Estoque \n");

for(i = 0; i <= 5; i++){

printf("Codigo do produto: %d | Quantidade do produto: %d\n", pontCM[i], pontQ[i]);

Você também pode gostar