Ir ao conteúdo
  • Cadastre-se

Duvidas com algoritmo C++


Flavia234

Posts recomendados

Bom dia peoples,meu algoritmo ta dando um probleminha , sou INICIANTE gostaria de conselhos de boas praticas de programaçao por favor, mas tenham paciencia por favor como eu disse sou iniciante sabe como é:lol:

Meu algoritmo le o salario de 5 pessoas e retorna seu valor por referencia com um acrescimo de 16%...mas nao ta compilando esta apresentando um erro que nunca vi.



#include<iostream>
#include<conio.h>
using namespace std;

int lerFunc(int[],int);
float calcFunc(int[],int,float*);

const int x = 5;

int main(){
int v[x];
float salario;

lerFunc( v,x );
calcFunc(v,x,&salario);

cout <<" O salario final e \202 "<< salario <<endl <<endl;

system("pause");
}

float calcFunc(int v[],int x,float *sal)
{
for(int i=0; i<x; i++)
{
cout << "\n Digite o " <<i+1<<" Salario :"<<endl<<endl;
cin >> v[i];
*sal = ((v[i]+ v[i]*16/100)- 30/100);

}

}




Link para o comentário
Compartilhar em outros sites

Oi de novo. =]

1- Cadê a lerFunc?

2- Porque você está usando vetor de inteiros para ler salários (normalmente float ou double)?

3- Esqueci de dizer isso da outra vez, mas seu x é variável GLOBAL! Ele não precisa ser colocado na chamada de função porque ela já sabe que ele existe! =]

Link para o comentário
Compartilhar em outros sites

Oi de novo. =]

1- Cadê a lerFunc?

2- Porque você está usando vetor de inteiros para ler salários (normalmente float ou double)?

3- Esqueci de dizer isso da outra vez, mas seu x é variável GLOBAL! Ele não precisa ser colocado na chamada de função porque ela já sabe que ele existe! =]

Ah mas eu tirei o x e apareceu uma linha de erros, poderia me dar exemplos? fazendo favor

Link para o comentário
Compartilhar em outros sites

Ah mas eu tirei o x e apareceu uma linha de erros, poderia me dar exemplos? fazendo favor

Assim funcionou aqui:

#include<iostream>

using namespace std;

void calcFunc(float[],float*);

const int x = 5;

int main(){
float v[x];
float salario=0.0f;


calcFunc(v,&salario);

cout <<" O salario final e \202 "<< salario <<endl <<endl;

getchar();
return 0;
}

void calcFunc(float v[],float *sal)
{
for(int i=0; i<x; i++)
{
cout << "\n Digite o " <<i+1<<" Salario :"<<endl<<endl;
cin >> v[i];
getchar();
*sal = ((v[i]+ v[i]*16/100)- 30/100);
}
}

Link para o comentário
Compartilhar em outros sites

todos os exemplos que você me manda eu estudo , me explica o que acontece aqui? porque a variavel salario esta sendo inicialisada assim?:huh:

float salario = 0.0f;

Esse f é só para indicar que é float, talvez nem precise, não é sempre que coloco não. =P

Engraçado que nem precisava ser inicializado...

Eu me confundi com sua função!

Sua função só retorna o último salário atualizado!

Achei que era *sal += ((v+ v*16/100)- 30/100);

Mas não tem o "+"!

Vi errado, perdão.

kkkkkkkkkkkkkkkkkkkk

Link para o comentário
Compartilhar em outros sites

Pior que esta mais errado que eu pensei rss era pra retornar os 5 salarios com os acrecimos eu tentei por um laço pra retornar mas ainda nao funcionou muito bem, bom aprendi mais uma com você ^_^... pelo menos imprimiu ja ficou melhor thanks

Você pode calcular e já substituir no seu vetor v. =]

Aí você terá os 5.

Link para o comentário
Compartilhar em outros sites

Deu certo, eu segui seu conselho , dai na chamada criei um laço pra fazer a leitura e rodou blzinha... facilitou muito para mim essa forma que você ensinou... brigada =D.... amanha quando eu chegar da faculdade a noite mando mais algum que eu tiver duvidas brigada de novo .. abraço...

ps a[j] nao, rsr eu estava compilando uma matriz em outra janela me confundi , estamos falando do vetor, me desculpe ^^.

Link para o comentário
Compartilhar em outros sites

A sim, fiz assim agora que você falou, so que la na chamada vou ter que mudar pra fazer a impressao do a[j];

a[j]?????????

Eu fiz assim:


#include <iomanip>

using namespace std;

void calcFunc(float []);

const int x = 5;

int main(){
float v[x];
float salario=0.0f;


calcFunc(v);
cout<<fixed;
cout<<setprecision(2);
for(int i=0;i<x;i++)
cout <<" O salario final "<<i+1<<"e "<< v[i] <<endl <<endl;

getchar();
return 0;
}

void calcFunc(float v[])
{
for(int i=0; i<x; i++)
{
cout << "\n Digite o " <<i+1<<" Salario :"<<endl<<endl;
cin >> v[i];
getchar();
v[i] = ((v[i]+ v[i]*16/100)- 30/100);
}
}
#include <iostream>

Deu certo, eu segui seu conselho , dai na chamada criei um laço pra fazer a leitura e rodou blzinha... facilitou muito para mim essa forma que você ensinou... brigada =D.... amanha quando eu chegar da faculdade a noite manda mais algum que eu tiver duvida brigada de novo .. abraço

Por nada.

Qualquer coisa, só postar aqui. =]

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...