Baixe o app para aproveitar ainda mais
Prévia do material em texto
Entrega Programada 1 – B Descrição: Desenho Animado Escreva um programa que imprima na tela uma das figuras abaixo. Dicas: Lembre-se que você deverá usar \ para imprimir caracteres especiais. Use \n para ir para a próxima linha e \t para imprimir uma tab. Note que devemos evitar uso de acentos. #include <stdio.h> int main() { printf(" /%c/%c,%c,%c , \n",92,92,92,92); printf(" / ` %c'%c,\n",92,92); printf(" / '/|_\n"); printf(" / /\n"); printf(" / /\n"); printf(" / ;\n"); printf(" ;-%c%c-. __ ,\n",34,34); printf(" / )' `. '\n"); printf(" ( o | ) ;\n"); printf(" ),'%c%c%c%c o ; :%c\n",34,34,34,92,34); printf(" ;%c____ `.____/ ,-:\n",92); printf(" ; @ )\n"); printf(" / `;-'\n"); printf(" ,. `-.______________, |\n"); printf(" ,(`.|| %c__%c__%c__) |\n",92,92,92); printf(" ,`.`- %c '. |\n",92); printf(" `._ ) : )______,;%c_\n",92); printf(" %c %c_ _,--/ , `.\n",92,92); printf(" %c `--%c : / `.\n",92,92); printf(" %c %c ; | %c\n",92,92); printf(" `-.______ ;| | _,'\n"); printf(" %c/' `-.----' %c\n",92,92); printf(" / %c %c\n",92,92); return 0; } Laboratório 1 – A Descrição: Nome com Cabeçalho Escreva um programa que imprima na tela o nome da disciplina “Introdução a Programação” e o seu nome completo, cada um em uma linha diferente. Use uma linha de caracteres especiais para dividir as duas linhas escritas. #include <stdio.h> int main() { printf("|Introducao a Programacao"); printf("\n|========================"); printf("\n|Seu nome completo \n"); return 0; } Entrega Programada 2 - E Descrição: Conversões de Temperaturas Implemente o programa que leia um valor real referente a uma temperatura em graus Celsius e converta essa medida para as escalas Kelvin e Fahrenheit. Os resultados devem ser exibidos na forma de tabela. #include <stdio.h> int main() { float t,t1, f, k; printf("Digite a temperatura em °C:"); scanf("%f",&t); t1=t; f=(t1*9/5)+32; k=t1+273.15; printf("celsius \t Fahrenheit \t Kelvin\n"); printf("%f \t %f \t %f",t,f,k); return 0; } Laboratório 2 – B Descrição: Média das Notas Faça o algoritmo em fluxograma e o programa correspondente que leia quatro valores reais referentes a notas de um aluno e então calcule e exiba a média das notas do primeiro semestre, segundo semestre e média final, todas devem ser exibidas com duas casas decimais. #include <stdio.h> #include <math.h> int main() { float a,b,c,d,m1,m2,m3; printf("Inserir Nota da Prova 1:"); scanf("%f",&a); printf("Inserir Nota da Prova 2:"); scanf("%f",&b); printf("Inserir Nota da Prova 3:"); scanf("%f",&c); printf("Inserir Nota da Prova 4: "); scanf("%f",&d); m1=(a+b)/2; m2=(c+d)/2; m3=(a+b+c+d)/4; printf("Media do primeiro semestre foi: %.2f \n",m1); printf("Media do segundo semestre foi: %.2f \n",m2); printf("Media do final foi: %.2f",m3); return 0; } Entrega Programada 3 – D Descrição: IMC Faça um programa que leia a altura (float) em metros e o peso (float) em quilogramas de uma pessoa. O programa deverá calcular o IMC e informar ao usuário a categoria que a pessoa pertence. #include <stdio.h> int main() { float a, p,IMC; printf("Digite sua altura: "); scanf("%f",&a); printf("Digite seu peso:"); scanf("%f",&p); IMC=p/(a*a); if (IMC<17) { printf("Muito abaixo do peso"); } else if(IMC<18.49 & IMC>17) { printf("Abaixo do peso"); } else if(IMC>18.49 & IMC<24.99) { printf("Peso normal"); } else if(IMC>25 & IMC<29.99) { printf("Acima do peso"); } else if(IMC>30& IMC<34.99) { printf("Obesidade I"); } else if(IMC>35& IMC<39.99) { printf("Obesidade II (Severa)"); } else { printf("Obesidade III (Morbida"); } return 0; } Laboratório 3 – B Descrição: Passou ou Repetiu Crie um programa que leia dois números reais referentes as notas de duas provas, calcule a média do aluno e diga se o aluno passou (média >= 6.0) ou então se o aluno repetiu (média < 6.0). #include <stdio.h> int main() { float a, b , m; // declara as variaveis a, b e m em float printf("Digite a nota 1: "); //pede que o usario insira a nota scanf("%f",&a); //grava o que o usuário digitar na variavel a printf("Digite a nota 2: "); //pede que o usario insira a nota 2 scanf("%f",&b); //grava o que o usuário digitar na variavel b m=(a+b)/2; //calcula a media do aluno if(m>=6) //checa se a media foi maior que 6 { printf("Parabens, voce foi aprovado."); } else //caso contrario da variavel do if { printf("Sinto muito, voce reprovou."); } return 0; } Entrega Programada 4 – C Descrição: Calculadora Escreva um programa para implementar uma calculadora simples de números reais usando o comando switch-case. As seguintes operações: adição (+), subtração (-), multiplicação (*), divisão (/) e resto da divisão (%). O usuário deverá entrar com as informações na seguinte ordem: <operando 1> <operação> <operando2>. Para a operação, considere os caracteres: +, -, *, /, %. Caso o usuário informe que a operação é inválida, escreva uma mensagem de erro e encerre o programa. #include <stdio.h> #include <math.h> int main() { float a,c,z,y; char b; printf("Digite o primeiro numero: "); scanf("%f",&a); printf("Digite a operacao: "); scanf("%s",&b); printf("Digite o segundo numero: "); scanf("%f",&c); switch(b) { case '+': printf("O resultado e: %f",a+c); break; case '-': printf("O resultado e: %f",a-c); break; case '*': printf("O resultado e: %f",a*c); break; case '/' : printf("O resultado e: %f",a/c); break; case '%' : z=fmod(a,c); //y=z*c; printf("O resultado e: %.2f",z); break; default: printf("A operação e invalida."); } return 0; } Laboratório 4 – C Descrição: Número Secreto Faça um programa que leia um número inteiro de 1 até 10. Você (programador) deverá escolher um número secreto nessa faixa para que o usuário tente adivinhá-lo. Se o usuário digitar um número válido que não seja o escolhido pelo programador, o programa deverá dar dicas. Se o usuário informar um número fora do intervalo o programa deverá informar que o número informado é inválido. #include <stdio.h> int main () { int x, y; y=9; printf ("informe um numero de 1 a 10:"); scanf("%d",&x); switch(x){ case 1 : printf("\nnao e esse, e maior\n"); break; case 2: printf("\ne maior, tente de novo\n"); break; case 3 : printf("\nerrou, e maior\n"); break; case 4 : printf("\ncontinua sendo maior\n"); break; case 5 : printf("\nnao deu ainda,e maior\n"); break; case 6 : printf("\nesta chegando perto mas e maior\n"); break; case 7 : printf("\nquase hein? e maior\n"); break; case 8 : printf("\nsera que e esse? errouuuu, e maior\n");break; case 9 : printf("\nate que enfim, parabens\n"); break; case 10 : printf("\nai nao, e menor\n"); break; default: printf ("numero invalido"); } } EP05-D: Pesquisa Faça um programa que leia o sexo (char) M ou F, a idade (int) e o salário (float) de uma pessoa entrevistada. Após ler os dados de um entrevistado o programa deve perguntar ao usuário se ele deseja informar os dados de mais uma pessoa (‘s’ ou ‘n’). Ao final, depois de ler todos os dados dos entrevistados, o programa deverá exibir a média de idades de cada um dos sexos e a média de salários de cada um dos sexos. #include <stdio.h> #include <ctype.h> int main() { int idade=0; char sexo, pessoa; float salario=0, salarioMedia=0, salarioFedia=0, salarioFM=0, salarioFF=0, idadeFF=0, idadeFM=0, count=0, count1=0, idadeMF=0, idadeMM=0; do { printf("Informe o sexo(M/F): "); scanf(" %c", &sexo); sexo = toupper(sexo); printf("Digite a idade: "); scanf("%d", &idade); printf("Digite o salario: "); scanf("%f", &salario); if (sexo == 'M' && salarioFM != 0) { salarioFM = salario + salarioFM; count=count+1; idadeFM = idadeFM + idade; } if (sexo == 'M') { salarioFM = salario; count=count+1; idadeFM = idade; } if (sexo == 'F') { salarioFF = salario + salarioFF; count1=count1+1; idadeFF = idadeFF + idade; } if (sexo == 'F') { salarioFF = salario; count1=count1+1; idadeFF = idade; } printf("Deseja adicionar mais uma pessoa?(S/N) "); scanf(" %c", &pessoa); pessoa = toupper(pessoa); } while (pessoa == 'S'); idadeMF = idadeFF / count1; idadeMM = idadeFM / count; salarioFedia = salarioFF / count1; salarioMedia = salarioFM / count; if (count != 0) { printf("Media de Idade masculina = %.2f \n", idadeMM); printf("Media de salario masculina = %.2f \n", salarioMedia); } if (count1 != 0) { printf("Media de idade feminina = %.2f \n", idadeMF); printf("Media de salario feminino = %.2f \n", salarioFedia); } return 0; } LAB05-B: Temperatura média Faça um programa que leia: o código de um município (inteiro) e sua temperatura média (float). O programa deve processar os dados de um número indeterminado de municípios. O processamento termina quando o usuário digitar o código 0 para um município. Ao final, emitir o seguinte relatório: Nesse exercício deve-se usar while ou do...while. temperatura média dos municípios processados; número de municípios com temperatura média inferior a 10°C; número de municípios com temperatura média superior a 30°C. #include <stdio.h>; int main() { int municipio, count1, count2, count3; float temperatura,soma, media; printf("Digite o codigo do municipio: "); scanf("%d",&municipio); count1=0; count2=0; count3=0; while(municipio>0) { printf("Digite a temperatura da cidade: "); scanf("%f",&temperatura); if(temperatura>30) {count2=count2+1;} if(temperatura<10) {count3=count3+1;} soma=temperatura+soma; count1=count1+1; printf("Digite o codigo do municipio: "); scanf("%d",&municipio); } media=soma/count1; printf("A temperatura media eh: %f \n",media); printf("Numero de municipios com temperatura maior que 30 graus Celsius: %d \n",count2); printf("Numero de municipios com temperatura menor que 10 graus Celsius: %d",count3); return 0; } Entrega Programada 6 – E Descrição: Somatório do Intervalo Faça um programa que leia dois números inteiros N1 e N2, o programa deverá pedir novos números caso o usuário digite N1 >= N2 ou caso N1 for menor ou igual que zero. Quando forem entrados os números corretos, então faça a seguinte soma dos números Xn existentes no intervalo [N1, N2]. Este somatório deverá ser exibido com 4 casas decimais. #include <stdio.h> #include <ctype.h> int main(){ float n1,n2,soma,n3; int i; char cond; do{ printf("Vai continuar aparecendo opcao de colocar mais numeros enquanto n1>=n2 e n1<=0\n"); do{ printf("Digite um valor para n1: "); scanf("%f",&n1); printf("Digite um valor para n2: "); scanf("%f",&n2); } while (n1 >= n2 || n1<=0); soma = 0; n3=n1; for(i =0; n3<n2;i++) { soma = soma + (1/(n1+i)); n3=n1+i; } printf("Somatorio = %.4f\n", soma); printf("Somar mais um intervalo (s/n)? "); scanf("%s",&cond); cond = toupper(cond); }while (cond == 'S'); } Laboratório 6 – B Descrição: Média de Idades Faça um programa que leia as idades (número inteiro) de 10 pessoas, no final do programa, deve ser impresso a média de idades a maior idade e a menor idade. #include <stdio.h> int main(){ int idade; float media_idade,soma, maioridade, menoridade; int i; soma=0; for (i=0; i<10; i++) { printf("Informe uma idade: "); scanf("%d", &idade); soma=soma+idade; if (i==0) { maioridade=idade; menoridade=idade; } else if(idade>maioridade) { maioridade=idade; } else if(idade<menoridade) { menoridade=idade; } } media_idade=soma/10; printf("\nMedia das idades: %.2f anos",media_idade); printf("\nMaior idade: %.0f anos",maioridade); printf("\nMenor idade: %.0f anos \n",menoridade); return 0; } Entrega Programada 7 – B Descrição: Planilha Notas Faça um programa para ler e armazenar (em três vetores) o Número de Matricula (inteiro), a Nota1 (real) e a Nota2 (real) de cada aluno de uma turma de 5 alunos. Calcular a nota final de cada aluno (média das suas notas), a média da turma, o número de alunos com nota final inferior à média. #include <stdio.h> int main(){ int matricula[5], abaixodamedia=0; float nota1[5], nota2[5], media[5], mediaturma=0; for(int i = 0; i<5; i++){ printf("Digite o numero de matricula: "); scanf("%d",&matricula[i]); printf("Digite a nota do teste 1: "); scanf("%f",¬a1[i]); printf("Digite a nota do teste 2: "); scanf("%f",¬a2[i]); media[i] = (nota1[i] + nota2[i])/2; } printf("\nMatricula \t Nota 1 \t Nota 2 \t Media final"); for(int j = 0; j<5; j++){ printf("\n%04d %.2f %.2f %.2f", matricula[j],nota1[j],nota2[j], media[j]); } for(int k = 0; k<5; k++){ mediaturma = mediaturma + media[k]; } mediaturma = mediaturma/5; printf("\n\nMedia da turma: %.2f\n", mediaturma); for(int l = 0; l<5; l++){ if(media[l]<mediaturma){ abaixodamedia++; } } printf("\nAlunos com nota abaixo da media da turma: %d\n\n",abaixodamedia); return 0; } Laboratório 7 – A Descrição: Vetor Pela Média Faça um programa para ler via teclado 10 valores inteiros e armazenar em um arranjo unidimensional. O programa então deverá calcular a média dos valores inseridos e dividir todos os valores armazenados no vetor pela média. Por fim, todos os novos valores devem ser exibidos na tela. #include<stdio.h> int main() { float numeros[10], media=0; printf("Digite 10 numeros: "); for(int x=0; x<10; x++) { scanf("%f",&numeros[x]); } for(int x=0; x<10;x++) { media = media + numeros[x]; } media = media/10; printf("Media: %.3f\n", media); printf("Vetor dividido pela media =\n"); for(int x=0; x<10; x++) { numeros[x] = numeros[x]/media; printf("|%.3f|\n",numeros[x]); } } Entrega Programada 9 – D Descrição: Rotacionando Matrizes Seu programa deverá ler um número n (com 0 < n <= 5), e uma matriz A de ordem n. Ele então deverá ler uma série de comandos, dados por um único caractere (sem aspas): “L” – rotacionar a matriz para a esquerda (sentido anti-horário) “R” – rotacionar a matriz para a direita (sentido horário) “P” – imprimir a matriz “Q” – encerrar o programa Notem que cada movimento de rotação deve ser gravado na matriz original. O comando P é o único que não altera o conteúdo da matriz. #include <stdio.h> #include <string.h> #include <ctype.h> int main() { int i, j, n; char o; printf("Digite a ordem da matriz (Valor entre 1 e 5): "); scanf("%d",&n); while(n<=0 || n>5) { printf("Escolha um valor entre 1 e 5.\n"); printf("Digite a ordem da matriz: "); scanf("%d",&n); } int matriz[n][n]; for (i=0;i<n;i++){ for (j=0; j<n; j++){ printf("Entre com o elemento %dx%d: ",i+1,j+1); scanf("%d",&matriz[i][j]); } } fflush(stdin); printf("\nAs operacoes disponiveis sao:\n"); printf("L-Rotacionar a esquerda\n"); printf("R-Rotacionar a direita\n"); printf("P-Imprimir a Matriz\n"); printf("Q-Encerrar o Programa\n"); printf("Escolha a operacao: "); scanf("%c",&o); fflush(stdin); o=toupper(o); if(o!='L'&& o!='R' && o!='P' && o!='Q') { printf("\nDigite a operacao(L,R,P ou Q): "); scanf("%c",&o); fflush(stdin); } while(o=='L'||o=='R'||o=='P'){ if(o=='L') { for(i=0;i<n/2;i++) { for(j=i;j<n-i-1;j++) { int matriz_aux=matriz[i][j]; matriz[i][j] = matriz[j][n-1-i]; matriz[j][n-1-i]= matriz[n-1-i][n-1-j]; matriz[n-1-i][n-1-j]= matriz[n-1-j][i]; matriz[n-1-j][i] = matriz_aux; } } } else if(o=='R') { for(i=0;i<n/2;i++) { for(j=i;j<n-1-i;j++) { int matriz_aux2=matriz[i][j]; matriz[i][j]=matriz[n-1-j][i]; matriz[n-1-j][i]=matriz[n-1-i][n-1-j]; matriz[n-1-i][n-1-j]=matriz[j][n-1-i]; matriz[j][n-1-i]=matriz_aux2; } } } else if(o=='P') { printf("\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf ("| %d ", matriz[i][j]); } printf("|\n"); } } printf("\nDigite a operacao: "); scanf("%c",&o); fflush(stdin); o=toupper(o); if(o!='L'&& o!='R' && o!='P' && o!='Q') { printf("\nDigite a operacao(L,R,P ou Q): "); scanf("%c",&o); fflush(stdin); o=toupper(o); } } return 0; } Laboratório 9 – A Descrição: Soma e Impressão de Matriz Faça um programa que leia uma matriz 3x3 com valores informados pelo usuário controlando para que os valores estejam no intervalo [1..30]. A leitura deverá ser feita por linhas da matriz. Ou seja, definir todos os elementos de uma linha, então passar para a próxima linha. Calcule então a soma de todos os elementos da matriz. No final, imprima a matriz em forma linha por linha e a soma de seus elementos. #include <stdio.h> int main() { float matriz[3][3],soma=0, count=0; int i,j; printf("\nPara o presente programa digitar valores entre 1 e 30\n"); printf("___________________\n\n"); printf("A matriz vai ser preenchida na sequencia das linhas\n\n"); printf("\t|a11 a12 a13|\n"); printf("\t|a21 a21 a23|\n"); printf("\t|a31 a32 a33|\n"); printf("___________________\n\n"); for(i=0; i<3; i++){ for(j=0; j<3; j++){ printf("Digite o numero para o valor a%d%d: ",i+1,j+1); scanf("%f",&matriz[i][j]); while(matriz[i][j]>30 || matriz[i][j]<=0){ printf("Valor esta fora do range aceitavel.\n"); printf("Digite um valor entre 1 e 30:"); scanf("%f",&matriz[i][j]); } soma+=matriz[i][j]; } } printf("\nA matriz digitada tem a seguinte forma:"); printf("\n|%.2f \t %.2f \t %.2f| \n",matriz[0][0],matriz[0][1],matriz[0][2]); printf("|%.2f \t %.2f \t %.2f| \n",matriz[1][0],matriz[1][1],matriz[1][2]); printf("|%.2f \t %.2f \t %.2f| \n\n",matriz[2][0],matriz[2][1],matriz[2][2]); printf("A soma de todos os elementos da matriz eh: %.2f\n",soma); return 0; } Entrega Programada 10 – D Descrição: Analisa Dado Crie uma função em linguagem C chamada Dado () que retorna, através de sorteio, um número de 1 até 6. Use a função e lance o dado mil vezes. Conte quantas vezes cada número saiu. Imprima a porcentagem de vezes que cada número foi sorteado. #include <stdio.h> #include <stdlib.h> int dado() { int numero; numero = rand()%6; return numero; } int main() { int sorteio,j=0,k=0; float jogadas[6]= {0,0,0,0,0,0}, porcentagem; srand(time(NULL)); for(j; j<1000; j++) { sorteio = dado(); jogadas[sorteio]++; } for(k; k<=5; k++) { printf("O valor %d do dado apareceu %.0f vezes. ",k+1,jogadas[k]); jogadas[k] = jogadas[k]*100; porcentagem = jogadas[k]/1000; printf("Porcentagem de %.2f%%\n",porcentagem); } return 0; } Laboratório 10 – C Descrição: Ler Idade Crianças Faça um programa que leia a idade de 10 alunos do ensino fundamental, calculando a média de idade, maior e menor idade. Para ler a idade dos alunos entre 4 e 14 anos, crie uma função. #include <stdio.h> int count; int chamada() { int valor; do { printf("Aluno %d: ", count+1); scanf("%d",&valor); if(valor <4 || valor>14) { printf("O valor digitado esta fora do intervalo, digite novamente.\n"); } } while (valor <4 || valor>14); count++; return valor; } int main() { int i=0,idade, maior=0, menor=15; float media=0; printf("Digite a idade dos alunos, valor entre 4 e 14 anos.\n"); for(i; i<=9; i++) { idade = chamada(); media = media + idade; if(idade>maior) { maior=idade; } if(idade<menor) { menor = idade; } } media = media/count; printf("\nA media da idade dos alunos eh: %.2f anos;\n",media); printf("A maior idade eh: %d anos;\n",maior); printf("A menor idade eh: %d anos.\n",menor); return 0; } Entrega Programada 11 – C Descrição: Várias Funções Fazer um programa em "C" que solicite 2 números e informe: a) A soma dos números; b) O produto do primeironúmero pelo quadrado do segundo; c) O quadrado do primeiro número; d) A raiz quadrada da soma dos quadrados; e) O seno da diferença do primeiro número pelo segundo; f) O módulo do primeiro número. Para cada cálculo, deve-se implementar uma função diferente. #include <stdio.h> #include <math.h> float soma(float n1, float n2) { return n1 + n2; } float multiplicacao(float n1, float n2) { return n1 * pow(n2, 2); } float quadrado(float n1) { return pow(n1, 2); } float raizdoquadrado(float n1, float n2) { return sqrt(pow(n1, 2) + pow(n2, 2)); } float seno(float n1, float n2) { return sin(n1-n2); } float modulo(float n1) { if(n1<0){ return n1 * (-1); }else{ return n1; } } int main(){ float n1, n2; printf("Informe o primeiro numero: "); scanf("%f", &n1); printf("Informe o segundo numero: "); scanf("%f", &n2); printf("\n\n1-A soma dos numeros: %f\n", soma(n1,n2)); printf("2-O produto do primeiro numero pelo quadrado do segundo: %f\n", multiplicacao(n1,n2)); printf("3-O quadrado do primeiro numero: %f\n", quadrado(n1)); printf("4-A raiz quadrada da soma dos quadrados: %f\n", raizdoquadrado(n1,n2)); printf("5-O seno da diferenca do primeiro numero pelo segundo: %f\n", seno(n1,n2)); printf("6-O modulo do primeiro numero: %f\n", modulo(n1)); return 0; } Entrega Programada 12 – B Descrição: Primeira e última letra Faça um programa que leia um texto de até 400 caracteres. Então leia uma letra. Usando funções, o programa deverá achar a primeira ocorrência daquela letra no texto. E também a última ocorrência da letra no texto. #include <stdio.h> #include <string.h> int AchaPrimeira(char*t, char l) { int i=0; for(i=0; i<strlen(t); i++){ if(t[i] == l){ return i; } } } int AchaUltima(char*t, char l) { int j; for(j=strlen(t); j>=0; j--){ if(t[j] == l){ return j; } } } int main(){ char t[401], l; int primeira=0, ult=0; printf("Digite primeiro seu texto, e depois a letra procurada."); puts("\n\nDigite o Texto: "); fflush(stdin); gets(t); puts("\nQual a Letra Procurada: "); l = getchar(); primeira = AchaPrimeira(t,l); ult = AchaUltima(t,l); printf("\nA primeira vez que a letra aparece eh na posicao %d e a ultima na posicao %d.\n",primeira+1,ult+1); return 0; } Laboratório 12 – B Descrição: Valor de Corte Faça um programa que leia 15 valores inteiros para um vetor e então leia mais um valor de corte. Passando o vetor de valores por referência para uma função, a função deverá imprimir todos os valores acima do valor de corte. A leitura dos valores pode ser feita no programa principal (main) ou através de uma outra função definida pelo programador. #include <stdio.h> void acimadocorte(int *v, int corte){ int cont = 0,i=0; printf("\nOs valores que estao acima do valor de corte sao: "); for(i; i<15; i++){ if(v[i]>corte){ printf("%d ", v[i]); } } } int main(){ int v[15],corte, j=0; printf("Digite 15 valores inteiros.\n"); for(j; j<15; j++){ printf("Valor %d: ", j+1); scanf("%d",&v[j]); } printf("Digite o valor de corte: "); scanf("%d",&corte); acimadocorte(v, corte); printf("\n"); return 0; } Entrega Programada 13 – A Descrição: Manipulando Livros Seja uma estrutura para descrever os livros de uma loja, contendo os seguintes campos: • Título: string de tamanho 20 • Autor: string de tamanho 20 • Estilo: string de tamanho 10 • Código: inteiro • Preço: real a) Definir a estrutura livro b) Escreva uma função que leia os dados de um livro e retorne a estrutura definida acima c) Escreva uma função que receba uma estrutura do tipo livro e a imprima na tela. d) Defina um vetor para armazenar os dados de 10 livros. Leia os dados dos 10 livros e depois os imprima usando chamadas para as funções definidas em b) e c). #include <stdio.h> #include<stdlib.h> //Estrutura de livros typedef struct livros{ char titulo[21]; char autor[21]; char estilo[11]; int codigo; float valor; } livros; //Le e armazena valores para uma variável livros livros lerdados (){ livros entrada; fflush(stdin); printf("Titulo: "); gets(entrada.titulo); printf("Autor: "); gets(entrada.autor); printf("Estilo: "); gets(entrada.estilo); printf("Codigo: "); fflush(stdin); scanf("%d", &entrada.codigo); printf("Preco: "); scanf("%f", &entrada.valor); system("cls"); return(entrada); } //Imprime na tela os valores de uma variável livros void imprimirdados(livros entrada){ printf("\n\nTitulo: %s", entrada.titulo); printf("\nAutor: %s", entrada.autor); printf("\nEstilo: %s", entrada.estilo); printf("\nCodigo: %d", entrada.codigo); printf("\nPreco: %.2f", entrada.valor); } int main(){ printf("Digite o titulo, autor, estilo, cogido e preco do livro.\n"); livros vetor[10]; int i; //Le os valores de 10 livros for (i=0; i<10; i++) vetor[i] = lerdados(); //Imprime os valores dos 10 livros for (i=0; i<10; i++) imprimirdados(vetor[i]); return(0); } Entrega Programada 14 – B Descrição: Troca letras Faça um programa que peça para o usuário entrar duas letras (L1 e L2) e o nome de um arquivo texto. Em seguida leia o arquivo texto do disco e procure e substitua todas as ocorrências da L1 pela L2. O novo texto, com letras substituídas deverá ser salvo em um arquivo chamado teste.txt #include <stdio.h> int main(){ char nomedoarquivo[50], L1, L2, caractere; FILE *entrada; printf("Digite o nome do arquivo a ser aberto (exemplo.txt e deve estar na mesma pasta do arquivo.c): \n"); scanf("%s",&nomedoarquivo); entrada = fopen(nomedoarquivo,"r"); if(entrada == NULL){ printf("\nErro ao abrir o arquivo de entrada. Arquivo não localizado\n"); return 0; } FILE *saida; saida = fopen("teste.txt", "w"); printf("\nDigite a letra(L1) procurada: "); fflush(stdin); L1 = getchar(); printf("\nDigite a letra(L2) a ser substituida: "); fflush(stdin); L2 = getchar(); do{ caractere = getc(entrada); if(caractere == L1){ putc(L2,saida); } else putc(caractere,saida); }while(caractere != EOF); fclose(entrada); fclose(saida); return 0; } Laboratório 14 – B Descrição: Linhas Enumeradas Faça um programa que leia um arquivo texto do disco, lendo linha a linha, e exibindo cada uma das linhas numeradas na tela. A ideia é podermos pegar um arquivo texto qualquer e mostrar na tela com as linhas numeradas. O programa deverá perguntar o nome do arquivo texto a ser lido. O arquivo não deverá ser alterado. #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char nomedoarquivo[50], caracter; int count=1, inha=1; FILE *entrada; printf("Digite o nome do arquivo a ser aberto (exemplo.txt e deve estar na mesma pasta do arquivo.c): \n"); fflush(stdin); gets(nomedoarquivo); entrada = fopen(nomedoarquivo,"r"); if(entrada == NULL) { printf("\nErro ao abrir o arquivo de entrada. Arquivo nao localizado\n"); return 0; } printf("%d.",count); do { caracter = getc(entrada); printf("%c",caracter); if(caracter == '\n') {count++; printf("%d.", count); } } while (!feof(entrada)); fclose(entrada); printf("\n"); return 0; }
Compartilhar