Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Programa para ler e gravar dados de alunos e veículos, Exercícios de Programação em C

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

  • Qual a função do loop 'for' no código do programa 'main'?
  • Como as informações dos alunos são gravadas em arquivo?
  • Qual a finalidade do código no início do documento?
  • Como as estruturas 'AL' e 'ALUNO' são utilizadas no código?
  • Qual a finalidade do código no final do documento?

Tipologia: Exercícios

2022

Compartilhado em 30/03/2022

otimize-engenharia
otimize-engenharia 🇧🇷

5 documentos

1 / 52

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
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",&registro[i].matricula);
printf("Digite o salario de %s:\n",registro[i].nome);
scanf(" %f",&registro[i].salario);
}
for ( i = 0 ; i < 10 ; i++ )
{
printf("Funcionario %d\n",i+1);
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Pré-visualização parcial do texto

Baixe Programa para ler e gravar dados de alunos e veículos e outras Exercícios em PDF para Programação em C, somente na Docsity!

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",&registro[i].matricula);

printf("Digite o salario de %s:\n",registro[i].nome);

scanf(" %f",&registro[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 ;

}

QUESTÃO 16:

#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");