Prova Prática – Algoritmo
A prova possui 3 etapas, mas se constitui de um único programa COMPLETO que deve incluir
estas três etapas em sequência.
Implemente o seguinte algoritmo descrito abaixo composto das seguintes tarefas: Etapa 1:
O programa deve ler uma série de dados referentes aos salários de cada um dos funcionários
de uma empresa, realizando uma operação de reajuste destes salários, de acordo com a tabela
de reajustes indicada abaixo. O programa deve repetir a leitura dos dados de salário enquanto
o usuário responder que deseja continuar fornecendo novos dados (ver o exemplo abaixo da
tela de entrada de dados do programa que se deseja obter)
Faixa Salarial (Salário Antigo) Percentual de Reajuste
Abaixo de R$ 1.000,00 15 % (quinze por cento de reajuste)
Entre R$ 1.000,00 e menos de R$5.000,00 10 % (quinze por cento de reajuste)
Entre R$ 5.000,00 e menos de R$10.000,00 5 % (quinze por cento de reajuste)
Acima de R$ 10.000,00 Sem reajuste
Exemplo da tela de entrada de dados para Etapa 1:
Digite o salario: 100
Salario reajustado: 115.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 1
Digite o salario: 1000
Salario reajustado: 1100.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 1
Digite o salario: 5000
Salario reajustado: 5250.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 1
Digite o salario: 10000
Salario reajustado: 10000.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 0
Etapa 2:
Uma vez que os dados dos salários dos funcionários foram lidos e processados (feitos os
reajustes e calculados os totais e valores necessários para esta nova etapa), o programa irá
entrar no modo de exibição do relatório geral. Neste modo, o programa irá exibir na tela um
relatório dos seguintes itens:
- Total acumulado de salários da folha de pagamento antiga (antes do reajuste);
- Total acumulado de salários da folha de pagamento nova (após o reajuste);
- Média geral dos salários pagos pela empresa antes do reajuste;
- Média geral dos salários pagos pela empresa após o reajuste;
- Valor de acréscimo no total da folha de pagamento em função do reajuste e
percentual de crescimento da nova folha de pagamento em relação a antiga folha de
pagamento.
Exemplo da tela de entrada de dados para Etapa 2: (baseada nos dados do exemplo anterior)
== Relatorio Geral ==
Total da folha de pagamento antiga: 16100.00
Total da folha de pagamento nova: 16465.00
Media de salarios antigos da empresa: 4025.00
Media de salarios novos da empresa: 4116.25
Acrescimo na folha de pagamento: 365.00 (acrescimo de 2.27 por cento) Etapa 3:
Uma vez que os dados dos gerais do relatório de salário foram exibidos, exibir os dados
referentes aos totais ATUAIS de funcionários em cada faixa de salário:
- Número total de funcionários com novo salário abaixo de 1.000;
- Número total de funcionários com novo salário entre 1.000 e menos de 5.000;
- Número total de funcionários com novo salário entre 5.000 e menos de 10.000;
- Número total de funcionários com novo salário a partir de 10.000;
- Número total de funcionários da empresa.
== Relatorio Geral ==
Numero de funcionarios com salario abaixo de 1.000: 1
Numero de funcionarios com salario entre 1.000 e menos de 5.000: 1
Numero de funcionarios com salario entre 5.000 e menos de 10.000: 1
Numero de funcionarios com salario a partir de 10.000: 1
Total de funcionarios: 4
Regras em relação da prova
1. A prova é individual.
2. É permitido consultar somente a lista de exercícios já realizados.
3. Não é permitido o acesso à internet durante a prova.
Olá, Eu Preciso criar um codigo para cadastrar 20 clientes em um posto de gasolina, e depois fazer a somatoria de quanto gastou
Minha duvida é a seguinte, eu coloquei pra cadastrar só 20, mas, antes de fazer a somatoria, aparece um 21° pra eu digitar o combustivel utilizado e quantos litros, eu gostaria de saber o que eu tenho que mudar, pra esse 21° não aparecer, e após cadastrar o ultimo 20°, ele somar tudo de uma vez já...
Grata desde já
#include <cstdio>
#include <string.h>
#include <iostream>
#include <conio.h>
int main(){
int i, VETOR_A[100], Cont=0;
char VETOR_B[100], Op= 'S', Aux[10];
float VETOR_C[100], PRECO , SOMA=0;
do{
printf("\nCLIENTE %d:\n\n", Cont+1);
printf("DIGITE O COMBUSTIVEL UTILIZADO:\n \n= G = GASOLINA - R$ 4,49\n= E = ETANOL - R$ 2,69\n= D = DIESEL - R$ 3,39\n\n");
do{
fflush(stdin);
scanf ("%c", &VETOR_B[Cont]);
if (toupper(VETOR_B[Cont])=='G'){strcpy(Aux,"GASOLINA"); PRECO=4.49; Op= 'p';}
else if(toupper(VETOR_B[Cont])=='E'){strcpy(Aux,"ETANOL" ); PRECO=2.69; Op= 'p';}
else if(toupper(VETOR_B[Cont])=='D'){strcpy(Aux,"DIESEL" ); PRECO=3.39; Op= 'p';}
else {printf("COMBUSTIVEL NAO CADASTRADO, SO E PERMITIDO OS TRES COMBUSTIVEIS CADASTRADO NO SISTEMA\n"); }
}while (Op != 'p');
do{
printf ("\nDIGITE O TOTAL DE LITROS%S ABASTECIDO: ", Aux);
fflush (stdin);
scanf ("%d", &VETOR_A[Cont]);
if (VETOR_A[Cont] >=0){
VETOR_C[Cont] = (float)VETOR_A[Cont] * PRECO;
}
else{
printf("NAO PODE EXISTIR VALOR NEGATIVO...!\n");
}
}while(VETOR_A[Cont] < 0);
if(Cont < 20)Cont++;
else {
getch();
Op='N';
}
}while(toupper(Op) != 'N');
printf("\n");
for(i=0; i<Cont; i++){
printf("TOTAL DE LITROS ABASTECIDO: %d COMBUSTIVEL UTILIZADO: %c VALOR TOTAL: %2f\n",VETOR_A[i], VETOR_B[i], VETOR_C[i]);
SOMA += VETOR_C[i];
}
printf("\nVALOR TOTAL ARRECADADO NO DIA -> R$ %.2f\n\n",SOMA);
getch();
return 0;
}
Sou iniciante em c e preciso transformar um num. romano em numero decimal mas não posso usar nenhuma biblioteca o função alem de for, while, strcmp, e if basicamente.
Estou montando um programa em c+ , que deveria solicitar números para uma matriz e identificar se ela é simétrica , ou não é simétrica, porém não acho erro em meu programa , se alguém puder me informar aonde estou errando , ficaria grata.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char* argv[]){
int A[8][8],B[8][8];
int i,j,cont=0;
for(i=0;i<8;i++){
for(j=0;j<8;j++){
printf("Informe o elemento da linha %d da coluna %d: ",i+1,j+1);
scanf("%d", &A[j]);
B[j] = A[j];
if(A[j]!=B[j]){
cont++;
}
}
}
if(cont>0){
printf("\n\nA matriz nao e simetrica!!\n\n");
}else{
printf("\n\nA matriz e simetrica!!\n\n");
}
system("PAUSE");
return 0;
}
Estou desenvolvendo um trabalho para faculdade onde armazeno e exibo os resultados de ordenação de diversos algoritmos, sendo numero de comparações, trocas e tempo.
Tenho tudo pronto e escrito, ou seja, o escopo do trabalho esta Ok, falta implementar o resto dos algoritmos.
Consegui quase tudo com a ajuda de colegas de outro fórum, porém estou com um erro que não consigo soluciona-lo, se alguém puder me dar uma ideia do que esta acontecendo fico grato.
1- Aqui eu tenho minha lista global de registros que ira armazenar os resultados de ordenação:
typedef struct{
int numcomp;
int numtrocas = 0;
}ESTATISTICAS;
2- Como exemplo o algoritmo bubble sort recebendo os valores por referencia:
void bubbleSort(int vet[], int num, ESTATISTICAS* estatisticas){
int i, continua, aux, fim = num;
do{
continua = 0;
4- O erro consiste em: quando compilo meu programa tudo esta ok, porém o valor retornado pela variável numcomp esta muito além do numero de comparações, se parecendo mais com um endereço de memoria. algo do tipo: 348219. Já a variável numtrocas o valor é retornado normalmente apos os incrementos ++;
Como eu escrevo um algoritmo que forneça os números distintos de um vetor lido. Por exemplo, se o vetor lido for v = {3, 2, 1, 3, 4, 1, 5, 5, 2} o algoritmo deverá mostrar os valores 3, 2, 1, 4, 5. Considere a leitura de um vetor de 20 números inteiros.
Na verdade ele pede para mostrar no final todos os valores do vetor mas sem repeti-los,
Exemplo de Entrada {1,1,2,2,3,3,4,4,5,5}
Exemplo de Saída {1,2,3,4,5}
Obrigado!
Código fonte feito até agora...
#include <stdio.h>
#include <stdlib.h>
int main()
{
int A[5];
int B[5];
int cont1,cont2;
cont1=0;
Prova Prática – Algoritmo
A prova possui 3 etapas, mas se constitui de um único programa COMPLETO que deve incluir
estas três etapas em sequência.
Implemente o seguinte algoritmo descrito abaixo composto das seguintes tarefas:
Etapa 1:
O programa deve ler uma série de dados referentes aos salários de cada um dos funcionários
de uma empresa, realizando uma operação de reajuste destes salários, de acordo com a tabela
de reajustes indicada abaixo. O programa deve repetir a leitura dos dados de salário enquanto
o usuário responder que deseja continuar fornecendo novos dados (ver o exemplo abaixo da
tela de entrada de dados do programa que se deseja obter)
Faixa Salarial (Salário Antigo) Percentual de Reajuste
Abaixo de R$ 1.000,00 15 % (quinze por cento de reajuste)
Entre R$ 1.000,00 e menos de R$5.000,00 10 % (quinze por cento de reajuste)
Entre R$ 5.000,00 e menos de R$10.000,00 5 % (quinze por cento de reajuste)
Acima de R$ 10.000,00 Sem reajuste
Exemplo da tela de entrada de dados para Etapa 1:
Digite o salario: 100
Salario reajustado: 115.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 1
Digite o salario: 1000
Salario reajustado: 1100.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 1
Digite o salario: 5000
Salario reajustado: 5250.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 1
Digite o salario: 10000
Salario reajustado: 10000.00
Deseja informar outro salario ? (0 para sair, 1 para continuar) 0
Etapa 2:
Uma vez que os dados dos salários dos funcionários foram lidos e processados (feitos os
reajustes e calculados os totais e valores necessários para esta nova etapa), o programa irá
entrar no modo de exibição do relatório geral. Neste modo, o programa irá exibir na tela um
relatório dos seguintes itens:
- Total acumulado de salários da folha de pagamento antiga (antes do reajuste);
- Total acumulado de salários da folha de pagamento nova (após o reajuste);
- Média geral dos salários pagos pela empresa antes do reajuste;
- Média geral dos salários pagos pela empresa após o reajuste;
- Valor de acréscimo no total da folha de pagamento em função do reajuste e
percentual de crescimento da nova folha de pagamento em relação a antiga folha de
pagamento.
Exemplo da tela de entrada de dados para Etapa 2: (baseada nos dados do exemplo anterior)
== Relatorio Geral ==
Total da folha de pagamento antiga: 16100.00
Total da folha de pagamento nova: 16465.00
Media de salarios antigos da empresa: 4025.00
Media de salarios novos da empresa: 4116.25
Acrescimo na folha de pagamento: 365.00 (acrescimo de 2.27 por cento)
Etapa 3:
Uma vez que os dados dos gerais do relatório de salário foram exibidos, exibir os dados
referentes aos totais ATUAIS de funcionários em cada faixa de salário:
- Número total de funcionários com novo salário abaixo de 1.000;
- Número total de funcionários com novo salário entre 1.000 e menos de 5.000;
- Número total de funcionários com novo salário entre 5.000 e menos de 10.000;
- Número total de funcionários com novo salário a partir de 10.000;
- Número total de funcionários da empresa.
== Relatorio Geral ==
Numero de funcionarios com salario abaixo de 1.000: 1
Numero de funcionarios com salario entre 1.000 e menos de 5.000: 1
Numero de funcionarios com salario entre 5.000 e menos de 10.000: 1
Numero de funcionarios com salario a partir de 10.000: 1
Total de funcionarios: 4
Regras em relação da prova
1. A prova é individual.
2. É permitido consultar somente a lista de exercícios já realizados.
3. Não é permitido o acesso à internet durante a prova.
Compartilhar este post
Link para o post
Compartilhar em outros sites