domingo, 1 de dezembro de 2013

TRABALHANDO COM STRING

Strings

Agora que já vimos vetores, o próximo passo é entender as strings. Strings em C são tratados como vetores de tamanho determinado que podem armazenar qualquer caracter. Diferentemente de declarar apenas uma variável do tipo char (que armazena apenas um caracter) a string é uma cadeia de caracteres, ou seja, pode guardar quantos caracteres nós determinarmos.
Portanto, para declararmos uma string, basta nós criarmos um vetor de caracteres dessa forma:
char minhaString [50];
O único problema das strings são o seu consumo de recursos. Por exemplo, se levarmos em conta o vetor de caracteres que acabamos de criar, apesar dele conter 50 posições, nós só poderemos digitar até 49 letras. Isso ocorre porque toda string deve ter um caracter terminal, que geralmente é indicado pelo NULL (nulo). Isso quer dizer que um vetor de caracteres (string) de 50 posições terá 49 caracteres efetivos e um NULL indicando seu final.

Entrada de String

Para entrarmos com uma String no sistema usamos a mesma função de entrada padrão - cin.
Ou seja, se quisermos que o usuário digite seu nome faríamos da seguinte forma:
01.#include
02.using namespace std;
03. 
04.int main (void){
05.char minhaString [50];
06.cout << "Digite seu nome: "<
07.cin >> minhaString;
08.system("cls");
09.cout << "Seu nome e: " << minhaString << endl;
10.system("pause");
11.return EXIT_SUCCESS;
12.}
Agora, outro problema ao tratarmos de strings em C/C++. Embora a função cin consiga obter a string, ela sempre termina assim que pressionarmos o espaço a primeira vez, ou seja, ele só consegue pegar uma palavra por vez.
Então, como vamos obter uma linha inteira?
Bem, para obtermos uma linha inteira nós devemos fazer uso de um dos métodos encontrados dentro de cin - o método getline.
O método getline obtém uma linha de acordo com o tamanho definido no método. Então, o método getline utiliza dois parâmetros: 1°. O nome da string; 2°. O tamanho máximo que será preenchido.
Então, usando o mesmo exemplo, apenas mudaríamos a 6ª linha. Vejamos:
01.#include
02.using namespace std;
03. 
04.int main (void){
05.char minhaString [50];
06.cout << "Digite seu nome: "<
07.cin.getline (minhaString, 50);
08.system ("cls");
09.cout << "Seu nome e: " << minhaString << endl;
10.system("pause");
11.return EXIT_SUCCESS;
12.}

Funções de String

Podemos fazer muitas coisas com Strings, como por exemplo, ver ser tamanho, juntar mais de uma palavra, comparar duas palavras diferentes, etc. Para isso, basta incluirmos uma biblioteca para tratamento de strings em C chamado - string.h.

Obter o tamanho de uma String

Para obter o tamanho de uma string usamos a função strlen (que é a junção do inglês String Length, que quer dizer, largura de string). Essa função retorna o número de caracteres utilizados (incluindo os espaços se houver). Ela recebe como argumento apenas a string que deve ser verificada e retorna o número de caracteres encontrados.
01.#include
02.#include
03.// ou também #include
04.using namespace std;
05. 
06.int main (void){
07.int tamanho;
08.char nome [100];
09.cout << "Digite seu nome: "<
10.cin.getline (nome, 100);
11.system ("cls");
12.tamanho = strlen (nome);
13.cout << "Seu nome tem " << tamanho << " caracteres." << endl;
14.system("pause");
15.return EXIT_SUCCESS;
16.}

Comparar duas strings

Há também uma forma de compararmos duas strings para ver ser ambas são iguais. A função que determina isso é strcmp. Embora C/C++ é case sensitive, ou seja, diferencia maiúsculas de minúsculas, isso não irá influenciar nessa função. Essa função retorna 0 se há igualdade entre as strings ou um número diferente de zero se não houver igualdade. Portanto, se quisermos fazer uma comparação de duas strings, procedemos da seguinte forma: strcmp (string1, string2). Vejamos o exemplo:
01.#include
02.#include
03.using namespace std;
04. 
05.int main (void){
06.char palavra1 [25], palavra2 [25];
07.cout << "Digite uma palavra: "<
08.cin >> palavra1;
09.cout << "Digite outra palavra: "<
10.cin >> palavra2;
11.system ("cls");
12.if (strcmp (palavra1, palavra2) == 0)
13.cout <" e igual a "<
14.else
15.cout <" e diferente de "<
16.system ("pause");
17.return EXIT_SUCCESS;
18.}

Copiar uma String

Para copiar uma string para outra string usamos strcpy (que vem de String copy). Essa função recebe dois argumentos: 1°. a string para onde será armazenada a cópia; 2°. a string que será copiada. Resumidamente, ele copia a segunda string para a primeira. Exemplo:
01.#include
02.#include
03.using namespace std;
04. 
05.int main (void){
06.char palavra1 [25], palavra2 [25];
07.cout << "Digite uma palavra: "<
08.cin >> palavra1;
09.strcpy (palavra2, palavra1);
10.system ("cls");
11.cout<<"palavra1 = "<
12.cout<<"palavra2 = "<
13.system("pause");
14.return EXIT_SUCCESS;
15.}

Concatenar uma String

