Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main(){
- char str[100], alfabeto[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- int i, j, chave = 0, continuar = 0, opcao = 0;
- do{
- printf("1 - Encriptografar uma palavra\n2 - Desencriptografar uma palavra\n");
- scanf("%d", &opcao);
- switch(opcao){
- case 1:
- getchar();
- printf("Digite a palavra:\n");
- fgets(str, 100, stdin);
- printf("Digite o valor da chave:\n");
- scanf("%d", &chave);
- for(i = 0; str[i] != '\0'; i++){
- for(j = 0; j < strlen(alfabeto); j++){
- if((int)str[i] == (int)alfabeto[j] || (int)str[i] == (int)alfabeto[j] + 32){
- if(j + chave <= 25){
- str[i] = alfabeto[j + chave];
- }else{
- str[i] = alfabeto[(j + chave) - 26];
- }
- break;
- }
- }
- }
- printf("Palavra encriptograda: %s\n", str);
- setbuf(stdin, NULL);
- break;
- case 2:
- getchar();
- printf("Digite a palavra encriptografada:\n");
- fgets(str, 100, stdin);
- printf("Digite a chave:\n");
- scanf("%d", &chave);
- for(i = 0; str[i] != '\0'; i++){
- for(j = 0; j < strlen(alfabeto); j++){
- if((int)str[i] == (int)alfabeto[j] || (int)str[i] == (int)alfabeto[j] + 32){
- if(j - chave >= 0){
- str[i] = alfabeto[j - chave];
- }else{
- str[i] = alfabeto[(j - chave) + 26];
- }
- break;
- }
- }
- }
- printf("Palavra descriptografada: %s\n", str);
- setbuf(stdin, NULL);
- break;
- default:
- printf("Opcao invalida.\n");
- }
- printf("Deseja usar o programa novamente?\n1 - Sim\nOutro numero - nao\n");
- scanf("%d", &continuar);
- }while(continuar == 1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment