Jump to content
Chris_Gamer

Novato em c++ help-me

Recommended Posts

Chris_Gamer

Ola a todos,

Preciso de ajuda, entrei recentemente em um curso de jogos digitais virtual aqui no Brasil, estou com muita duvidas, pois gosto de jogar e agora estou por trás disso tudo...O professor passou um exercício virtual para se fazer onde pediu um menu simples e nesse menu deveria conter a informação que você poderia escolher entre somar ou fazer a raiz e daria o resultado do objetivo escolhido.

Comecei com esse algo simples.

#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main ()
{
   int a,b,c,d;
       char n1[5],n2[5];
   cout<<"\n - Digite a Opcao desejada abaixo -\n ";
   cout<<"\n somar - Somar dois numeros";
   cout<<"\n raiz - Raiz quadrada de um numero numeros \n";
       cin>>n1;
if (n1==raiz)
    {
   cout<<"\n Digite o numero desejado para o calculo da raiz: ";
   cin>>a;
   b=sqrt(a);
   cout<<"\n O Valor da raiz e :"<<b;
   }
else
{
            cout<<"\n Digite dois numeros para a soma\n";
            cout<<"\n Digite um numero :";
               cin>>c;
               cout<<"\n Digite mais um numero :"; 
               cin>>d;
           n2=c+d;                                         
            cout <<"\n O resultado da soma e : \n :"<<n2; 
}
system ("pause/nulle");

}

Pf me ajudem a achar o erro...

Obrigado a todos.. :thumbsup:

Edited by thoga31
Tags code + GeSHi

Share this post


Link to post
Share on other sites
Chris_Gamer

Rssss pode rir hehehe, como disse sou novato de tudo,,, bom imaginei que se n1 e igual ao digitado no caso raiz ele me daria o resultado do que esta dentro do if se nao ,,, seria digitado soma e me daria o resultado do que esta dentro de else.

Share this post


Link to post
Share on other sites
thoga31

Mas "raiz" está escrito como se fosse uma variável e não o valor contido em n1.

Não seria aliás mais simples fazeres um menu com as opções numéricas?


Knowledge is free!

Share this post


Link to post
Share on other sites
Chris_Gamer

Gostaria que digita-se soma ou raiz,, mas pf me de um exemplo de como ficaria na sua concepção??

muito obrigado...

Share this post


Link to post
Share on other sites
HappyHippyHippo

Rssss pode rir hehehe, como disse sou novato de tudo,,,

aqui ninguem está a rir, a pergunta serve para pensares no que está escrito

bom imaginei que se n1 e igual ao digitado

n1 será sempre o que digitaste, foi o que disseste fazer com a instrução cin

o que pretendes fazer é verificar se o valor de n1 é igual à string "raiz", e a string raiz escrevesse com aspas:

if (n1=="raiz")

caso contrário, a palavra raiz é um identificador.


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Chris_Gamer

Pessoal descobri....... ebaaaaaa

Fica desta forma...

#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main ()
{
   float a,b,c,d,e;
       char n1[5];
   cout<<"\n - Digite a Opcao desejada abaixo -\n ";
   cout<<"\n somar - Somar dois numeros";
   cout<<"\n raiz - Raiz quadrada de um numero numeros \n";
       cin>>n1;
if (n1=="raiz")
    {
   cout<<"\n Digite o numero desejado para o calculo da raiz: ";
   cin>>a;
   b=sqrt(a);
   cout<<"\n O Valor da raiz e :"<<b;
   }
else
{
            cout<<"\n Digite dois numeros para a soma\n";
            cout<<"\n Digite um numero :";
               cin>>c;
               cout<<"\n Digite mais um numero :"; 
               cin>>d;
           e=c+d;                                         
            cout <<"\n O resultado da soma e : \n :"<<e; 
}
system ("pause/nulle");

}

Ohhh dor de cabeça,,,rsssss quero ver quando estiver mais avançado como vai ser.... rssssss

A todos muito obrigado....

Edited by thoga31
Tags code + GeSHi

Share this post


Link to post
Share on other sites
thoga31

Vê isto, entretanto.

Estás a usar demasiadas variáveis. Tenta reduzir nisso.

Quando ficar mais avançado, vais ver que estas coisas já serão básicas para ti.

  • Vote 1

Knowledge is free!

Share this post


Link to post
Share on other sites
HappyHippyHippo

Fica desta forma...

podia ficar bem melhor ...

#include <iostream>  // std::cout, std::cin, std::cerr, std::endl
#include <fstream>   // stream state values
#include <string>    // std::string
#include <cmath>     // sqrt
using namespace std;

int main (void)
{
   double a, b;     // não é necessário mais do que os duas variáveis
   string response; // string que guardará o tipo de operação a ser efectuada

   // apresentar o meno com as opções
   cout << "- Digite a opcao desejada abaixo -" << endl << endl;
   cout << "soma - Somar dois numeros" << endl;
   cout << "raiz  - Raiz quadrada de um numero numeros" << endl;

   // pedir/esperar pela a opcao escrita pelo o utilizador
   cout << ">>";
   cout.flush();
   cin >> response;

   // validar a leitura efectuada
   if ((cin.rdstate() & std::ifstream::failbit ) != 0)
   {
       std::cerr << "Erro na leitura da opcao inserida" << endl;
       return -1;
   }

   // verificar se foi inserida a opcao do calculo da raiz
   if (response == "raiz")
   {
       // pedir/esperar pelo valor do qual a raiz será caluclada escrito pelo o utilizador
       cout << "Digite o numero desejado para o calculo da raiz >> ";
       cout.flush();
       cin >> a;

       // validar a leitura efectuada
       if ((cin.rdstate() & std::ifstream::failbit ) != 0)
       {
           std::cerr << "Erro na leitura do do qual a raiz sera calculada" << endl;
           return -1;
       }

       // apresentar o resultado da raiz quadrada do valor inserido
       cout << "O valor da raiz de " << a << " e : " << sqrt(a) << endl;
   }
   // verificar se foi inserida a opcao da soma de dois valores
   else if (response == "soma")
   {
       // pedir/esperar pelos valores a serem somados escritos pelo o utilizador
       cout << "Digite os dois numeros para a serem somados >> ";
       cout.flush();
       cin >> a >> b;

       // validar a leitura efectuada
       if ((cin.rdstate() & std::ifstream::failbit ) != 0)
       {
           std::cerr << "Erro na leitura dos valores a serem somados" << endl;
       return -1;
       }

       // apresentar o resultado da soma dos valores inseridos
       cout << "O valor da soma de " << a << " e " << b << " e : " << a + b << endl;
   } else {
       // a opcao inserida não é nem "raiz" nem "soma"
       cout << "Opcao nao reconhecida : " << response << endl;
   }

   return 0;
}

Edited by HappyHippyHippo
Correcção da LP nas tags code

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.