Respostas do post passado
1- Escreveria #include < Adm >
Mas onde eu acharia uma biblioteca igual a esta?O mais provável seria que o sr. a tivesse feito em minha homenagem.Então seria #include "Adm.h" com aspas para avisar o compilador para procurar a biblioteca (header file) no seu programa e não no lugar onde ele procura por padrão. O porquê de .h veja ali em baixo em preliminares.
2- cout<<"Eu nao sei mostrar na tela";
Então eu sei mostrar na tela.O sr. não.
3- Nada ora, pois. Já que cada ponto e vírgula determina o fim de uma instrução não há necessidade de identação.Identação é uma viadagem técnica que torna o código mais legível :cada linha uma instrução,separadinho,coloridinho...
4-Só porque é caseiro não usa a funcão main()?O sr. não fez programa em casa?Não tem main ,não?
Preliminares
* O texto do seu programa é chamado código fonte. A extensão para códigos fonte em c++ é .cpp e para bibliotecas é .h no geral.Há também .hpp, .rc, etc..
* Palavra reservada ou keyword é toda palavra própria da linguagem,nesse caso c++.São exemplos de palavras reservadas: int,return , using e etc(não o etc é claro).
Indo direto ao ponto— Variáveis e memória
O computador tem uma memória,dita principal,chamada RAM.Tudo para rodar no computador,incrusive seu msn e o seu compilador, tem que reservar espaço nessa memória.Como nossos programas também rodam em computador somos obrigados a reservar espaço por ai para armazenar as informações que utilizaremos neles.Para isso usaremos variáveis.
----------------------------------------------------------------------------------------------------------
Variável é um espaço reservado na memória para guardar algum dado
--------------------------------------------------------------------------------------------------------
A variável,seu tipo, é definida pelo tamanho (determinado em bytes) do dado que ela vai ter que guardar.A tabela abaixo mostra os diferentes tipos de variáveis.Não é preciso decorá-los ,por enquanto apenas saiba o que é e para que serve um int,float e um char.
Tipo de variável | Para que serve | O que pode guardar¹ |
int | Para números inteiros | De -2147483647 até 4294967295 |
float | Para números decimais, vulgo número quebrado | Coisas como 1.34 ou 1.23543 |
char | Para caracteres (letras,símbolos e afins) | 'S' ou "veja lá em baixo" |
string | Para frases e caracteres | "String é um char evoluído" |
bool | Verifica condições lógicas | true(que é verdadeiro) ou false(falso) |
double | Números quebrados, racionais | O dobro da capacidade do float |
wchar_t | Para caracteres "selvagens" (muito longos) | Caracteres "selvagens" ,uai |
Existem palavras(especificadores) que mudam as características da variável:
Especificador² | Atua em | Faz... |
|
|
|
|
unsigned | int,char e junto com short ou long ex.:unsigned short int | com que a variável só receba valores positivos | ||||
short | int ex.:short int | diminuir o tamanho da variável pela metade | ||||
long | int ,double ex.:long double | dobrar o alcance(tamanho )da variável | ||||
¹O valor de int considera todos os alcances(long,signed ,etc.).Note que apenas declarar int resolve a maioria dos casos.
²signed é o tipo de variável que aceita tanto valores positivos quanto negativos.
Note que eu não pus o tamanho em bytes de cada variável.Como isso depende do seu ambiente o melhor é perguntar ao seu próprio compilador.Digite esse código fonte;a saída será o tamanho de cada tipo de variável no seu sistema.
#include < iostream >
using
namespace std;
int main()
{
cout << "O tamanho de um int e:\t\t" << sizeof(int) << "bytes.\n";
cout << "O tamanho de um um short int e:\t" << sizeof(short) << "bytes.\n";
cout << "O tamanho de um long int e:\t" << sizeof(long) << "bytes.\n";
cout << "O tamanho de um char e:\t\t" << sizeof(char) << "bytes.\n";
cout << "O tamanho de um bool e:\t\t" << sizeof(bool) << "bytes.\n";
cout << "O tamanho de um float e:\t" << sizeof(float) << "bytes.\n";
cout << "O tamanho de um double e:\t" << sizeof(double) << "bytes.\n";
cin.get();
return 0;
}
Entenderam a idéia de variável?Não? Sim?Vamos ver um exemplo então:
Dois.cpp
//Variáveis,cin e endl
#include < iostream >
using
namespace std;
int main()
{
int idade;//cria uma variável inteira(int)chamada idade
cout<<"Qual a sua idade?(seja sincero)"<< endl;//veja endl abaixo
cin>>idade;//veja abaixo cin
cout<<"A sua idade e "<< idade;
cin.get();
cin.get();
return 0;
}
Saída(O que o sr. verá na tela)
Qual a sua idade?(seja sincero)
56(ou o que for digitado)
A sua idade é 56
Entendendo
A instrução int idade; cria uma nova variável.Em seguida o usuário é interrogado para digitar um valor e então vem: cin>>idade; .O que o usuário digitou é armazenado na variável idade tanto é que imprimimos na tela o que ele digitou com
cout<<"A sua idade é "<< idade;
Veja que sai o valor da variável e não a palavra idade(para mostrar idade na tela teria que ter aspas).Observe também o <<.Ele serve para separar a frase terminada nas aspas e variável que não pode ter aspas .Veja outro exemplo:
cout<< "Exemplo: "<< idade << "é muita coisa";
Saída: Exemplo 3245236 é muita coisa
Então eu posso concluir que cin é para entrada de dados?
Isso jovem padawan.O comando cin recebe um dado digitado pelo usuário e o armazena em uma variável. Sua sintaxe(escrita) é essa:
cin>>nome da variável;
cin>> nome da variável>>nome de outra variável >>e assim por diante;
Note o >> (menor menor)diferente do cout que é maior maior(<<).
Mas e o endl?
É uma frescura seqüência que faz o texto pular uma linha.Também existe:
Sequência | Equivale a |
\n | Nova linha |
\t | Tabulação |
\b | Backspace |
\" | Aspa dupla |
\' | Aspa simples |
\? | Ponto de interrogação |
\\ | Barra invertida |
Esta tabela não foi tirada da Wikipédia
Ex.:cout<<"Nova linha\n";
cout<<"Outra linha"<< "\n";
cout<<"\nJá encheu";
Perceba que mesmo com aspas ("\n") não se imprime \n, mas sim pula-se a linha.
Nome de variáveis, inicialização e constantes
Nome das variáveis
O sr. viu que a variável que usei se chamava idade .Mas por que idade?Simplesmente porque eu quis. Uma variável pode ter qualquer nome desde que este não seja uma palavra reservada, contenha símbolos esdrúxulos (só é permitido underline) ou comece com um número. Regra prática: Não nomeie variáveis como você conversaria com seus miguxos.
Ex.:
1var Inválido |
Id§d* Inválido! |
MiGGUxinH@aM) Muito inválido |
sobre Valido |
--------------------------------------------------------------------------------------------------------------------------------------------------
Atenção:C++ é case sensitive.Isso significa que int é diferente de INT e Int, ou seja, ele diferencia minúsculas de maiúsculas.
---------------------------------------------------------------------------------------------------------------------------------------------------
Inicialização
O Sr. também viu que a variável idade recebeu o valor digitado pelo usuário.Mas que valor ela tinha antes disso?Tinha um valor aleatório dado pelo compilador.Mas se quiséssemos que a variável idade começasse com um valor?Easy ,é só inicializá-la com aquele valor.Veja:
int idade=63;
Você pode inicializar a variável e depois atribuir-lhe um valor:
int idade;
idade=123;
Pode-se também atribuir a uma variável o valor de outra:
int idade=suaidade;
Constantes
Uma variável pode ter um valor constante também.Se o sr. declara uma variável como constante obviamente o sr. não poderá mudar seu valor posteriormente.Se for baca o suficiente para tentar fazê-lo o compilador retornará um erro.Para declarar uma constante podemos usar:
# define
Ou:
const
#define é uma diretiva que indica, vulgarmente falando, uma troca. Se disessemos
#define adm 77
toda vez que aparecesse adm no nosso código ele seria substituído pelo número 77. Mas isto além de pobre e tosco é um mau hábito(como #define é uma diretiva para pré-processador o compilador nunca verá adm ,apenas o número 77).Uma maneira mais adequada de fazer isso é usando a keyword const.Sua sintaxe é a seguinte:
const tipo de variável nome da vaiável =valor;
Ex:
const int x=234;
As variáveis const devem ser inicializadas com um valor.
Mas por que raios eu usaria uma variável constante?
Primeiro para proteger-se do seu próprio burrice erro ou erro de terceiros. Depois como veremos const também se aplica a outras coisas e além do mais variáveis constantes impedem que algo no nosso programa, contra a nossa vontade, mude o teor de nossas variáveis (referências passadas para funções ,etc.)
Tres.cpp ,o programa final deste artigo, exemplificará o uso de todas estas trenheiras(cin,cout,#define,const e etc).
#include < iostream >
using
namespace std;
#define esse 34//usando o define
int main()
{
const
float age =26.7;//inicialização da variável age.Veja que é //26.7 sem virgula mas sim com ponto
int idade,ide;//fazendo dois int.note a virgulas separando cada nome de variavel
idade=97;//agora idade tem valor de 97
cout<<"Digite sua idade"<< endl;
cin>>ide;//recebe uma valor para ide
cout<<"Voce digitou "<< ide << endl ;
cout<<"Agora mostrando sua real idade:";
ide=idade;//ide passa a ter o mesmo valor que idade
cout<< ide << "\n";
cout<<"Uma idade que faz muito tempo para voce: "<< age << "\n";//usando a variável constante
cout<<"Outra igualmente distante:" << esse; //finalmente usamos o esse definido pelo #define
cin.get();
cin.get();//aqui também são precisos dois cin.get()
return 0;
}
Saída(o que sai disso tudo)
Digite sua idade
20
Voce digitou 20 como sua idade
Agora mostrando sua real idade: 97
Uma idade que faz muito tempo para voce: 26.7
Outra igualmente distante: 34
Entendendo
Números decimais,que usamos com float, devem ser com ponto e não com virgula por causa da notação americana.O resto é auto ilustrativo.Mostra como inicializar as variáveis com const ou #define,como atribuir-lhes valores , o uso mais elaborado do cout e o uso do cin para recebermos um valor digitado pelo usuário.
Checando o que o Sr. (não)aprendeu
1- Para que serve o comando cin?
2- Mostre-me com declarar duas variáveis ,um float e outro int chamadas Joao e Maria.
3- Usando Joao e Maria peça para o usuário digitar dois valores e os receba.
4- O que há de errado com este código??
#include< iostream >
using
namespace std;
int main()
{
int
char;
cout<<"Digite sua idade"<< "\n";
cin>>char>>"\n";
cout<<char;
cin.get();
cin.get();
return 0;
}
5- Em que situação uma variável const pode ser alterada???
Artigo longo...Se não entenderem, os COMENTÁRIOS existem para isso.
0 COMENTE AQUI:
Postar um comentário