Concatenar uma String que dizer juntar. De uma forma mais simplória, é como se disséssemos que a junção da palavra passa mais a palavra tempo é igual a passatempo. Ou seja, essa função - strcat - pega duas strings e junta o que tiver na primeira com o que tiver na segunda.
Tome cuidado: Se concatenarmos duas strings e uma delas ou ambas forem vazias ocorrerá um erro.
No exemplo abaixo, faremos o seguinte: vamos obter o valor de duas strings e concatená-las formando uma nova string.
01.#include
02.#include
03.using namespace std;
04. 
05.int main (void){
06.char str1 [25], str2 [25];
07.cout << "Digite uma palavra: "<
08.cin >> str1;
09.cout << "Digite outra palavra: "<
10.cin >> str2;
11.strcat (str1, str2);
12.system ("cls");
13.cout << "A juncao dessas duas strings ";
14.cout << " e igual a "<
15.system("pause");
16.return EXIT_SUCCESS;
17.}
Lidar com strings é extremamente importante para a programação, pois a string é a base de qualquer arquivo e principalmente controles de rotina (por exemplo: rotinas e procedimentos de banco de dados, o SQL; endereçamento de arquivos; modificação de configurações...).
Abaixo esta um exemplo com todas as funções básicas de manipulação de string vistas até aqui. Faça o download e bom estudos.
01.#include
02.#include
03.using namespace std;
04. 
05.int main (void){
06.char palavra1 [75], palavra2 [25], palavraConcatenada [100];
07.cout << "Digite outra palavra ou uma pequena frase: "<
08.cin.getline (palavra1, 75);
09.cout << "Digite uma palavra: "<
10.cin >> palavra2;
11.system ("cls");
12.cout << "String-1"<
13.cout << "-> "<
14.cout << "tem "<<strlen(palavra1)<<" caracteres"<
15. 
16.cout << "String-2"<
17.cout << "-> "<
18.cout << "tem "<<strlen(palavra2)<<" caracteres"<
19.if (strcmp (palavra1, palavra2) == 0)
20.cout << palavra1<<" e igual a "<
21.else
22.cout << palavra1<<" e diferente de "<
23.strcpy (palavraConcatenada, palavra1);
24. 
25.strcat (palavraConcatenada, palavra2);
26. 
27.cout << "\nA concatenacao de "<" com "<
28.cout << " resulta em "<
29.system("pause");
30.return EXIT_SUCCESS;
31.}

terça-feira, 26 de novembro de 2013

GESTÃO DE PROCESSOS

https://drive.google.com/file/d/0B4Xtl352wsKVemFJdkZjZDh1cG8/edit?usp=sharing

quinta-feira, 21 de novembro de 2013

11 DICAS POSSIVELMENTE DITAS POR BILL GATES


  1. A vida não é fácil — acostume-se com isso.
  2. O mundo não está preocupado com a sua auto-estima. O mundo espera que você faça alguma coisa útil por ele ANTES de sentir-se bem com você mesmo.
  3. Você não ganhará R$20.000 por mês assim que sair da escola. Você não será vice-presidente de uma empresa com carro e telefone à disposição antes que você tenha conseguido comprar seu próprio carro e telefone.
  4. Se você acha seu professor rude, espere até ter um chefe. Ele não terá pena de você.
  5. Vender jornal velho ou trabalhar durante as férias não está abaixo da sua posição social. Seus avós têm uma palavra diferente para isso: eles chamam de oportunidade.
  6. Se você fracassar, não é culpa de seus pais. Então não lamente seus erros, aprenda com eles.
  7. Antes de você nascer, seus pais não eram tão críticos como agora. Eles só ficaram assim por pagar as suas contas, lavar suas roupas e ouvir você dizer que eles são “ridículos”. Então antes de salvar o planeta para a próxima geração querendo consertar os erros da geração dos seus pais, tente limpar seu próprio quarto 
  8. Sua escola pode ter eliminado a distinção entre vencedores e perdedores, mas a vida não é assim. Em algumas escolas você não repete mais de ano e tem quantas chances precisar até acertar. Isto não se parece com absolutamente NADA na vida real. Se pisar na bola, está despedido… RUA!!! Faça certo da primeira vez!
  9. A vida não é dividida em semestres. Você não terá sempre os verões livres e é pouco provável que outros empregados o ajudem a cumprir suas tarefas no fim de cada período.
  10. Televisão NÃO é vida real. Na vida real, as pessoas têm que deixar o barzinho ou a boate e ir trabalhar.
  11. Seja legal com os CDFs (aqueles estudantes que os demais julgam que são uns babacas). Existe uma grande probabilidade de você vir a trabalhar PARA um deles.

segunda-feira, 18 de novembro de 2013

Exercícios de Revisão

1) Elabore um programa que receba três valores pelo teclado, encontre qual é o maior deles e mostre-o na tela.
2) Escreva um programa que verifica se uma cadeia de caracteres é um palíndromo. Na cadeia ( frase) os espaços em branco não devem ser considerados. Exemplos de palíndromo : asa, ovo, etc.
3) Faça um programa para calcular e mostrar o resultado dos juros de um determinado valor. O usuário informará qual a taxa e o valor. A saída deverá mostrar as seguintes informações :
( "o valor de", valor, "com juros de", taxa, "% dá um total de " , total)
4) implemente um programa que recebe um número inteiro, verifique e informe se o mesmo é um número primo.
5)Uma empresa decide dar um aumento de 30% aos funcionários com salários inferiores a r$ 500,00. Faça um programa que receba o salário do funcionário e mostre o valor do salário reajustado ou uma mensagem, caso o funcionário não tenha direito ao aumento.
6) Escreva um programa que popule uma matriz A 3x3 de inteiros e faça:

a) mostre os elementos da diagonal principal
b) o somatório dos elementos da matriz A.
c) crie uma matriz B 3x3 e faça o somatório da matriz B com a matriz A.

 
Visitas