Baixe o app para aproveitar ainda mais
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(); } } }
Compartilhar