












































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Este documento contém vários fragmentos de código em c que definem e utilizam diferentes estruturas de dados, como struct e arrays, para armazenar e manipular informações de alunos e veículos. Além disso, existem funções para ler e gravar essas informações em arquivos. O código também inclui alguns exemplos de uso de funções como scanf, printf, strcpy, fread e fwrite.
O que você vai aprender
Tipologia: Exercícios
1 / 52
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Lista 3
Questão 1
#include <stdio.h>
#include <stdlib.h>
struct Funcionario
{
char nome[21];
int matricula;
float salario;
};
typedef struct Funcionario func;
int main()
{
int i;
func registro[10];
for ( i = 0 ; i < 10 ; i++ )
{
printf("Digite o nome do funcionario %d:\n",i+1);
scanf(" %[^\n]s",registro[i].nome);
printf("Digite a matricula de %s:\n",registro[i].nome);
scanf(" %d",®istro[i].matricula);
printf("Digite o salario de %s:\n",registro[i].nome);
scanf(" %f",®istro[i].salario);
}
for ( i = 0 ; i < 10 ; i++ )
{
printf("Funcionario %d\n",i+1);
printf("Nome: %s\n",registro[i].nome);
printf("Matricula: %d\n",registro[i].matricula);
printf("Salario: R$ %.2f\n\n",registro[i].salario);
}
return 0;
}
Questao 2
#include <stdio.h>
#include <stdlib.h>
struct Endereco
{
char rua[41],bairro[21];
int numero;
};
struct Funcionario
{
char nome[21];
int matricula;
struct Endereco ende;
};
typedef struct Funcionario func;
int main()
{
func empregado;
printf("Digite o nome do funcionario:\n");
scanf(" %[^\n]s",empregado.nome);
printf("Digite a matricula de %s:\n",empregado.nome);
scanf(" %[^\n]s",estudante.nome);
printf("Digite o cpf de %s:\n",estudante.nome);
scanf("%d",&estudante.cpf);
soma = 0 ;
for ( i = 0 ; i < 3 ; i++ )
{
printf("Digite a nota %d de %s\n",i+1,estudante.nome);
scanf("%f",&estudante.notas[i]);
soma = soma + estudante.notas[i];
}
media = soma/3;
printf("Aluno:\n%s\nCPF: %d\nMedia: %.1f\n\n",estudante.nome,estudante.cpf,media);
return 0 ;
}
Questao 4
#include <stdio.h>
#include <stdlib.h>
struct aluno
{
int cpf;
char nome[21];
float notas[3];
};
typedef struct aluno AL;
int main()
{
int i,j;
float media[5], soma ;
AL estudante[5];
for ( i = 0 ; i < 5 ; i++ )
{
printf("Digite o nome do aluno %d:\n",i+1);
scanf(" %[^\n]s",estudante[i].nome);
printf("Digite o cpf de %s:\n",estudante[i].nome);
scanf("%d",&estudante[i].cpf);
soma = 0 ;
for ( j = 0 ; j < 3 ; j++ )
{
printf("Digite a nota %d de %s\n",j+1,estudante[i].nome);
scanf("%f",&estudante[i].notas[j]);
soma = soma + estudante[i].notas[j];
}
media[i] = soma/3;
}
for ( i = 0 ; i < 5 ; i++ )
{
printf("Aluno %d:\n%s\nCPF: %d\nMedia: %.1f\n\n",i+1,estudante[i].nome,estudante[i].cpf,media[i]);
return 0 ;
}
Questao 5
#include <stdio.h>
#include <stdlib.h>
struct loja
{
media = 0;
if ( j > 0 )
{
for ( i = 0 ; i < j ; i++ )
{
media = media + estoque2[i].preco;
}
media = media/j;
printf("A media dos produtos acima de R$10,00 eh: R$%.2f\n",media);
for ( i = 0 ; i < j ; i++ )
{
printf("Produto %d\nCodigo: %d Quantidade: %d Preco: R$%.2f\n",i+1,estoque2[i].codigo,estoque2[i].quantidade,estoque2[i].preco);
}
else
{
printf("Nao foram encontrados produtos com preco acima de R$10,00\n");
}
return 0;
}
Questao 6
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,num;
FILE *arq;
arq = fopen("MeuPrimeiroArquivo.arq","w");
for ( i = 0; i < 5 ; i++ )
{
printf("Digite um numero:\n");
scanf("%d",&num);
fwrite(&num,sizeof(int),1,arq);
}
fclose(arq);
return 0;
}
Questao 7
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,num,x[5];
FILE *arq;
arq = fopen("MeuPrimeiroArquivo.arq","r");
for ( i = 0; i < 5 ; i++ )
{
fread(&num,sizeof(int),1,arq);
x[i] = 2*num;
}
fclose(arq);
arq = fopen("MeuPrimeiroArquivo.arq","w");
for ( i = 0; i < 5 ; i++ )
FILE *arq;
arq = fopen("Turma.arq","w");
for ( i = 0 ; i < 5; i++ )
{
printf("Digite o cpf do aluno\n");
scanf("%d",&alunos.cpf);
printf("Digite a nota do aluno\n");
scanf("%f",&alunos.nota);
fwrite(&alunos,sizeof(Al),1,arq);
}
fclose(arq);
arq = fopen("Turma.arq","r");
for ( i = 0 ; i < 5; i++ )
{
fread(&alunos1,sizeof(Al),1,arq);
printf("%d %.2f\n",alunos1.cpf,alunos1.nota);
}
fclose(arq);
return 0;
}
Questao 9
#include <stdio.h>
#include <stdlib.h>
struct pessoa
{
char nome[21];
int idade;
typedef struct pessoa Pessoa;
int main()
{
int id;
Pessoa P;
FILE *arq;
arq = fopen("pessoas.arq","r");
if ( arq == NULL )
{
printf("Erro ao abrir o arquivo!\n");
}
else
{
printf("Digite a idade:\n");
scanf("%d",&id);
while ( !feof(arq) )
{
fread(&P,sizeof(Pessoa),1,arq);
if( id == P.idade )
{
printf("%s\n",P.nome);
}
else
{
printf("Idade não encontrada!\n");
}
}
if (entrada == NULL )
{
printf("Erro ao abrir o arquivo!\n");
}
else
{
while(!feof(entrada))
{
fread(&vec1,sizeof(V1),1,entrada);
if( (vec1.portas == 5) && (vec1.ar == 1) && (vec1.fabricacao == 2012) && (vec1.diaria > 380) )
{
vec2.diaria2 = vec1.diaria;
strcpy(vec2.modelo2,vec1.modelo);
strcpy(vec2.marca2,vec1.marca);
strcpy(vec2.placa2,vec1.placa);
fwrite(&vec2,sizeof(V2),1,saida);
}
}
}
fclose(entrada);
fclose(saida);
return 0 ;
}
Questao 11
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct DadosPessoas
char nome[21], endereco[41], sexo;
int dia, mes, ano;
};
struct Homens
{
char nome2[21], endereco2[41];
};
typedef struct DadosPessoas DP;
typedef struct Homens HO;
int main()
{
DP lista;
HO senhores;
FILE *entrada, *saida;
entrada = fopen("ZINHO.CAD","r");
saida = fopen("ZINHO.M50","w");
if ( entrada == NULL )
{
printf("Erro ao abrir o arquivo!\n");
}
else
{
while(!feof(entrada))
{
fread(&lista,sizeof(DP),1,entrada);
if ( (lista.ano == 1961) && (lista.sexo == 'm'))
{
CE casal;
Conc competicao;
FILE *entrada, *saida;
entrada = fopen("CONCURSO.CAD","r");
saida = fopen("CONCURSO.NOT","w");
if ( entrada == NULL )
{
printf("Erro ao abrir o arquivo!\n");
}
else
{
while(!feof(entrada))
{
fread(&casal,sizeof(CE),1,entrada);
printf("Digite a nota da dama:\n");
scanf("%f",&competicao.dama);
printf("Digite a nota do cavalheiro:\n");
scanf("%f",&competicao.cavalheiro);
competicao.media = ( competicao.dama + competicao.cavalheiro )/2;
strcpy(competicao.entidade2,casal.entidade);
competicao.codigo2 = casal.codigo;
fwrite(&competicao,sizeof(Conc),1,saida);
}
}
fclose(entrada);
fclose(saida);
return 0;
Questao 13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct DadosMedalhas
{
char nome[31],endereco[51],sigla[3];
int numero,ouro,prata,bronze;
};
struct TotalMedalhas
{
char nome2[31];
int total;
};
typedef struct DadosMedalhas DM;
typedef struct TotalMedalhas TM;
int main()
{
DM info;
TM resu;
char estado[3];
FILE *entrada, *saida;
entrada = fopen("MEDALHAS.BRA","r");
saida = fopen("MEDALHAS.EST","w");
if ( entrada == NULL )
{
printf("Erro ao abrir o arquivo!\n");
int main()
{
int n;
printf("Digite um numero\n");
scanf("%d",&n);
n = dobro(n);
printf("O dobro : %d\n",n);
return 0 ;
}
Questao 15
#include <stdio.h>
#include <stdlib.h>
int potencia(int x, int n)
{
int i = 1 , num ;
num = x ;
if ( n == 0 )
{
num = 1 ;
}
while( i < n )
{
num = num*x ;
i++;
}
return num ;
int main()
{
int base,expoente,resu;
printf("Digite a base\n");
scanf("%d",&base);
printf("Digite o expoente\n");
scanf("%d",&expoente);
resu = potencia(base,expoente);
printf("%d elevado a %d = %d",base,expoente,resu);
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
int dobro(int x)
{
x = 2*x;
return x;
}
int main()
{
int n;
printf("Informe um valor para n:\n");