Buscar

Mini_projecto feito por Cleber_Fábio EQB.zip

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

Mini_projecto feito por Cleber_F�bio EQB/MP1_KleberMonteiro_F�bioMonteiro_EQB1.c
#include<stdio.h> //permite utilizar funçoes tais como printf e scanf
#include<stdlib.h> //permite utilizar funçoes do sistema tais como system("cls") e system("pause")
#include<string.h> //permite utilizar funçoes que trabalham com strings tais como getche()
#include<conio.h> //
#include<time.h> //permite utilizar funçoes como rand() e srand()
#include<math.h> //permite a utilizaçoes de funçoes matematicas pre-definidas 
int aposta[5];
int numeroAposta[5];
int i, j, x=0, count, media;
int valor;
int digito[8];
int soma[8];
char op;
int vet[5];//**vetor para armazenar a sequencias de numeros
int aux[5];
int contar;
void titulo(){
 printf("\n\n");
 printf("\t|========================================================================|\n");
 printf("\t| UNIVERSIDADE DE CABO VERDE |\n");
 printf("\t| Departamento de Ciencias e Tecnologias |\n");
 printf("\t|------------------------------------------------------------------------|");
 printf("\n\t| Primeiro Trabalho Pratico de Introducao a Programacao - Mini-Projeto |\n");
 printf("\t|========================================================================|");
}
//****função da pergunta de apitidao 1
int pa01(int x){
 x=0;
 while(x<=0){
 system("cls");//****limpa a tela
 titulo();//***imprime titulo
 printf("\n\n\t Degite a sequencia de quantos numeros queres inserir: ");
 scanf("%d",&x);
 }
 system("cls");//****limpa a tela
 titulo();//***imprime titulo
//****bloco de codigo para itroduzir numero na sequencia
 
 for(i=0; i<x; i++){
 printf("\n\n\t Introduza o numero na sequencia: ");
 scanf("%d",&vet[i]);
 }
//***********************************************************
//****bloco de codigo que retorna a media do numero positivo
 system("cls");//****limpa a tela
 titulo();//***imprime titulo
 int soma = 0, cont=0;
 
 
 for(i=0; i<x; i++){
 if(vet[i]>0){
 soma = soma + vet[i];//**calcula a soma de todos o numeros positivos
 cont++;//conta a quantidade de numeros positivos
 }
 }
 
 
printf("\n\nSequencia:\n");
 if(cont>0){// verifica se foi introduzido numeros positivos
 media = soma/cont;
 
 // return 1;
 	for(i=0; i<x; i++){
		printf("\t%d", vet[i]);
				}
		printf("\n");
 	printf("\tMedia: %d\n", media);
 
 
 }
 else {
 	
 //	return 0;
 	for(i=0; i<x;i++){
		printf("\t%d",vet[i]);
					
				}
				
				printf("\nNão existem valores que verifiquem as propriedades\n");
 
 }
//*****************************************************************
 printf("\n\n\n");
 system("pause");
}
//Pergunta 02
int preco_certo (){
	system("cls");
 titulo();
int n_aposta, i, j, certo, auxiliar, posicao, sub;
srand(time(NULL));
certo = 10 + rand() % 19;
printf("\nIntruduza o numero de Apostas\n");
scanf("%d", &n_aposta);
	printf("\t\t\nApostas:\n");
 for(i=0; i<n_aposta;i++){
	printf("\tApostador %d:\t" ,i+1);
	scanf("%d",&aposta[i]);
	
	numeroAposta[i] = i+1;
	
	if(aposta[i-1]==aposta[i]){
		printf("\n\tEssa aposta ja foi feita!\n\t\tTente um outro valor\n");
		i--;
	}
}
 for(i=0; i< n_aposta;i++){
 	
 if(aposta[i]<certo){
	sub = certo - aposta[i];
	}else{
		contar++;
	}
	if(sub >0 ){
	aux[i] = sub;
	}
}
 for(i=0; i<n_aposta; i++){
 	
 	posicao = i;
 	
 	for(j=i+1; j<n_aposta; j++){
 		
 		if(aux[j]<aux[posicao]){
 			posicao = j;
 		}
 	}
 	
 	auxiliar = aux[i];
 	aux[i] = aux[posicao];
 	aux[posicao] = auxiliar;
 	
 
 	auxiliar = numeroAposta[i];
 	numeroAposta[i] = numeroAposta[posicao];
 	numeroAposta[posicao] = auxiliar;
 
 }
if(contar<n_aposta){
	printf("\nO vencedor foi o apostador %d", numeroAposta[0]);
		printf("\nO Preco certo: %d", certo);
}else{
		printf("\nResultado -1");
}
	
	
	printf("\n\n\n");
 system("pause");
}
int simularResto(int resto, int numero)
{
 while(numero>=resto)
 numero-=resto;
 return numero;
}
int calcular_controlo(int nc) {
	system("cls"); //stdlib, limpar ecra
 titulo();
 int contaDigitos = 0, i=1, mul = 9, total, controle, num;
 num = valor;
 if (valor == 0) {
 contaDigitos = 1;
 }
 else
	{
 while (valor != 0)
 {
 contaDigitos = contaDigitos + 1; 
			
			 digito[i] = simularResto(10,valor);
 valor = valor / 10;
 i++;
 
 }
	}
	
	if(contaDigitos != 8){
		printf("\nO NIF tem de conter 8 numeros!\nIntruduza o Seu NIF:\n");
 scanf("%d", &valor);
		calcular_controlo(valor);
	}
 else{
 
 for(i=1; i<=8; i++){
 
 	soma[i] = digito[i] * mul;
 	total += soma[i];
 	mul--;
 	
 }
 controle = total%11;
 if(controle==0 || controle==1){
 	printf("\nO digito de controlo do numero %d e %d\n",num, valor);
 }else{
 		printf("\nO digito de controlo do numero %d e %d\n",num, 11-controle);
 }
		
		
}
 
 }
