variavel [RESOLVIDO]

1. variavel [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 17/12/2015 - 17:06h

bom dia, bom estou começando a aprender C ja sei como se começa um programa mas estou com problemas em relação a variavel.
será que alguem poderia me explicar mais sobre isso?
desde já agradeço!


  


2. Re: variavel

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 17/12/2015 - 17:44h

Olá!

Tentarei ser o mais simples e direto.

Vamos partir do princípio: as variáveis são posições na memória reservadas para guardar informações.

A declaração de uma variável segue esse padrão:


<tipo> nomeDaVariavel;


Existem alguns tipos primitivos de variáveis, como:


int: é para números inteiros [10, -235, 579, ...]
float: é para números com ponto flutuante [10.5, -235.9, 579.2, ...]
double: segue o mesmo princípio do float, mas é o dobro da memória alocada para ter maior precisão [Um número com muitas casas após a vírgula (ou nesse caso, o ponto vai no lugar da vírgula) ]
char: armazena apenas um caractere ['a', '9', '3', 'z']. Nota: o char armazena também números, mas é utilizando a aspas simples, deixando-o um caractere e se for para comparar 9 não é igual a '9'.


Para definir um valor a variável, é utilizado feito dessa forma:


int valorInteiro = 10;
Ou
int valorInteiro;
valorInteiro = 10;


Nós salvamos valores em variáveis para utilizar depois, por exemplo:


/*
Saída:
Olá, meu nome é Thiago e eu tenho 15 anos!
*/

#include <stdio.h>

int main(){

int minhaIdade = 15;

printf("Olá, meu nome é Thiago e eu tenho %d anos\n",minhaIdade);

return 0;
}


Acho que esse seria o básico. Se tiver mais alguma dúvida pode postar aqui.

Espero ter ajudado

[]'s

T+

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



3. Re: variavel [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 18/12/2015 - 12:49h

obrigado, já estou entendendo melhor a variavel int, eu escrevi esse codigo:

#include <stdio.h>

int main ()
{
int idadeDoMundo;

idadeDoMundo = 2015;

printf ("o mundo tem %i anos", idadeDoMundo);

return 0;

}

e compilou legal, é um codigo super noob, mas é apenas para aprender mesmo.
obrigado pela ajuda!


4. Re: variavel [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 18/12/2015 - 18:08h

bom agora estou com problemas com scanf, como posso utilizar para trez respostas?
exemplo:
informe seu operacional:
linux
vc esta protegido!
e com isso tera mais 2 respostas reservadas uma para windows e uma para mac, para caso a pessoa digitar windows ele retornar uma resposta.
desde ja agradeço


5. Re: variavel [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/12/2015 - 20:07h

Aí você teria que usar os comandos if ou case


6. Re: variavel [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 18/12/2015 - 22:35h

Olá amigo.

Fazer esse sistema que você quer será bem complicado para você no início.

Vou recomendar dar uma olhada na explicação detalhada do Paulo nesse tópico: http://www.vivaolinux.com.br/topico/C-C++/Metodo-Newton-Bisseccao-e-Secante-AJUDA/

Mas vou te explicar por cima.

scanf() possui o primeiro argumento com a string de formatação [semelhante ao printf, %d para inteiro, %c para caractere...] e os outros argumentos de substituição [bem semelhante ao printf].

Mais para frente você verá que quando uma função é chamada ela copia os argumentos e dentro da função é feito "a mágica", sem interferir nas variáveis passadas por argumento. Mas como nosso caso é alterar o valor da variável passada, precisaremos passar o endereço da variável, e não só a "cópia" dele.

Para isto é utilizado o operador & antes do nome da variável.

Em resumo, para utilizar seria algo assim:


#include <stdio.h>

int main(){

printf("Digite sua idade: ");

int idade;

scanf("%d",&idade); // Grava o valor do stdin [entrada principal, geralmente o teclado]

printf("Voce possui %d anos",idade);

return 0;
}


Acho que se você testar assim você já entenderá o principio, mas você pediu também para gravar o nome que a pessoa digitar, e isso é bem complexo para iniciante, pois envolve buffers e alguns cuidados a parte.

Podemos suprir isso no seu exemplo fazendo assim:


#include <stdio.h>

int main(){

int so;

printf("Digite o numero correspondente ao seu sistema operacional:\n1)Linux\n2)Windows\n3)Mac\n: ");

scanf("%d",&so);

return 0;
}



E você pediu mais, pediste para verificar qual a entrada do usuário e mostrar uma mensagem. Isso é outro tema, acho que você está se apressando de mais e vai acabar confuso. Recomendo pesquisar mais a fundo [e com calma] depois.

Mas respondendo a sua pergunta, mas as estruturas de decisão seguem um padrão assim:


if(Operacao Booleana){
// Caso a operacao booleana for verdadeira faz isso
}


Substituindo a "Operacao Booleana" pelo que você precisar no momento. Nesse caso você quer comparar, então você utiliza o operador ==, deixando assim:


if(so == 1){ // Se for Linux
printf("Linux\n");
}

if(so == 2){ // Se for Windows
printf("Windows\n");
}

if(so == 3){ // Se for Mac
printf("Mac\n");
}


Ali só será executado o que for verdadeiro, por exemplo, se a pessoa digitar 1, só entrará no primeiro if, e nos outros não. Mas você precisaria ver melhor a estrutura if()/else if()/else. Pois aí teria um erro: caso o usuário digitar 4 [por exemplo], não aparecerá nada.

É claro que isso foi a ponta do iceberg. Pesquise bem melhor a respeito, será dificil explicar tudo aqui e daria um texto enorme. Pesquise no VOL, creio que possua bons artigos a respeito disto.

Espero ter ajudado

[]'s

T+

[Se ajudei, marque o tópico como resolvido e clique em melhor resposta]

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



7. Re: variavel [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 21/12/2015 - 16:05h

obrigado pela ajuda, estou com um outro problema, dessa vez é comando for, eu não estou conseguindo entender:



#include <stdio.h>

int main ()
{

int dado;
int numero = 10;

for (dado = 10; dado <= 20; dado = dado + 2){

printf ("brasil\n");
}

return 0;



da o seguinte:
felipe@felipe-desktop:~$ gcc test.c
felipe@felipe-desktop:~$ ./a.out
brasil
brasil
brasil
brasil
brasil
brasil
felipe@felipe-desktop:~$

pensei que daria 4 vezes no loop



8. Re: variavel [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 21/12/2015 - 17:05h

Amigo, se você pensou que iria dar só 4 vezes sua lógica está errada [o que fez você pensar que daria só 4?] .

Vou mostrar os valores do mesmo código, só trocando de "brasil" pelo valor da variável dado


10
12
14
16
18
20


Agora uma rápida explicação sobre o for:

É uma estrutura de repetição que segue essa forma:


for(inicializa as variaveis;enquanto a condição for verdadeira;incremente)


Dê uma olhada nesse site: http://linguagemc.com.br/a-estrutura-de-repeticao-for-em-c/

Ou pesquise a respeito.

Se quiseres, pode me adicionar no Skype.

Espero ter ajudado

[]'s

T+

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



9. Re: variavel [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 22/12/2015 - 13:08h

agradeço pela ajuda mas eu não tenho skype


10. Re: variavel [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 22/12/2015 - 13:18h

Tranquilo amigo!

Tens mais alguma dúvida? Se tiver não hesite em perguntar!

Aliás, se quiseres podes falar comigo através do meu e-mail.

Espero ter ajudado

[]'s

T+

--

Att,

Thiago Henrique Hüpner

(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!)



11. Re: variavel [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 23/12/2015 - 00:20h

obrigado por esta me ajudando!
pode remover ja peguei seu email, quando tiver mais alguma duvida eu perguntarei!
vlw!