A maior rede de estudos do Brasil

Grátis
120 pág.
ApostilaANSI-C

Pré-visualização | Página 21 de 27

str2[100], str3[100]; 
 printf ("Entre com uma string: "); 
 gets (str1); 
 strcpy (str2,str1); /* Copiar str1sobre a str2 */ 
 strcpy (str3,"Voce digitou a string:"); /* Copiar "Voce digitou a string" na str3 */ 
 printf ("%s %s",str3,str2); 
 printf("\n\n"); 
 system(“pause”); 
 return(0); 
} 
 
strcat() 
A função strcat() tem a seguinte forma geral: 
strcat(string_destino,string_origem); 
A string de origem permanecerá inalterada e será anexada ao fim da string de 
destino. Um exemplo: 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
 
/***************************************************************************** 
Programa 35 
Este programa usa a função strcat() para concatenar duas strings. 
Esta função foi definida no arquivo cabeçalho <string.h> 
 
******************************************************************************/ 
int main () 
{ 
 char str1[50],str2[100]; 
 printf ("Entre com uma string: "); 
 gets (str1); 
 //Copiar na str2 a seguinte frase “ Voce digitou a seguinte string” 
 strcpy (str2,"Voce digitou a seguinte string "); 
 strcat (str2,str1); //Acrescentar à str2 a str1 
 printf ("\n%s",str2); 
 printf ("\n \n"); 
 system(“pause”); 
 return(0); 
} 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
93 
 
strlen() 
Sua forma geral é: 
strlen(string); 
A função strlen() retorna o comprimento da string passada como parâmetro. O 
terminador nulo não é contado. Isto quer dizer que, de fato, o comprimento do 
vetor da string deve ser um a mais que o inteiro retornado por strlen(). 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
 
/***************************************************************************** 
Programa 36 
Este programa usa a função strlen() para obter o tamanho de uma 
string. Esta função foi definida no arquivo cabeçalho <string.h> 
 
******************************************************************************/ 
 
int main () 
{ 
 int size; 
 char str[50]; 
 printf ("Entre com uma string: "); 
 gets (str); 
 size=strlen (str); 
 printf ("\nA string que voce digitou tem %d caracteres.",size); 
 printf ("\n\n”); 
 system(“pause”); 
 return(0); 
} 
 
strcmp() 
Sua forma geral é: 
strcmp(string1,string2); 
A função strcmp() compara a string 1 com a string 2. Se as duas forem idênticas a 
função retorna zero. Se elas forem diferentes a função retorna não-zero. Um 
exemplo da sua utilização: 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
94 
/**************************************************************************** 
 Programa 37 
Este programa usa a função strlen() para obter o tamanho de uma 
string. Esta função foi definida no arquivo cabeçalho <string.h> 
 
******************************************************************************/ 
int main () 
{ 
 char str1[50], str2[50]; 
 printf ("Entre com uma string: "); 
 gets (str1); 
 printf ("\nEntre com outra string: "); 
 gets (str2); 
 if (strcmp(str1,str2)) 
 printf ("\nAs duas strings são diferentes."); 
 else printf ("\nAs duas strings são iguais."); 
 printf ("\n\n”); 
 system(“pause”); 
 return(0); 
} 
 
 
ATIVIDADES 
10.1 Elabore um fluxograma e um programa em C que leia quatro palavras pelo 
teclado, e armazene cada palavra em uma string. Imediatamente após a 
introdução de cada string o programa emite uma mensagem dizendo o tamanho 
da string digitada. Além disso, o programa concatena todas as strings lidas numa 
única string e apresente a string concatenada e o seu tamanho como resultado ao 
final. 
10.2 Como você sabe o C não verifica se o índice que você usou (em um 
programa qualquer) está dentro dos limites válidos. Caso essa situação ocorra as 
conseqüências são imprevisíveis. Então reescreva o exemplo a seguir, realizando 
a cada leitura um teste para ver se a dimensão do vetor não foi ultrapassada. 
Caso o usuário entre com mais de mais de 10 números, o programa deverá 
abortar o loop de leitura automaticamente imprimindo uma mensagem de erro. O 
uso do Flag (-999) não deve ser retirado. 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
 
/***************************************************************************** 
Programa 38 
Este programa lê vários números inteiros, inseridos através do 
teclado pelo usuário e no final imprime todos os números inseridos 
na tela. 
 
******************************************************************************/ 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
95 
 
 
 
int main () 
{ 
 int num[10 ]; /* Declarar um vetor de inteiros de 10 posições */ 
 int count=0; 
 int totalnums; 
 do 
 { 
 printf ("\nEntre com um numero (-999 p/ terminar): "); 
 scanf ("%d",&num[count]); 
 count++; 
 } while (num[count-1]!=-999); 
 totalnums=count-1; 
 printf ("\n\n\n Os números que você digitou foram:\n\n"); 
 for(count=0;count<totalnums;count++) 
 printf (" %d",num[count]); 
 printf (" \n\n"); 
 system(“pause”); 
 return(0); 
} 
 
10.3 Analise o programa a seguir: 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
 
/***************************************************************************** 
Programa 39 
Este programa simula um dia de vendas em uma loja. A loja possui 
no máximo 200 produtos. O preços dos produtos vendidos variam 
entre 5,00 a 100,00. O número máximo de clientes que entram 
na loja em um dia é 50. Cada cliente compra apenas um produto. 
 
Devem ser gerados aleatoriamente: 
1. O número de produtos existente na loja. 
2. O preço de cada produto. 
3. O numero de clientes que entra na loja. 
4. O produto comprado pelo cliente. 
 
******************************************************************************/ 
#define PRODUTOS 200 
#define CLIENTES 50 
 
//Gerar um número aleatório ente 0 e n-1 
int random(int n) 
{ 
 return rand() % n; 
} 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
96 
 
int main() 
{ 
 
 int i, aux, ncli, nprod; 
 int compra[CLIENTES]; 
 float preco[PRODUTOS]; 
 float totalVendido; 
 
 time_t t; 
 
 //Iniciar gerador de numeros aleatórios 
 srand((unsigned)time(&t)); 
 
 //Determinar o preço dos produtos 
 nprod= 1 + random(PRODUTOS); //Gerar o número de produtos existente na loja 
 for(i = 0; i<nprod; i++) 
 { 
 aux = 5 + random(96); //Gerar o preço de cada produto 
 preco[i]= aux; 
 } 
 
 //Simular o movimento de um dia 
 ncli= 1 + random(CLIENTES); //Gerar o número de clientes 
 printf("Simulacao para:\n\t %3d produtos\n\t %3d clientes\n", nprod, ncli); 
 for(i = 0; i<ncli; i++) 
 { 
 aux = random(nprod); //Gerar o número do produto comprado 
 compra[i]= aux; 
 } 
 
 //Exibir o resultado da simulação 
 totalVendido = 0; 
 printf("\n------------------------------\n"); 
 printf("\nCliente Produto Valor (R$)\n"); 
 printf("\n------------------------------\n"); 
 for(i = 0; i<ncli; i++) 
 { 
 printf(" %3d %3d %7.2f\n", i, compra[i], preco[compra[i]]); 
 totalVendido += preco[compra[i]]; 
 } 
 printf("\n------------------------------\n");