Buscar

aula9_Vetorderegistros_resposta

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

A Companhia de Taxi LocalCerto armazena os dados de seus motoristas 
(codigo,nome, número do taxi e Kper). Elabore um programa capaz de ler os 
dados de n (máximo de 20) motoristas (utilizar um vetor de registros para 
armazenar esses dados). Em seguida, o programa deve imprimir um relatório 
conforme o modelo abaixo. 
 
 Nome Motorista Nº Taxi Valor a Receber 
 XXX XXX XX 
 XXX XXX XX 
 XXX XXX XX 
 
O valor a receber é calculado multiplicando-se a quantidade Kper (Kilometro 
percorrido) por R$ 1,20. Ao final o programa deve também exibir todos os 
dados do motorista com maior valor a receber. 
using System; 
 
namespace ConsoleApplication3 
{ 
 class Program 
 { 
 public struct regtaxi 
 { 
 public int codigo; 
 public string nome; 
 public int ntaxi; 
 public double kper; 
 } 
 static void valida(ref int N, int max) 
 { 
 while (N < 1 || N > max) 
 { 
 Console.Write("Valor inválido, digite um número entre 1 e {0}: ", 
max); 
 N = int.Parse(Console.ReadLine()); 
 } 
 } 
 
 static void entrada(int N, regtaxi[] T) 
 { 
 for (int i = 0; i < N; i++) 
 { 
 Console.WriteLine("{0}º taxista:", i + 1); 
 Console.Write("Nome: "); 
 T[i].nome = Console.ReadLine(); 
 Console.Write("Código: "); 
 T[i].codigo = int.Parse(Console.ReadLine()); 
 Console.Write("Número do taxi: "); 
 T[i].ntaxi = int.Parse(Console.ReadLine()); 
 Console.Write("Kilometros percorridos: "); 
 T[i].kper = double.Parse(Console.ReadLine()); 
 } 
 } 
 
 static void maior(int N, regtaxi[] T) 
 { 
 double MA = T[0].kper; 
 int p = 0; 
 for (int i = 1; i < N; i++) 
 { 
 if (T[i].kper > MA) 
 { 
 MA = T[i].kper; 
 p = i; 
 } 
 } 
 MA = MA * 1.2; 
 Console.WriteLine("{0} é o motorista {3} com maior valor a receber: 
{1:F2}, com o taxi {2}", T[p].codigo, MA, T[p].ntaxi, T[p].nome); 
 } 
 
 static void listagem(int N, regtaxi[] T) 
 { 
 Console.SetCursorPosition(4, 1); Console.Write("Nome"); 
 Console.SetCursorPosition(30, 1); Console.Write("Número do taxi"); 
 Console.SetCursorPosition(48, 1); Console.Write("Valor a receber"); 
 int lin = 3; 
 for (int i = 0; i < N; i++) 
 { 
 double VR = T[i].kper * 1.2; 
 Console.SetCursorPosition(4, lin); Console.Write(T[i].nome); 
 Console.SetCursorPosition(30, lin); Console.Write(T[i].ntaxi); 
 Console.SetCursorPosition(48, lin); Console.WriteLine(VR); 
 lin++; 
 } 
 } 
 
 static void Main(string[] args) 
 { 
 Console.WriteLine("Programa que imprime o Nome, Número do taxi e 
valor a receber de N taxistas"); 
 Console.WriteLine("imprime o Código, Nome, Número do taxi e Valor a 
receber de quem tem o maior Valor."); 
 Console.Write("Digite o número de taxistas a cadastrar: "); 
 int NT = int.Parse(Console.ReadLine()); 
 valida(ref NT, 20); 
 regtaxi[] Taxi = new regtaxi[NT]; 
 Console.WriteLine("Cadastro dos taxistas:"); 
 entrada(NT, Taxi); 
 Console.WriteLine("Pressione enter para a listagem"); 
 Console.ReadKey(); 
 Console.Clear(); 
 listagem(NT, Taxi); 
 Console.WriteLine("Pressione enter para o ver o maior"); 
 Console.ReadKey(); 
 Console.Clear(); 
 maior(NT, Taxi); 
 Console.WriteLine("Pressione enter para sair!"); 
 Console.ReadKey(); 
 } 
 
 } 
} 
 
 
2) Elabore um programa que entre com os dados de n (max. 20) pessoas 
(nome, rg, sexo, idade). Utilizar um vetor de registros para armazenar esses 
dados. Em seguida, o programa deve exibir um relatório contendo todos os 
dados das pessoas do sexo feminino com mais de 30 anos. 
 
 
using System; 
 
namespace ConsoleApplication4 
{ 
 class Program 
 { 
 public struct regpessoa 
 { 
 public string nome; 
 public string RG; 
 public int idade; 
 public char sexo; 
 } 
 static void valida(ref int N, int max) 
 { 
 while (N < 1 || N > max) 
 { 
 Console.Write("Valor inválido, digite um número entre 1 e {0}: ", 
max); 
 N = int.Parse(Console.ReadLine()); 
 } 
 } 
 static void validasexo(ref char s) 
 { 
 while (s != 'F' && s != 'f' && s != 'M' && s != 'm') 
 { 
 Console.Write("Sexo inválido, digite M/F: "); 
 s = char.Parse(Console.ReadLine()); 
 } 
 } 
 static void entrada(int N, regpessoa[] P) 
 { 
 for (int i = 0; i < N; i++) 
 { 
 Console.WriteLine("{0}ª pessoa:", i + 1); 
 Console.Write("Nome: "); 
 P[i].nome = Console.ReadLine(); 
 Console.Write("RG: "); 
 P[i].RG = Console.ReadLine(); 
 Console.Write("Idade: "); 
 P[i].idade = int.Parse(Console.ReadLine()); 
 valida(ref P[i].idade, 120); 
 Console.Write("Sexo: "); 
 P[i].sexo = char.Parse(Console.ReadLine()); 
 validasexo(ref P[i].sexo); 
 } 
 } 
 
