Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA ELÉTRICA DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO FUNDAMENTOS DA ENGENHARIA RELATÓRIO DA ATIVIDADE PRÁTICA DE LINGUAGEM DE PROGRAMAÇÃO ALUNO: XXXXXXXXXXXXXXXXXXXXXX PROFESSOR: VINICIUS POZZOBON BORIN CURITIBA - PR 2018 SUMÁRIO RESUMO ................................................................................................................................................................ I 1 INTRODUCAO ............................................................................................................................................ 1 1.1 OBJETIVOS ............................................................................................................................................. 1 2 METODOLOGIA ........................................................................................................................................ 1 3 RESULTADOS E DISCUSSÃO ................................................................................................................. 1 3.1 UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++, O ALUNO DEVERÁ ESCREVER UM PROGRAMA QUE RECEBA UMA MATRIZ 3X3 DE NÚMEROS INTEIROS E IMPRIMA, NA TELA DO CONSOLE, TANTO A MATRIZ DIGITADA QUANTO A DIAGONAL PRINCIPAL DA MESMA. ...................................................................................... 2 3.2 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE PREENCHE UM VETOR DE INTEIROS COM 20 POSIÇÕES DE NÚMEROS MAIORES OU IGUAIS A 10 E MENORES QUE 100, E IMPRIMA O MAIOR NÚMERO ARMAZENADO NESTE VETOR. OBSERVE QUE, SEMPRE QUE O USUÁRIO DIGITAR UM NÚMERO FORA DO INTERVALO PERMITIDO O PROGRAMA DEVERÁ SOLICITAR OUTRO NÚMERO ATÉ QUE O VETOR ESTEJA PREENCHIDO. OBSERVE TAMBÉM QUE O SEU PROGRAMA DEVERÁ IMPRIMIR, ALÉM DO MAIOR NÚMERO ARMAZENADO, O VETOR CONTENDO OS NÚMEROS DIGITADOS. ........................................................................... 4 3.3 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE ARMAZENE EM UM VETOR DE ATÉ 5 POSIÇÕES AS INFORMAÇÕES DE NOME, IDADE E SEXO. SABENDO QUE NOME É UMA STRING DE ATÉ 50 CARACTERES, IDADE É UM INTEIRO E SEXO É UM CARACTERE E QUE ESTES DADOS DEVEM SER ARMAZENADOS EM UMA STRUCT. .............. 7 3.4 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE RECEBE O NOME, COM ATÉ 50 CARACTERES DE UM ALUNO E SUA NOTA E GRAVE OS DADOS RELATIVOS A ATÉ 50 ALUNOS EM UM ARQUIVO NO SEU DISCO. OBSERVE QUE A NOTA DEVERÁ ESTAR ENTRE ZERO E DEZ E NÚMEROS REAIS SÃO PERMITIDOS. .................................... 9 3.5 UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ O ALUNO DEVERÁ ESCREVER UM PROGRAMA QUE RECEBA UMA MATRIZ 3X3 E IMPRIMA TANTO A MATRIZ DIGITADA QUANTO A SUA INVERSA EM UMA JANELA DE CONSOLE. .................................................................................. 11 3.6 UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ FAÇA UM PROGRAMA QUE RECEBA DUAS MATRIZES 3X3 E IMPRIMA, AS DUAS MATRIZES DIGITADAS E A DIAGONAL PRINCIPAL DA MATRIZ RESULTANTE DO PRODUTO ENTRE AS DUAS MATRIZES DIGITADAS. 14 3.7 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE RECEBE UMA STRING DE ATÉ 20 CARACTERES E IMPRIME, A STRING DIGITADA, UM VETOR CONTENDO AS CINCO PRIMEIRAS VOGAIS DA STRING DIGITADA E O VETOR CONTENDO AS CINCO ULTIMAS CONSOANTES DA STRING DIGITADA. OBSERVE QUE PARA RESOLVER ESTE PROBLEMA, O SEU PROGRAMA DEVERÁ TER UMA FUNÇÃO PARA IDENTIFICAR SE UM CARACTERE É UMA VOGAL OU NÃO. ...................................................................................................... 17 3.8 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE RECEBA UMA STRING DE ATÉ 20 CARACTERES CONTE OS NÚMEROS DE VOGAIS EXISTENTES NESTA STRING E IMPRIMA O NÚMERO TOTAL DE CARACTERES DA STRING, O NÚMERO DE VOGAIS NESTA STRING E O PERCENTUAL DE VOGAIS EM RELAÇÃO AO COMPRIMENTO DA STRING. ........................................................................................................................................................... 20 3.9 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE CONTENHA UMA FUNÇÃO QUE RETORNE O SEGUINTE: A FUNÇÃO RECEBE TRÊS VALORES FLOAT E RETORNA O QUADRADO DO 1º MAIS A SOMA DOS OUTROS DOIS. OBSERVE QUE ESTA FUNÇÃO DEVERÁ RETORNAR UM TIPO FLOAT. O SEU PROGRAMA DEVERÁ TER ESTA FUNÇÃO, PERMITIR A DIGITAÇÃO DOS NÚMEROS E IMPRIMIR TANTO OS NÚMEROS DIGITADOS QUANTO O RESULTADO DA FUNÇÃO. .............................................................................. 23 3.10 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PROGRAMA QUE RECEBE UMA STRING DE ATÉ 50 CARACTERES, UM CARACTERE ESPECÍFICO E DEVOLVE O NÚMERO DE OCORRÊNCIAS DESTE CARACTERE NESTA STRING DIGITADA. NÃO ESQUEÇA QUE O PROGRAMA DEVERÁ IMPRIMIR A STRING, O CARACTERE E O NÚMERO DE OCORRÊNCIAS. ............................................................................................................................................. 25 4 CONCLUSÕES .......................................................................................................................................... 27 5 AGRADECIMENTOS .............................................................................................................................. 28 6 REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................................... 29 i RESUMO Este documento apresenta resolução da atividade prática da disciplina de linguagem de programação. Palavras-chave: Linguagem C/C++, Programação, Estrutura. 1 1 INTRODUCAO Apresentamos as resoluções dos problemas solicitados, demonstrando o aprendizado da disciplina da linguagem de programação. 1.1 OBJETIVOS O objetivo destas resoluções de problemas apresentados é demonstrar o aprendizado e o domínio da teoria apresentada no decorrer do curso. 2 METODOLOGIA As resoluções dos problemas seguindo as regras da linguagem de programação C/C++. 3 RESULTADOS E DISCUSSÃO Abaixo as resoluções das questões propostas, e os respectivos resultados. 2 3.1 UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++, O ALUNO DE- VERÁ ESCREVER UM PROGRAMA QUE RECEBA UMA MATRIZ 3X3 DE NÚMEROS INTEIROS E IMPRIMA, NA TELA DO CONSOLE, TANTO A MA- TRIZ DIGITADA QUANTO A DIAGONAL PRINCIPAL DA MESMA. Solução: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <conio.h> int main() { int i=0,j=0,matriz[3][3]={0}; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf(“Digite o elemento %d da linha %d: “, i,j); // scanf(“%d”, &matriz[i][j]); // no Dev scanf_s(“%d”, &matriz[i][j]); // no Viasual Studio 2017 } } printf(“\n\nA matriz digitada foi: \n\n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf(“%d\t”,matriz[i][j]); } printf(“\n”); } 3 printf(“\n\n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==j) printf(“%d\t”,matriz[i][j]); else printf(“\t”); } printf(“\n\n”); } system(“PAUSE”); return 0; } Teste: Figura 1 - Tela de teste do programa. 4 3.2 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE PREENCHE UM VETOR DE INTEIROS COM 20 POSIÇÕES DE NÚMEROS MAIORES OU IGUAIS A 10 E MENORES QUE 100, E IMPRIMA O MAIOR NÚMERO ARMAZENADONESTE VETOR. OBSERVE QUE, SEMPRE QUE O USUÁRIO DIGITAR UM NÚMERO FORA DO INTERVALO PERMI- TIDO O PROGRAMA DEVERÁ SOLICITAR OUTRO NÚMERO ATÉ QUE O VETOR ESTEJA PREENCHIDO. OBSERVE TAMBÉM QUE O SEU PRO- GRAMA DEVERÁ IMPRIMIR, ALÉM DO MAIOR NÚMERO ARMAZENADO, O VETOR CONTENDO OS NÚMEROS DIGITADOS. Solução: #include <stdio.h> #include <stdlib.h> bool elValido(int); int main() { int i=0,num=0,cont=0,maior=0,vetor[20]={0}; system(“cls”); while(cont<20) { printf(“\nDigite um valor maior ou igual a 10 e menor que 100: “); scanf_s(“%d”,&num); // testado rodando no Visual Studio 2017 //scanf(“%d”,&num); // testado rodando no Dev if(elValido(num)) { vetor[cont]=num; cont++; printf(“\nO valor digitado foi armazenado!\n”); printf(“\nArmazenados %d valores!\n”, cont); system(“pause”); 5 system(“cls”); } else { printf(“\nO valor digitado foi ignorado!\n”); printf(“\nArmazenados %d valores!\n”,cont); system(“pause”); system(“cls”); } } printf(“Os valores digitados: “); for(i=0;i<20;i++) { if(vetor[i]>maior) { maior=vetor[i]; } printf(“%d”,vetor[i]); } printf(“\nO maior valor: %d\n”,maior); system(“pause”); return 0; } bool elValido(int num) { if(num>=10 && num<100) { return true; } else { return false; } } 6 Teste: Figura 2 - Tela do programa. 7 3.3 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE ARMAZENE EM UM VETOR DE ATÉ 5 POSIÇÕES AS INFOR- MAÇÕES DE NOME, IDADE E SEXO. SABENDO QUE NOME É UMA STRING DE ATÉ 50 CARACTERES, IDADE É UM INTEIRO E SEXO É UM CARAC- TERE E QUE ESTES DADOS DEVEM SER ARMAZENADOS EM UMA STRUCT. Solução: #include <stdio.h> #include <stdlib.h> struct informacoes //dados { char nome[51]; int idade; char sexo; }; struct informacoes alunos[5]; int main() { int i = 0; for (i = 0; i < 5; i++) { printf(“\nDigite os dados do item %d: \n”, i); printf(“Digite o nome: “); gets_s(alunos[i].nome); printf(“Digite a idade: “); scanf_s(" %d", &alunos[i].idade, sizeof(alunos[i].idade)); printf(“Digite o sexo: “); scanf_s(“ %c”, &alunos[i].sexo); getchar(); } 8 system(“cls”); printf(“Dados digitados:\n”); for (i = 0; i < 5; i++) { printf (“Para o aluno %d: \n”,i); printf(“Nome: %s\n”,alunos[i].nome); printf(“Idade: %d\n”,alunos[i].idade); printf(“Sexo: %c\n\n”,alunos[i].sexo); } system(“pause”); return 0; } Teste: Figura 3 - Tela do programa em teste. 9 3.4 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE RECEBE O NOME, COM ATÉ 50 CARACTERES DE UM ALUNO E SUA NOTA E GRAVE OS DADOS RELATIVOS A ATÉ 50 ALUNOS EM UM ARQUIVO NO SEU DISCO. OBSERVE QUE A NOTA DEVERÁ ESTAR ENTRE ZERO E DEZ E NÚMEROS REAIS SÃO PERMITIDOS. Solução: #include <stdio.h> #include <stdlib.h> struct turma { char nome[51]; float nota; }; int main() { int i = 0, num = 50; struct turma dados[50]; FILE *arquivo; errno_t err; for (i = 0; i < num; i++) { printf("\nDigite o nome do aluno de indice %d: ", i); gets_s(dados[i].nome); printf("\nDigite a nota do aluno de indice %d: ", i); scanf_s(" %f", &dados[i].nota); getchar(); system("cls"); } err = fopen_s(&arquivo, "dados.txt", "w+"); if (err == 0) { printf("\nO arquivo'dados.txt' foi aberto\n"); for (i = 0; i < num; i++) { fprintf(arquivo, "%s;%.2f\n", dados[i].nome, dados[i].nota); } } else { printf("\nProblemas ao abrir o arquivo 'dados.txt'\n"); } if (arquivo) { err = fclose(arquivo); if (err == 0) { printf("\nO arquivo 'dados.txt' foi fechado\n"); 10 } else { printf("\nProblemas ao fechar o arquivo 'dados.txt'\n"); } } printf("\n"); system("pause"); return 0; } Teste: Figura 4 - Tela do programa em teste. 11 3.5 UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ O ALUNO DE- VERÁ ESCREVER UM PROGRAMA QUE RECEBA UMA MATRIZ 3X3 E IM- PRIMA TANTO A MATRIZ DIGITADA QUANTO A SUA INVERSA EM UMA JANELA DE CONSOLE. Solução: #include <stdio.h> #include <stdlib.h> int main() { int i, j, k, l, m, n; float det; int m1[3][3], m2[3][3], aux[2][2]; printf(“Informa a matriz 3x3:\n”); for (i=0;i<3;i++) { for(j=0;j<3;j++) { printf(“linha %d-coluna%d: “,i+1,j+1); scanf_s(“%d”, &m1[i][j]); } } printf(“\nMatriz informada: \n”); for (i=0;i<3;i++) { for (j=0;j<3;j++) { printf(“%d”,m1[i][j]); } printf(“\n”); } //calcula a matriz inversa usando matriz adjunta 12 // Passo 1: Cálculo do determinante por Regra de Sarrus det=(m1[0][0]*m1[1][1]*m1[2][2]+m1[0][1]*m1[1][2]*m1[2][0]+m1[0][2]*m1[1][0] *m1[2][1]); det=det- (m1[0][2]*m1[1][1]*m1[2][0]+m1[0][0]*m1[1][2]+m1[2][1]+m1[0][1]*m1[1][0]*m1[2][2]); if (det==0) { printf(“\nO determinante desta matriz e zero, então a matriz não pode ser inver- tida\n”); } else { // Passo 2: matriz de cofatores for (i=0;i<3;i++) { for (j=0;j<3;j++) { m=0; for (k=0;k<3;k++) { n=0; for (l=0;l<3;l++) { if ((k!=i)&&(l!=j)) { aux[m][n]=m1[k][l]; n++; } } if (k!=i) m++; } m2[i][j]=((aux[0][0]*aux[1][1])-(aux[1][0]*aux[0][1])); if ((i+1+j+1)%2 != 0) 13 m2[i][j] = -1*m2[i][j]; } } printf(“\nMatriz Inversa:\n”); for (i=0;i<3;i++) { for (j=0;j<3;j++) { printf(“%.2f “,(1/det)*m2[i][j]); } printf(“\n”); } } system(“pause”); return 0; } Teste: Figura 5 - Tela do teste do programa. 14 3.6 UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ FAÇA UM PRO- GRAMA QUE RECEBA DUAS MATRIZES 3X3 E IMPRIMA, AS DUAS MATRI- ZES DIGITADAS E A DIAGONAL PRINCIPAL DA MATRIZ RESULTANTE DO PRODUTO ENTRE AS DUAS MATRIZES DIGITADAS. Solução: #include <stdio.h> #include <stdlib.h> int main() { int a[3][3] = { 0 }, b[3][3] = { 0 }, mult[3][3] = { 0 }; int i, j, k; // limpa tela system("cls"); // digitação primeira matriz printf("Digite os elementos da primeira matriz\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("\nDigite o elemento a[%d][%d]: ", i, j); scanf_s("%d", &a[i][j]); } } // digitação da segunda matriz printf("Digite os elementos da segunda matriz: \n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("\nDigite o elemento b[%d][%d]: ", i, j); scanf_s("%d", &b[i][j]); } } // Impressão da primeira matriz printf("\n\nA primeira matriz digitada foi: \n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", a[i][j]); printf("\n"); } // Impressão da segunda matriz printf("\n\nA segunda matriz digitada foi: \n"); 15 for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", b[i][j]); printf("\n"); } // Calculo do produtoentre as matrizes for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { mult[i][j] = 0; for (k = 0; k < 3; k++) mult[i][j] = mult[i][j] + a[i][k] * b[k][j]; } } printf("\n\nO produto entre as duas matrizes: \n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) printf("%d\t", mult[i][j]); printf("\n"); } // Imprimir a diagonal do produto em formato de linha printf("\nA diagonal do produto\n"); for (i=0; i<3; i++) { for (j = 0; j < 3; j++) { if (i == j) printf("%d\t", mult[i][j]); } } printf("\n"); printf("\n\n"); // Imprimir a diagonal em formato de matriz for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { if (i == j) printf("%d\t", mult[i][j]); else printf("\t"); } printf("\n"); } printf("\n"); system("pause"); return 0; 16 } Teste: Figura 6 - Tela do programa sendo testada. 17 3.7 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE RECEBE UMA STRING DE ATÉ 20 CARACTERES E IMPRIME, A STRING DIGITADA, UM VETOR CONTENDO AS CINCO PRIMEIRAS VO- GAIS DA STRING DIGITADA E O VETOR CONTENDO AS CINCO ULTIMAS CONSOANTES DA STRING DIGITADA. OBSERVE QUE PARA RESOLVER ESTE PROBLEMA, O SEU PROGRAMA DEVERÁ TER UMA FUNÇÃO PARA IDENTIFICAR SE UM CARACTERE É UMA VOGAL OU NÃO. Solução: #include <stdio.h> #include <stdlib.h> bool elVogal(char); int main() { char vogal[5], consoante[5], frase[21] = {‘ ‘}; int i=0, cont =0; printf(“Digite a frase desejada: ”); gets_s(frase); // aqui separa as vogais for (i=0; i<20; i++) { if (elVogal(frase[i]) && cont<=4) { vogal[cont] = frase[i]; cont++; } } cont = 0; for (i=20; i>=0; i--) { 18 if ((!elVogal(frase[i]) && frase[i] != ‘\O’ && frase[i] != ‘\n’ && frase[i] != ‘ ‘) && cont <= 4) { consoante[cont] = frase[i]; cont++; } } printf(“A frase digitada: %s\n”, frase); printf(“As vogais: “); for (size_t i = 0; i < 5; i++) { printf(“%c ”, vogal[i]); } printf(“\nAs consoantes: “); for (size_t i = 0; i < 5; i++) { printf(“%c ”, consoante[i]); } printf(“\n”); system(“pause”); return 0; } // fim do main bool elVogal(char vogal) { // detecção de vogais considerando maiúsculas e minúsculas // detecção de vogais sem considerar maiúsculas e minisculas if (vogal == ‘a’ || vogal == ‘A’ || vogal == ‘e’ || vogal == ‘E’ || vogal == ‘i’ || vogal == ‘I’ || vogal == ‘o’ || vogal == ‘O’ || vogal == ‘u’ || vogal == ‘U’) { return true; } else 19 { return false; } } Teste: Figura 7 - Tela do teste do programa. 20 3.8 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE RECEBA UMA STRING DE ATÉ 20 CARACTERES CONTE OS NÚMEROS DE VOGAIS EXISTENTES NESTA STRING E IMPRIMA O NÚ- MERO TOTAL DE CARACTERES DA STRING, O NÚMERO DE VOGAIS NESTA STRING E O PERCENTUAL DE VOGAIS EM RELAÇÃO AO COMPRI- MENTO DA STRING. Solução: # include <stdio.h> # include <stdlib.h> # include <string.h> bool elVogal(char); double percentual(int, int); int main() { char frase[21]; int i=0, vogais=0, comprimento=0; printf(“Digite a frase desejada:”); gets_s(frase); comprimento = strlen(frase); for (i=0; i<comprimento; i++) { if (elVogal(frase[i])) { vogais++; } } 21 printf(“A frase digitada: %s\n”, frase); printf(“A quantidade de vogais: %d\n, vogais); printf(“O percentual de vogais na frase: %.2f%\n”, percentual(vogais, comprimento)); system(“pause”); return 0; } bool elVogal(char letra) { if (letra == ‘a’ || letra ==’A’ || letra == ‘e’ || letra == ‘E’ || letra ==‘i’ || letra == ‘I’ || letra == ‘o’ || letra == ‘O’ || letra == ‘u’ || letra == ‘U’) { return true; } else { return false; } } int cont, total; double percentual(int cont, int total) { return (double)cont*100/(double)total; } Testando: 22 Figura 8 – Digitando a frase e o seu resultado processado. 23 3.9 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE CONTENHA UMA FUNÇÃO QUE RETORNE O SEGUINTE: A FUNÇÃO RECEBE TRÊS VALORES FLOAT E RETORNA O QUADRADO DO 1º MAIS A SOMA DOS OUTROS DOIS. OBSERVE QUE ESTA FUNÇÃO DE- VERÁ RETORNAR UM TIPO FLOAT. O SEU PROGRAMA DEVERÁ TER ESTA FUNÇÃO, PERMITIR A DIGITAÇÃO DOS NÚMEROS E IMPRIMIR TANTO OS NÚMEROS DIGITADOS QUANTO O RESULTADO DA FUNÇÃO. Solução: # include <stdio.h> # include <stdlib.h> #include <math.h> float operação(float, float, float); int main() { float val1 = 0.0, val2 = 0.0, val3 = 0.0; printf(“Digite o primeiro valor: “); scanf_s(“%f”, &val1); printf(“Digite o segundo valor: “); scanf_s(“%f”, &val2); printf(“Digite o terceiro valor: “); scanf_s(“%f”, &val3); printf(“O Resultado: %.3f”, operação(val1, val2, val3)); printf(“\n”); system(“pause”); return 0; } float operação(float val1, float val2, float val3) { // O quadro do primeiro + val2 + val3 return pow(val1,2) + val2 + val3; } 24 Teste: Figura 9 - Digitação de três valores float. Figura 10 - Resultado do processamento. 25 3.10 USANDO A LINGUAGEM DE PROGRAMAÇÃO C/C++ ESCREVA UM PRO- GRAMA QUE RECEBE UMA STRING DE ATÉ 50 CARACTERES, UM CA- RACTERE ESPECÍFICO E DEVOLVE O NÚMERO DE OCORRÊNCIAS DESTE CARACTERE NESTA STRING DIGITADA. NÃO ESQUEÇA QUE O PROGRAMA DEVERÁ IMPRIMIR A STRING, O CARACTERE E O NÚMERO DE OCORRÊNCIAS. Solução: #include <stdio.h> #include <stdlib.h> int main() { char frase[51] = {‘ ‘}; char caractere = ‘ ‘; int tamanho = 0, i = 0, cont = 0; printf(“Digite a frase desejada com ate 50 caracteres: “); gets_s(frase); printf(“\nDigite o caracter desejado: “); scanf_s(“%c”, &caractere); tamanho = sizeof(frase); for (i=0; i<tamanho; i++) { if (frase[i] == caractere) { cont++; } 26 Figura 11 - Testando o programa. } printf(“A frase: %s\n”, frase); printf(“O caractere: %c\n”, caractere); printf(“O numero de ocorrencia: %d\n”, cont); system (“pause”); return 0; } Teste: 27 4 CONCLUSÕES Os programas foram desenvolvidos e testados baseados nas aulas e testadas no software recomendado pelo tutor do curso. Seguem os respectivos resultados dos testes, em anexo. O software instalado para testes dos programas foi o Visual Studio 2017. 28 5 AGRADECIMENTOS Gostaria de agradecer a minha família e colegas de serviço, pela compreensão nos de- senvolvimentos dos exercícios solicitados. 29 6 REFERÊNCIAS BIBLIOGRÁFICAS Utilizei os materiais das aulas do curso.
Compartilhar