Publicidade cabeçário

terça-feira, 16 de outubro de 2012

LPI - Uso de Struct, Manipulação String

Fala pessoal, mais uma postagem sobre struct... Bem simples, a ideia é pegar os valores e imprimir na tela.




Exemplo Struct exercicio 1
Exemplo de Struct


#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include <ctype.h>

struct cliente{

       char nome_cli[30];
       float saldo;
       };

struct cliente listacliente[5]; //monta a struct para usa-la


int main(){

       int i;
       
       printf("\n\t .:CADASTRO DE CLIENTES.:\n\t");
       printf("\n\t .:TECLE ENTER PARA COMECAR.:\n\t");
       
       /*Laço criado para captar o nome e o saldo dos clientes*/
       for(i=0;i<5;i++){
       getchar(); //Limpa a variável string para nomes compostos
       printf("\n\t Digite o nome do cliente.:\n\t");
       gets(listacliente[i].nome_cli);
       printf("\n\t Digite o saldo do cliente.:\n\t");
       scanf("%f",&listacliente[i].saldo);
       }//FIM FOR
       
       system("cls"); //Limpa a tela
         for(i=0;i<=5;i++){
       printf("\n\t O nome do %d cliente.:%s\n",i,listacliente[i].nome_cli);    
            printf("\n\t O saldo do %d cliente.:%8.2f\n",i,listacliente[i].saldo);    
            }//FIM FOR
       getch(); //segura a tela até um ENTER
       return 0;
       }//FIM MAIN

Agora uma maneira simples de analisar duas strings, vamos utilizar o comando strcmp, que retorna o valor 0(zero) caso sejam idênticas.


Comando strcmp
Exemplo de pesquisa com String


#include<stdio.h>
#include<conio.h>
#include<string.h>

int main(){
    char str1[100],str2[100];
    
    printf("\n\t Digite o nome da primeira string.:\n\t");
    scanf("%s",&str1);
    printf("\n\t Digite o nome da segunda string.:\n\t");
    scanf("%s",&str2);
   
 /*Condição para saber se são iguais ou diferentes*/
    if(strcmp(str1,str2)==0){ //COMPARA AS STRINGS E RETORNA ZERO PARA IGUAIS
        printf("\n\t Strings iguais");                  
                          }
    else {
        printf("\n\t Strings diferentes"); 
         }//FIM IF
    getch(); //segura a tela até um ENTER
    return 0;
    }//FIM MAIN

Agora um comando muito utilizado em c++, o strlen, ele conta os caracteres e retorna um valor inteiro. Vale lembrar que é necessário incluir a biblioteca #include<string.h> para sua utilização.Outra coisa importa são palavras compostas, essa função strlen conta os espaços vazios também, por isso deve ser tratado esse tipo de erro


Manipulação de String
Função STRLEN


#include<stdio.h>
#include<conio.h>
#include<string.h> //biblioteca necessária para utilizar o comando

int main(){
    int tamanho;
    char texto[30];
    
    printf("\n\t Digite o nome de uma palavra qualquer.:\n\t");
    scanf("%s",&texto);
   
    tamanho=strlen(texto); //comando que "conta" os caracteres e retorna um valor inteiro
    printf("\n\t A palavra %s possui %d caracteres",texto,tamanho);
    getch(); //segura a tela até um ENTER
    return 0;
    } // FIM MAIN