 //Imprima o Nome e idade de todas as mulheres com mais de 30 anos. 
 static void mulheres(int N, regpessoa[] P) 
 { 
 int x = 0; 
 for (int i = 0; i < N; i++) 
 { 
 if ((P[i].sexo == 'F' || P[i].sexo == 'f') && P[i].idade > 30) 
 { 
 Console.WriteLine("Nome: {0} e RG: {1} .", P[i].nome, 
P[i].RG); 
 x = 1; 
 } 
 } 
 if (x == 0) 
 Console.WriteLine("Não foram cadastradas mulheres com mais de 30 
anos"); 
 } 
 static void Main(string[] args) 
 { 
 Console.WriteLine("Programa que: imprime o Nome,RG, idade e sexo de N 
pessoas."); 
 Console.WriteLine("imprime o Nome e RG de todas as mulheres com mais 
de 30."); 
 Console.Write("Digite o número de pessoas a cadastrar: "); 
 int NP = int.Parse(Console.ReadLine()); 
 valida(ref NP, 20); 
 regpessoa[] Pessoa = new regpessoa[NP]; 
 Console.WriteLine("Cadastro das pessoas:"); 
 entrada(NP, Pessoa); 
 Console.WriteLine("Pressione enter para ver Mulheres com mais de 30 
anos"); 
 Console.ReadKey(); 
 Console.Clear(); 
 mulheres(NP, Pessoa); 
 Console.WriteLine("Pressione enter para encerrar"); 
 Console.ReadKey(); 
 
 } 
 
 } 
} 
 
 
 3) Faça um algoritmo utilizando sub-rotinas que leia um vetor de registros com 
os campos: nome, idade e sexo de N 
(N<=20) pessoas. Após a leitura faça: 
a) Imprima o Nome, idade e sexo das pessoas cuja idade seja maior que a 
idade da primeira pessoa. 
b) Imprima o Nome e idade de todas as mulheres. 
c) Imprima o Nome dos homens menores de 21 anos. 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
/*Faça um algoritmo utilizando sub-rotinas que leiaum vetor de registros com os 
campos: nome, idade e sexo de N 
(N<=20) pessoas.Após a leitura faça: 
a) Imprima o Nome, idade e sexo das pessoas cuja idade seja maior que a idade da 
primeira pessoa. 
b) Imprima o Nome e idade de todas as mulheres. 
c) Imprima o Nome dos homens menores de 21 anos.*/ 
namespace aula8_exercicio6 
{ 
 class Program 
 { 
 public struct regpessoa 
 { 
 public string nome; 
 public int idade; 
 public char sexo; 
 } 
 static void valida(ref int N, int max) 
 { 
 while (N < 1 || N > max) 
 { 
 Console.Write("Valor inválido, digite um número entre 1 e {0}: ", 
max); 
 N = int.Parse(Console.ReadLine()); 
 } 
 } 
 static void validasexo(ref char s) 
 { 
 while (s != 'F' && s != 'M') 
 { 
 Console.Write("Sexo inválido, digite M/F: "); 
 s = char.Parse(Console.ReadLine()); 
 s = char.ToUpper(s); 
 } 
 } 
 static void entrada(int N, regpessoa[] P) 
 { 
 for (int i = 0; i < N; i++) 
 { 
 Console.WriteLine("{0}ª pessoa:", i + 1); 
 Console.Write("Nome: "); 
 P[i].nome = Console.ReadLine(); 
 Console.Write("Idade: "); 
 P[i].idade = int.Parse(Console.ReadLine()); 
 valida(ref P[i].idade, 120); 
 Console.Write("Sexo: "); 
 P[i].sexo = char.Parse(Console.ReadLine()); 
 P[i].sexo = char.ToUpper(P[i].sexo); 
 validasexo(ref P[i].sexo); 
 } 
 } 
 //Imprima o Nome, idade e sexo das pessoas cuja idade seja maior que a 
idade da primeira pessoa. 
 static void mairq1(int N, regpessoa[] P) 
 { 
 int x = 0; 
 for (int i = 1; i < N; i++) 
 { 
 if (P[i].idade > P[0].idade) 
 { 
 Console.WriteLine("Nome: {0}, idade: {1} e sexo: {2}.", 
P[i].nome, P[i].idade, P[i].sexo); 
 x = 1; 
 } 
 } 
 if (x == 0) 
 Console.WriteLine("Não há pessoas mais velhas q a primeira"); 
 } 
 //Imprima o Nome e idade de todas as mulheres. 
 static void mulheres(int N, regpessoa[] P) 
 { 
 int x = 0; 
 for (int i = 0; i < N; i++) 
 { 
 if (P[i].sexo == 'F' ) 
 { 
 Console.WriteLine("Nome: {0} e idade: {1} .", P[i].nome, 
P[i].idade); 
 x = 1; 
 } 
 } 
 if (x == 0) 
 Console.WriteLine("Não há mulheres cadastradas"); 
 } 
 //Imprima o Nome dos homens menores de 21 anos. 
 static void homens(int N, regpessoa[] P) 
 { 
 int x = 0; 
 for (int i = 0; i < N; i++) 
 { 
 if (P[i].sexo == 'M' && P[i].idade < 21) 
 { 
 Console.WriteLine("Nome: {0}.", P[i].nome); 
 x = 1; 
 } 
 } 
 if (x == 0) 
 Console.WriteLine("Não há homens menores de 21 anos"); 
 } 
 static void Main(string[] args) 
 { 
 Console.WriteLine("Programa que: imprime o Nome, idade e sexo das 
pessoas cuja idade seja maior que a idade da primeira pessoa."); 
 Console.WriteLine("imprime o Nome e idade de todas as mulheres."); 
 Console.WriteLine(" Imprime o Nome dos homens menores de 21 anos."); 
 Console.Write("Digite o número de pessoas a cadastrar: "); 
 int NP = int.Parse(Console.ReadLine()); 
 valida(ref NP, 20); 
 regpessoa[] Pessoa = new regpessoa[NP]; 
 Console.WriteLine("Cadastro das pessoas:"); 
 entrada(NP, Pessoa); 
 Console.WriteLine("Pressione enter para o outro ítem"); 
 Console.ReadKey(); 
 Console.Clear(); 
 Console.WriteLine("Pessoas mais velhas que a primeira: "); 
 mairq1(NP, Pessoa); 
 Console.WriteLine("Pressione enter para o outro ítem"); 
 Console.ReadKey(); 
 Console.Clear(); 
 Console.WriteLine("Listagem das mulheres:"); 
 mulheres(NP, Pessoa); 
 Console.WriteLine("Pressione enter para o outro ítem"); 
 Console.ReadKey(); 
 Console.Clear(); 
 Console.WriteLine("Listagem das homens menores de 21 anos:"); 
 homens(NP, Pessoa); 
 Console.ReadKey(); 
 } 
 } 
} 
 
4) Dado o registro abaixo, 
 
Faça um programa que leia N registros e determine: 
a) altura da pessoa mais alta; 
b) nome, sexo e idade da pessoa mais nova; 
 c) média de idade dos "baixinhos", altura <= 1,58 cm; 
