Você está aqui: Cards de |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string é igual, maior ou menor que outra em C usando a função strcmp()Quantidade de visualizações: 23061 vezes |
|
A função strcmp() da linguagem C pode ser usada para verificar se uma string é igual, maior ou menor que outra. Esta função, presente no header string.h aceita duas strings e retorna um valor inteiro: 0 se as strings forem iguais; maior que 0 se a primeira string for maior que a segunda e menor que 0 se a primeira string for menor que a segunda. Veja um exemplo de seu uso:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char palavra1[] = "Java";
char palavra2[] = "JavaScript";
if(strcmp(palavra1, palavra2) == 0){
printf("As palavras sao iguais");
}
else if(strcmp(palavra1, palavra2) > 0){
printf("A primeira string e maior que a segunda");
}
else if(strcmp(palavra1, palavra2) < 0){
printf("A segunda string e maior que a primeira");
}
puts("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A segunda string é maior que a primeira. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de Java - Como contar os caracteres maiúsculos em uma string informada pelo usuárioQuantidade de visualizações: 1280 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que solicita ao usuário um palavra, frase ou texto e informa a quantidade de caracteres maiúsculos encontrados. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: Arquivo de Códigos A palavra ou frase contém 2 letras maiúsculas. Veja a resolução comentada deste exercício usando Java:
package estudos;
/*
ATENÇÃO: O código usado na resolução deste exercício não considera
caracteres com acentos nem o cedilha. Fica a seu cargo pesquisar formas
alternativas ou complementos
*/
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
// vamos usar a classe Scanner para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar uma palavra, frase ou texto
System.out.print("Informe uma palavra, frase ou texto: ");
String palavra = entrada.nextLine();
// vamos contar as letras maiúsculas
int maiusculas = 0;
for(int i = 0; i < palavra.length(); i++){
if(palavra.charAt(i) >= 'A' && palavra.charAt(i) <= 'Z'){
maiusculas++;
}
}
// mostra o resultado
System.out.println("A palavra ou frase contém " + maiusculas +
" letras maiúsculas.");
}
}
|
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função C personalizada que copia os caracteres de uma string para outra stringQuantidade de visualizações: 8875 vezes |
Quando precisamos copiar os caracteres de uma string para outra string em C, geralmente usamos a função strcpy(). Para que você entenda como esta função realmente funciona, o código abaixo mostra como escrever uma função personalizada que realiza tal tarefa. Estude-a cuidadosamente. É uma boa forma de entender como percorrer os caracteres de uma string usando ponteiros:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// função personalizada que copia os caracteres de
// uma string para outra
char *str_copy(char *destino, const char *origem){
while(*destino++ = *origem++){
;;
}
return (destino - 1);
}
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 49 caracteres
// copia a primeira frase para a segunda
str_copy(frase2, frase1);
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Gosto de PHP |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercícios Resolvidos de C# - Como calcular juros simples em C# - Um programa C# que lê o valor principal, o tempoQuantidade de visualizações: 983 vezes |
|
Pergunta/Tarefa: Saber como escrever um programa C# que recebe o valor principal, o tempo e a taxa de juros e retorna os juros simples a serem pagos ou recebidos é uma habilidade que todo programador deve aprender em algum ponto de sua carreira. Sendo assim, escreva um algoritmo em C# que pede para o usuário informar um valor a ser pago ou recebido, o tempo em dias, meses ou anos e a taxa de juros (sem dividi-la por 100) e retorne os juros simples a serem pagos ou recebidos. Note que, se você quiser mostrar o valor total a ser pago ou recebido, basta somar os juros ao valor principal. Antes, porém, veja a fórmula do cálculo de juros simples: \[\text{Juros} = \frac{\text{C} \times \text{i} \times \text{t}}{100}\] Onde: C é o valor a ser pago ou a ser recebido; i é a taxa de juros (sem dividir por 100); t é o tempo em dias, meses, anos, etc. Sua saída deverá ser parecida com: Informe o valor principal: 600 Taxa de juros: 12 Informe o tempo: 5 Juros a serem pagos ou recebidos: 360.0 Veja a resolução comentada deste exercício usando C#:
using System;
namespace Estudos {
class Principal {
// função principal do programa C#
static void Main(string[] args) {
// vamos ler o valor principal
Console.Write("Informe o valor principal: ");
double principal = Double.Parse(Console.ReadLine());
// agora vamos ler a taxa de juros
Console.Write("Taxa de juros: ");
double taxa = Double.Parse(Console.ReadLine());
// finalmente o tempo em dias, meses, anos, etc
Console.Write("Informe o tempo: ");
int tempo = Int32.Parse(Console.ReadLine());
// vamos calcular os juros
double juros = (principal * taxa * tempo) / 100;
// e mostramos o resultado
Console.WriteLine("Juros a serem pagos ou recebidos: " + juros);
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
|
C ::: Dicas & Truques ::: Strings e Caracteres |
Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem CQuantidade de visualizações: 13575 vezes |
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 49 caracteres
// copia a primeira frase para a segunda
frase2 = frase1;
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida: incompatible types in assignment of `char[13]` to `char[50]` Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade: char *strcpy(char *destino, const char *origem); Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 50 caracteres
// copia a primeira frase para a segunda
strcpy(frase2, frase1);
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