void programadores(){
	
	printf("\n\n");
 printf("\t|========================================================================|\n");
 printf("\t| Programadores: |\n");
 printf("\t| |\n");
 printf("\t| Kléber Monteiro 			 |\n");
 printf("\t| Fábio MOnteiro |\n");
 printf("\t| Engenharia Quinica e Biologica |\n");
 printf("\t| Primeiro Ano |\n");
 printf("\t|========================================================================|\n");
	
}
void menu(){
 while(1){
 system("cls");		//limpa a tela
 titulo();		//imprime titulo
 printf("\n\n\n\t << MENU PRINCIPAL >>");
 printf("\n\t----------------------------------------");
 printf("\n\t 1 - SECCAO I: Pergunta de Apetidao 1");
 printf("\n\t 2 - SECCAO II: Pergunta de Apetidao 2");
 printf("\n\t 3 - SECCAO II: Pergunta de Apetidao 3");
 printf("\n\n\t A - Programador");
 printf("\n\n\t S - Sair");
 printf("\n\t----------------------------------------");
 printf("\n\n\t Escolhe opcao: ");
 op = getche(); //** getche() LÊ O CARATERE NO INSTANTE EM QUE É DEGITADO, SEM ESPERAR [ENTER] **//
 //** E DEVOLVE O CARATERE LIDO PARA A FUNÇÃO QUE O CHAMOU **//
 switch(op){
 case '1': {
 	 system("cls");
 	int num;
 	pa01(num); //chamada de funçao que representa a pergunta de apitidao 1
			
 break;
 }
 
 case '2':{
		system("cls");
 	
 	preco_certo (); //chamada de funçao pergunta de apitidao 2
 	
 	break;
 }
 
 case '3':{
 	
 	system("cls");
 		 titulo();
 
 printf("\nIntruduza o Seu NIF:\n");
 		 scanf("%d", &valor);
 		 calcular_controlo(valor);
 
 
 system("pause");
 	
 	break;
 }
 
 case 'a':{
 	
 	programadores();
 	system("pause");
 	
 	break;
 }
 
 case 's':{
 	exit(0);
				 	break;
 }
}
 }
}
main(){
	
menu();//chamda da funçao que representa o menu principal
	
}
Mini_projecto feito por Cleber_F�bio EQB/MP1_KleberMonteiro_F�bioMonteiro_EQB1.exe
Mini_projecto feito por Cleber_F�bio EQB/Relat�rio de_mini-projecto.docx
DEPARTAMENTO DE CIÊNCIAS E TECNOLOGIA
Relatório do miniprojecto de IP
 
CURSO: Engenharia Química e Biológica 
UNIDADE CURRICULAR: Introdução à Programação
ANOLECTIVO:2015/16 SEMESTRE: 1º
 
 
 DOCENTES: Isidoro Gomes e Elcelina Silva
 DISCENTES: Cléber Monteiro e Fábio Delgado
	
Índice
Introdução----------------------------------------------------------------------------------------pag.3
Desenvolvimento-------------------------------------------------------------------------------pag.4
Relatos---------------------------------------------------------------------------------------------pag.5
Conclusão-----------------------------------------------------------------------------------------pag.6
	