d) quantidades de mulheres com idade superior ou igual a 20. 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace ConsoleApplication5 
{ 
 class Program 
 { 
 public struct regpessoa 
 { 
 public string nome; 
 public int idade; 
 public char sexo; 
 public double altura; 
 } 
 static void valida(ref int N, int max) 
 { 
 while (N < 1 || N > max) 
 { 
 Console.Write("Valor inválido, digite um número entre 1 e {0}: ", 
max); 
 N = int.Parse(Console.ReadLine()); 
 } 
 } 
 static void validasexo(ref char s) 
 { 
 while (s != 'F' && s != 'f' && s != 'M' && s != 'm') 
 { 
 Console.Write("Sexo inválido, digite M/F: "); 
 s = char.Parse(Console.ReadLine()); 
 } 
 } 
 static void entrada(int N, regpessoa[] P) 
 { 
 for (int i = 0; i < N; i++) 
 { 
 Console.WriteLine("{0}ª pessoa:", i + 1); 
 Console.Write("Nome: "); 
 P[i].nome = Console.ReadLine(); 
 Console.Write("Idade: "); 
 P[i].idade = int.Parse(Console.ReadLine()); 
 valida(ref P[i].idade, 120); 
 Console.Write("Sexo: "); 
 P[i].sexo = char.Parse(Console.ReadLine()); 
 validasexo(ref P[i].sexo); 
 Console.Write("Altura: "); 
 P[i].altura = double.Parse(Console.ReadLine()); 
 } 
 } 
 //Imprime maior altura. 
 static void Maisalta(int N, regpessoa[] P) 
 { 
 double h = P[0].altura; 
 for (int i = 1; i < N; i++) 
 { 
 if (P[i].altura > h) 
 { 
 h = P[i].altura; 
 } 
 } 
 Console.WriteLine("Maior altura: {0}.", h); 
 } 
 //Imprima o Nome, sexo e idade da pessoa mais nova. 
 static void maisnova(int N, regpessoa[] P) 
 { 
 double id = P[0].idade; 
 int posicao = 0; 
 for (int i = 1; i < N; i++) 
 { 
 if (P[i].idade <id) 
 { 
 id = P[i].idade; 
 posicao = i; 
 } 
 } 
 Console.WriteLine("{0} é a pessoa mais nova com o sexo {1} e idade 
de:{2}",P[posicao].nome, P[posicao].sexo, P[posicao].idade); 
 } 
 //Imprima o Nome dos homens menores de 21 anos. 
 static void mulheres(int N, regpessoa[] P) 
 { 
 
 int cont = 0; 
 for (int i = 0; i < N; i++) 
 { 
 if ((P[i].sexo == 'F' || P[i].sexo == 'f') && P[i].idade >= 20) 
 { 
 cont++; 
 } 
 }Console.WriteLine("{0} mulheres com idade maior ou igual de 
20",cont); 
 } 
 static void media(int N, regpessoa[] P) 
 { 
 
 int cont = 0,SI=0; 
 
 for (int i = 0; i < N; i++) 
 { 
 if (P[i].altura<=1.58) 
 { 
 cont++; 
 SI = SI + P[i].idade; 
 } 
 } 
 if (cont == 0) 
 Console.WriteLine("Não foram cadastradas pessoas om menos de 1,58 
metros"); 
 else 
 { 
 double Med_idade = SI / cont; 
 Console.WriteLine(" A média de idade é de: {0}.", Med_idade); 
 } 
 
 } 
 static void Main(string[] args) 
 { 
 Console.WriteLine("Programa que: imprime altura da pessoa mais 
alta."); 
 Console.WriteLine("imprime o Nome, sexo e idade da pessoa mais 
nova."); 
 Console.WriteLine(" Imprime a média de idade das pessoas com até 1,58 
metros."); 
 Console.WriteLine(" Imprime a quantidade de mulheres com idade maior 
igual a 20 anos."); 
 Console.Write("Digite o número de pessoas a cadastrar: "); 
 int NP = int.Parse(Console.ReadLine()); 
 valida(ref NP, 20); 
 regpessoa[] Pessoa = new regpessoa[20]; 
 Console.WriteLine("Cadastro das pessoas:"); 
 entrada(NP, Pessoa); 
 Console.WriteLine("Pressione enter para ver Pessoa mais alta"); 
 Console.ReadKey(); 
 Console.Clear(); 
 Maisalta(NP, Pessoa); 
 Console.WriteLine("Pressione enter para ver pessoa mais nova "); 
 Console.ReadKey(); 
 Console.Clear(); 
 maisnova(NP, Pessoa); 
 Console.WriteLine("Pressione enter para ver a média de idade das 
pessoas com até 1,58 metros."); 
 Console.ReadKey(); 
 Console.Clear(); 
 media(NP, Pessoa); 
 Console.WriteLine("Pressione enter para ver a quantidade de mulheres 
com idade maior igual a 20 anos."); 
 Console.ReadKey(); 
 Console.Clear(); 
 mulheres(NP, Pessoa); 
 Console.WriteLine("Pressione enter para encerrar!"); 
 Console.ReadKey(); 
 } 
 
 } 
}

Outros materiais