trabalho em c++

1. trabalho em c++

IRAN MOREIRA RAMOS
IRANMR

(usa Nenhuma)

Enviado em 29/11/2012 - 10:19h

Estou tentando fazer um trabalho para entregar, mas não estou consguindo,o programa so esta sendo realizado uma vez.

Questão: Foi feita uma pesquisa entre os habitantes de uma região.Coletaram dados de idade, sexo (M/F) e salario.
Faça um programa em C++ que calcule e mostre:

*a media dos salarios
*a maior e menor idades
*a quantidade de mulheres com salario ate 200,00
* a idade e sexo da pessoa com menor salario.

Finalize a entrada de dados ao ser digitada uma idade negativa.



#include <iostream>
#include <conio.h>
using namespace std;
int main(void)
{
int idade, menor_idade, maior_idade, cont_m, cont_f, cont_sal, cont_mulher;
float sal, media_sal, soma_sal, menor_sal;
char sexo;
cont_m= cont_f = cont_sal = cont_mulher= 0;
do{
cout<<"\n\nDIGITE A IDADE:";
cin>>idade;
}while(idade<0);
if(idade> maior_idade)
maior_idade=idade;
if(idade< menor_idade)
menor_idade=idade;


cout<<"\nDIGITE SEXO M ou F:";
cin>>sexo;
if(sexo=='F'){
cont_f=cont_f+1;
}
else{
cont_m=cont_m+1;}

cout<<"\nDIGITE O SALARIO:";
cin>>sal;
cont_sal=cont_sal+1;
soma_sal=soma_sal+sal;
media_sal=soma_sal/cont_sal;

if(sal<menor_sal)
menor_sal=sal;
if(sexo=='F'&& sal<=200)
cont_mulher=cont_mulher+1;



cout<<"\nA MEDIA DOS SALARIOS:"<<media_sal;
cout<<"\nA MAIOR IDADE:"<<maior_idade;
cout<<"\nA MENOR IDADE:"<<menor_idade;
cout<<"\nA QUANTIDADE DE MULHERES COM SALARIO ATE R$ 200,00:"<<cont_mulher;
cout<<"\nA IDADE E SEXO DA PESSOA QUE POSSUI O MENOR SALARIO:"<<menor_sal;

getch();
}



  


2. Re: trabalho em c++

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/11/2012 - 15:04h

Você não colocou coisa alguma que sugerisse que deveria repetir o processo de leitura. Não acha que está faltando um for ou while em volta das leituras de dados?

Talvez aquele do...while da idade seja sua tentativa de fazer a repetição de que falo acima, mas note que você envolveu com ela apenas a leitura da idade e, ainda por cima, o fez de um modo tal que repete tal leitura enquanto a idade for negativa, ao passo que o enunciado diz que uma idade negativa marca o final dos dados como um todo.

Sua lógica de obter a maior e a menor idade está quase correta, mas falta uma coisa muito importante: os valores de maior_idade e menor_idade estão indefinidos antes de serem comparados pela primeira vez com a idade que você acabou de ler.

Esses erros de variáveis com valores iniciais indefinidos costumam ser a causa de muitos bugs latentes ou que acontecem "de vez em quando". Ligue as opções de depuração e diagnóstico de código do seu compilador, e corrija todos os erros que ele apontar (no GCC e compiladores derivados, eu recomendo usar as opções "-Werror -Wall -pedantic -O2", que diagnosticariam com precisão esse problema).

Em C, raramente você verá alguém usar algo como "X=X+1", pois a forma mais comum de expressar a mesma ideia entre os programados C e C++ é usar "X++" ou "++X". Embora não deixe de ser uma arte, programação não é literatura: usar um estilo de escrita só seu será prejudicial em sua carreira; fale a língua da maioria educada (mas fuja sempre da língua suja dos ignorantes crassos, mesmo que eventualmente se tornem "maioria" num nicho específico).

Evite esse <conio.h> e getch() apenas para pausar o programa ao final da execução. O uso dessas coisas sugere que você está usando Dev-C++, e tal técnica está lá somente para evitar o fechamento da janela ao final do programa.

Se você realmente estiver com o Dev-C++, deve saber que ele está obsoleto e sem manutenção. Isso só já deveria bastar para que você o troque por algo mais moderno, como o Code::Blocks. Não bastasse estar com uma ferramenta mais nova, o C::B tem a opção de não fechar a janela de execução de programas feitos em modo console, eliminando os "bacalhaus" de se ter, supostamente, de chamar getch() ou system("pause") no programa.


3. trabalho em c++

IRAN MOREIRA RAMOS
IRANMR

(usa Nenhuma)

Enviado em 29/11/2012 - 17:05h

Outros alunos ja falaram sobre o Dev-C++ estar obsoleto, porém tenho que entregar o trabalho nesta linguagem. Eu já tentei fazer outras alterações com for, do, while, mas não consegui. Estou fazendo Engenharia Ambiental e apesar de tudo hoje em dia girar em torno de computação, não devo me aprofundar muito nesse assunto. Me dê uma luz aí por favor.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts