Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida em programa de C++ no devC++


thathá

Pergunta

Estou fazendo um programa em C++ utilizando o devC++

o programa tem q ler o nome e o sobrenome de uma pessioa e escrever ql o peso ideal de acordo com o sexo

...

como eu não entendo muito coisa... sou inciante do iniciante!

preciso de muito ajuda... da forma mais clara possível, é um trab de facul e tem mais um tanto q não entendo.. eu coloco no C++ e nem termina de compilar de tanto erro q dá..

eis meu cod fonte:

#include <iostream>
#include <stdio.h>
#include <conio.h>

int main()
{
    char nome[30];
    char sobrenome[30];
    char sexo[1];
    float altura;
    float peso_ideal;
    printf("Digite nome:\n");
    scanf("%s",&nome);
    printf("Digite sobrenome:\n");
    scanf("%s",&sobrenome);
    printf("Digite sexo:\n");
    scanf("%s",&sexo);
    if (sexo=F)
    {
       peso_ideal=(62*altura)-44.7;
    else
        peso_ideal=(72.7*altura)-58;
    }
    scanf("%d",&peso_ideal);
}

desde já agradeço...

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

O problema está nesta parte do código:

if (sexo=F)
{
peso_ideal=(62*altura)-44.7;
else
peso_ideal=(72.7*altura)-58;
}
Esqueceu de utilizar apóstrofos na comparação e também não fechou o if antes de começar o else. No caso, é uma linha, então não precisa de chaves. Outros "erros" a serem corrigidos: Como a variável sexo só vai utilizar um espaço, você pode omitir o [] e utilizar assim: char sexo; (Declaração) sexo = 'F'; (Atribuindo um valor) No final, se você quiser imprimir a variável, não se usa scanf, mas sim printf. printf("%d", peso_ideal); O if e else pode ser feito de duas formas (neste caso):
// Assim:
if (sexo='F')
    peso_ideal=(62*altura)-44.7;
else
    peso_ideal=(72.7*altura)-58;

// Ou assim:
if (sexo='F') {
    peso_ideal=(62*altura)-44.7;
} else {
    peso_ideal=(72.7*altura)-58;
}

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

muito obrigada...

já ajudou 90% dos erros q apareceram mas agora tem 3 q não adiantou..

olha:

in function `int main()´:

linha 18 ( if (sexo=F))

`F´undeclared (first use this function)

(Each undeclared identifier is reported only once for each function appears in.)

eu tenho q declarar q vou usar o "if"

achei q era comando.. e q não precisava declarar comando.

Link para o comentário
Compartilhar em outros sites

  • 0

Esqueceu de utilizar apóstrofos na comparação e também não fechou o if antes de começar o else.

Abraços.

muito obrigada...

já ajudou 90% dos erros q apareceram mas agora tem 3 q não adiantou..

olha:

in function `int main()´:

linha 18 ( if (sexo=F))

`F´undeclared (first use this function)

(Each undeclared identifier is reported only once for each function appears in.)

eu tenho q declarar q vou usar o "if"

achei q era comando.. e q não precisava declarar comando.

if(sexo=='F')

Abraços.

Editado por Durub
Link para o comentário
Compartilhar em outros sites

  • 0

isso mesmo!!!

obrigada d++++

salvou meu trab rsrs!!!

aiai .. isso porque ainda tenho mais 5 p fazer... e um deles é gigante!

tinha esquecido de colocar a altura mas já incluí...

o programa executa direitinho mas na hora que digito o sexo ele faz a conta muito rápido(não dá pra ler) e fecha sozinho..

é normal?

Editado por thathá
Link para o comentário
Compartilhar em outros sites

  • 0

É sim, pois ele não pausa o programa na hora da saída, se executado pelo Explorer.

Você tem duas opções, pausar o programa. (Receber um input do teclado e sair do mesmo)

Ou, navegar pelo terminal e executar o programa por ele.

De fato, não sei qual o melhor método para você "pausar" o programa.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Durub,

obrigada mais uma vez...eu achei um tópico com este comando de pausa e deu certo...

system("pause");

system("cls");

não ficou muito estético mas pausou o programa e eu pude perceber q ele esta executando a conta errada... mas isso vou revisar dp.

Achei complicado trabalhar com printf e scanf.

meu professor da faculdade tinha ensinado a usar cout<< e cin>> mas nunca dá certo quando peço pra compilar.

ex de um exercicio q 2° o prof estava correto

...

cout<<\n\n"Digite o nome do aluno"\n;

cin>> nome;

cout<<\n\n"Digite o sobrenome do aluno"\n;

cin>> sobrenome;

...

você pode me ajudar? sem querer abusar muito da sua boa vontade mas já abusando rs

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Isis --

cout e cin são objetos de C++ e precisam de iostream e especificação do namespace usado.

Se você quiser usar printf e scanf em C++ inclua cstdio.

#include <iostream>
using std::cin;
using std::cout;
int main() {
   string S;
   cin >> S;
   cout << 4;
   return 0;
}

Link para o comentário
Compartilhar em outros sites

  • 0

olha...se você programar em c++ utilize a iostream... se for programar em C utiliza a cstdio e cstdlib....não junta as duas coisas não....e outro

o if(sexo=F) não pode ser assim...deve ser assim: if(sexo == 'F')....usa-se o operador de comparacao (==) e não o de atribuicao (=).

tb não se usa vetor de char para gravar nomes....usa se uma string.

chame #include <string>

e depois faca

string nome;

getline(cin, nome);

só isso você atribui o nome e o sobrenome numa variavel só...não em duas.

depois teste só pra você fragar:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string nome;
    cout<<"digite seu nome:"<<endl;
    getline(cin, nome);
    cout<<endl<<"ola, "<<nome<<'!'<<endl;
    system("pause");
    return 0;
}

digite seu nome completo aew e olhe o que vai imprimir na tela...

=) espero ter ajudado aew...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --tatiane --

/* programatati. cpp

Informações pessoais */

#include <iostrean>

int main( ){

char Nome [20];

char Curso[20];

int idade;

int telefone;

printf ("Qual e o seu nome: ");

scanf ("%c",Nome);

printf ("\nDigite seu curso");

scanf ("%s",Curso);

printf ("Qual o seu telefone? ");

scanf ("%d",&telefone);

printf("Qual a sua idade? ");

scanf ("%d",&idade);

printf (Nome,"voce tem",idade,"anos");

system ("PAUSE> null");

return 0;

}

O que tem de errado??alguém pode me ajudar??

Link para o comentário
Compartilhar em outros sites

  • 0

Qual o erro apontado pelo compilador?

Um erro é esse:

scanf ("%c",Nome);
Voce está lendo um caracter, e na verdade precisa ler uma string. Então:
scanf ("%s",Nome);

Editado por kandrade
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...