//Luiza Rezende

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

/* Questao13: Faca um programa que demonstre o uso de 3 funcoes da biblioteca string.h que ainda nao tenham sido usadas em listas de exercicios da disciplina. */

int main() {

int opcao;

	printf ("Escolha uma das opcoes a seguir: \n 1 - Funcao STRNCPY; \n 2 - Funcao STRNCMP; \n 3 - Funcao STRNCAT; \n 4 - Extra; \n\n Opcao: ");
	scanf ("%d", &opcao);

		if (opcao==1) {
			// Parecido com strcpy, realiza a copia do conteudo de uma string para a outra, mas deve ser especificado o tamanho a ser copiado.

			char str1[10];
			char str2[6];

			printf ("Insira a palavra que sera copiada: "); //exemplo: marianna
			scanf ("%s", str1);

				strncpy (str2, str1, 5);
				str2[5]='\0';

			printf ("A palavra copiada ficou da seguinte forma: %s", str2); //resposta: maria

				return 0;

		} else if (opcao==2) {
			//Parecido com strcmp, faz a comparacao do conteudo de duas strings, no entanto, deve-se especificar o tamanho a ser comparado
			// retorna 0 se o conteudo das strings sao iguais, -1 se o conteudo da str1 for menor do que str2, 1 se o conteudo da str1 for maior do que str2

			  char str1[15];
			  char str2[15];
  			  int result;

			printf ("Insira a primeira string: "); //exemplo: marianna
			scanf ("%s", str1);

			printf ("Insira a segunda string: "); //exemplo: maria ou mario
			scanf ("%s", str2);

				result = strncmp(str1, str2, 5);

  			printf("resultado: %d \n", result);
  				return 0;

		} else if (opcao==3) {
			//Assim como strcat, faz a concatenação do conteudo de uma string a outra, mas deve ser especificado o tamanho a ser concatenado

				char str1[10];
				char str2[10];

			printf ("Informe a primeira string: "); //mari
			scanf ("%s", str1);

			printf ("Informe a segunda string: "); //annaluiza
			scanf ("%s", str2);

				strncat(str1, str2, 4);
				str1[strlen(str1)+4]='\0';

			printf("String resultante: %s \n", str1);
				return 0;

		} else if (opcao==4) {
			//A função puts() imprime uma string e depois pula de linha (como se tivesse um \n)
				char palavra[15];

			printf ("Insira uma palavra: ");
			scanf ("%s", &palavra[0]);

	  		 puts("Mensagem predefinida pelo programa: Veja que o PUTS pula a linha da palavra inserida sem o \n");
       		 puts(palavra);
				return 0;
		}

	return 0;
}

