Baixe o app para aproveitar ainda mais
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. .
Compartilhar