Jump to content

Primeiro projecto


Ruka284

Recommended Posts

😄

Isso é C e não C++, logo estás na secção errada do fórum.

printf("Primeiro Profecto!n\n");

"Projecto" e não "Profecto"; "n\n": O "Enter" é apenas "\n".

   printf("o que acham deste projecto! n\n");
   printf("o que esta mal ou bem!n\n");

O "Enter" é apenas "\n".

system("pause");

Isto apenas funciona em windows, por isso o teu primeiro projecto já é dependente do S.O. (Má política)

😛

Link to comment
Share on other sites

O teu projecto parece mais C que C++.

Eu não sei C++, mas suponho que nessa linguagem seria mais parecido com isto

#include <iostream>
#include <cstdlib>

int main()
{
 std::cout << "Primeiro Profecto!\n\n";
 std::cout << "o que acham deste projecto! \n\n";
 std::cout << "o que esta mal ou bem!\n" << std::endl;
 system("pause");
 return 0;
}

De qualquer maneira, tanto em C como em C++, o system("pause"); é evitável. O uso dessa instrução limita o teu projecto a um único sistema operativo; se usares outra maneira de parar o programa podes fazer um projecto que funciona em mais computadores.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Eu não sei C++, mas suponho que nessa linguagem seria mais parecido com isto

todas as entradas '\n' deveria passar para std::endl e deveria encadear todas operações

e a política de uso do system("pause") é a mesma, isto resulta em :

#include <iostream>
#include <cstdlib>

int main()
{
 std::cout << "Primeiro Profecto!" << std::endl << std::endl
           << "o que acham deste projecto! " << std::endl << std::endl
           << "o que esta mal ou bem!" << std::endl << std::endl;
 return 0;
}
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

todas as entradas '\n' deveria passar para std::endl ...

Hmm ... o std::endl nao forca um flush do stream (e possivelmente outra gestao desse stream)? Tenho a impressao de ter lido que basta coloca-lo no fim do output para ter o efeito desejado ... e que "abusar" dele resulta em trabalho a mais para o programa.

O '\n' em C++ serve normalmente para acabar uma linha, tal e qual como em C.

Como disse antes nao sei C++. Uma pesquisa rapida nao revelou a fonte desta ideia que eu tenho.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Hmm ... o std::endl nao forca um flush do stream (e possivelmente outra gestao desse stream)? Tenho a impressao de ter lido que basta coloca-lo no fim do output para ter o efeito desejado ... e que "abusar" dele resulta em trabalho a mais para o programa.

O '\n' em C++ serve normalmente para acabar uma linha, tal e qual como em C.

Como disse antes nao sei C++. Uma pesquisa rapida nao revelou a fonte desta ideia que eu tenho.

Sim, é verdade que o std::endl força o "flush" de "buffered streams" da mesma forma que o '\n' porque a maior parte dos stream são "line buffered" como a consola. A única diferença é que o std::endl é um "string manipulator" que tem um "overhead" mínimo.

Logo, se o pretendido é a performance, dever-se-á usar o '\n', mas em termos de paradigma, a solução std::endl é a mais correcta.

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

novamente isso não é c++, é c

primeiro usa as tags do geshi

segundo, esse código em c++ é

include <iostream>
using namespace std;

int main ()
{
 int dias;

 cout << "Entre com o número de dias: ");
 cin >> &dias;
 cout << endl << endl << dias << " dias equivalem a " << (dias/365.25) << " anos." << endl;

 return 0;
} 
Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Mais um programa que parece C.

Se queres aprender C++, aconselho-te a que escrevas programas de teste nessa linguagem: vai-te poupar muitas dores de cabeca no futuro.

Em C (e, suponho eu, em C++) e aconselhavel usar double quando se pretende ter um valor com casas decimais. O tipo double e usado internamente pelo compilador, tem mais precisao que o tipo float e, na maioria dos computadores actuais, e mais rapido. So em casos muito excepcionais e que se deve pesar o uso de float em vez de double.

Em C, o normal e as variaveis terem nomes em minusculas: principalmente variaveis compostas por apenas uma palavra.

Uma questao de gosto pessoal de cada um, mas que eu acho que aumenta a legibilidade do codigo, e o espacamento entre os diversos tokens. Eu gosto de meter um espaco a seguir as virgulas, entre as operacoes aritmeticas, ...

O return nao precisa de parentesis: sao redundantes e desnecessarios, tal como no exemplo abaixo

Anos = Dias / (365.25);

Tirando isto, esta bom 🙂

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

novamente isso não é c++, é c

primeiro usa as tags do geshi

segundo, esse código em c++ é

include <iostream>
using namespace std;

int main ()
{
 int dias;

 cout << "Entre com o número de dias: ");
 cin >> &dias;
 cout << endl << endl << dias << " dias equivalem a " << (dias/365.25) << " anos." << endl;

 return 0;
}

correcao:

cin>>dias;

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
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.