Introdução
Linguagens de alto nível, tais como C, C++, Java e PHP, possuem estruturas e palavras reservadas que são mais próximas da linguagem humana, facilitando a escrita e a leitura de programas. A linguagem C é uma linguagem de programação compilada, de propósito geral, estruturada e imperativa, criada em 1972, por Dennis Ritchie, no AT&T Labs, para desenvolver o sistema operacional Unix, base para o posterior Linux. Vale salientar que C ainda é uma das linguagens de programação mais populares, e tem influenciado muitas outras linguagens de programação, inclusive C++ (que originalmente começou como uma extensão para C), e Java (que possui uma sintaxe bastante semelhante a C).
Atenção: embora C e C++ sejam semelhantes em alguns aspectos, elas são linguagens diferentes. A linguagem C++ tem como principal diferencial o fato de ser orientada a objectos.
Flexível e poderosa, a linguagem C tem sido utilizada na criação de alguns dos mais importantes produtos de software dos últimos anos. Porém, a linguagem encontra seus limites quando o tamanho de um projecto ultrapassa um tamanho de programa entre 25.000 (vinte e cinco mil) e 100.000 (cem mil) linhas, tornando-se problemático o gerenciamento, tendo em vista que é difícil compreendê-lo como um todo.
Desenvolvimento
Para desenvolver um programa, na linguagem C, bastaria apenas um editor de texto e um compilador da linguagem C. Entretanto, para auxiliar o programador, normalmente faz-se uso de ferramentas do tipo IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado), que reúne funcionalidades de apoio ao desenvolvimento de software com o objectivo de agilizar este processo.
Funcionamento: Utilizamos os valores informados pelo usuário, através dos dispositivos de entrada (normalmente o teclado), serão atribuídos a variável utilizada na função scanf e os valores informados na função escreva serão exibidos para o usuário, através dos dispositivos de saída (normalmente o monitor) printf.
Códigos especiais:
\n produz uma linha em branco no meio de saída.
\t produz uma tabulação horizontal no meio de saída.
Parâmetros utilizados: Void, Int, If , Else, etc.
Funções utilizadas:
#include<stdio.h> //permite utilizar funçoes tais como printf e scanf
#include<stdlib.h> //permite utilizar funçoes do sistema tais como system("cls") e system("pause")
#include<string.h> //permite utilizar funçoes que trabalham com strings tais como getche()
#include<conio.h> //
#include<time.h> //permite utilizar funçoes como rand() e srand()
#include<math.h> //permite a utilizaçoes de funçoes matematicas pre-definidas
Relatos
Antes do programa ser implementado em C, as ideias foram passadas para o papel, e alguns desejos da especificação do trabalho foram mal interpretados, isso fez com o que o trabalho corresse de forma desacelerada. 
Porém, depois de entender o que as opções do Menu exigiam, e transcrever para àquele papel a verdadeira versão do pedido, foi mais fácil traduzir a nossa linguagem para linguagem C.
Entretanto pequenas falhas, como digitar return ao invés de retorn ,’ %&’ em vez de ‘%d’, declarar o tipo da função e quando for alocar memória escrever com tipo diferente, esquecer uns ‘ ; ‘ , e ao fazer alterações no código, do tipo tirar um trecho do código do case para criar uma rotina externa, algumas chaves sobravam e partes do código se repetiam; trouxeram problemas na parte de compilação.
Outro obstáculo encontrado foi quando alterava-se um código que compilava, adicionando ou trocando algumas coisas, e depois não compilava novamente. Isso nos fez perder alguns antigos começos de código certo, até descobrirmos que algumas vezes dá para retirar as novas alterações e retomar ao anterior.
Algumas, ou até muitas falhas deverão ter neste código, mas é garantido o esforço de cada um dos elementos em busca de fazer um trabalho satisfatório. 
Conclusão
De forma geral, foi facilmente perceptível a importância da disciplina de Programação, actuando em qualquer área.
 Esse projecto foi o impulso para outros. E graças a este, com o uso frenético dos comandos, das rotinas, dos parâmetros ficou mais claro as funcionalidades de cada um. 
Foi importante para sentirmos o poder do trabalho em grupo, pois cada um fez a sua parte, respeitando os limites do outro.
Observou-se que trabalhos como esse, exige tempo e dedicação, e uma boa base prescrita durante o semestre.
E por fim, conclui-se que os erros cometidos podem até compilar, mas pode dar uma falha na execução e tudo pode parar. Então, é necessário ter foco, e não desistir no primeiro obstáculo, pois virão outras condições e mesmo que não retorne, o procedimento será executado da melhor forma. 
.

Teste o Premium para desbloquear

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

Continue navegando