Galera, sou nova por aqui e preciso de um help!! Estou fazendo um código em C com Cifra de César. Mas ao digitar uma frase (com espaços), o programa não executa como deveria.... Não continua o case.... Enfim, tá fueda haha Segue o código.... Desde já, obrigada!
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#define[/HASHTAG] MAX 3000
int main(){
char frase[MAX], criptografado[MAX];
int i, chave, opc, resp;
FILE *msgc, *msgd;
printf("\n\t*** Unip - Ciencia da Computacao ***");
printf("\n\n\t\t** APS Segundo Semestre **");
do{
printf("\n\n\n\tVoce deseja: ");
printf("\n\n\t1 - Criptografar uma mensagem");
printf("\n\n\t2 - Descriptografar uma mensagem\n\t");
scanf("%d", &opc);
system("cls");
switch(opc){
case 1:
printf("\n\n\t\t ***Criptografando*** ");
printf("\n\n\tDigite a frase a ser criptografada: ");
scanf("%s", &frase);
printf("\n\n\tDigite um numero para a chave: ");
scanf("%d",&chave);
msgc = fopen("msgc.txt", "w");//Início da criação do arquivo txt cripto
for(i=0;i
criptografado=frase+chave;
fprintf(msgc,"%c",criptografado);
}
fclose(msgc);// Identifica o final do arquivo.
printf("\n\n\tFrase encriptada com sucesso!\n\n");
printf("\tPressione Enter para continuar!\n\n\n");
system("pause");
printf("\n\n");
break;
case 2:
if(msgc == NULL){
printf("\n\n\tVoce precisa primeiro criptografar uma mensagem!\n");
printf("\n\tTente novamente...\n\n");
system("pause");
exit(0);
}
printf("\n\n\t ***Descriptografando*** ");
msgc = fopen("msgc.txt", "r");//Início da leitura do arquivo txt
for(i=0;i
fscanf(msgc, "%c", &criptografado);
criptografado=criptografado-chave;
}
fclose(msgc);// Identifica o final do arquivo.
msgd = fopen("msgd.txt", "w");//Início da criação do arquivo txt descripto
for(i=0;i
fprintf(msgd, "%c", criptografado);
}
fclose(msgd);// Identifica o final do arquivo.
printf("\n\n\tFrase desencriptada com sucesso!\n\n");
system("pause");
printf("\n\n");
break;
default:
printf("Digite uma opcao valida!");
}
system("cls");
printf("Deseja continuar? (1 - sim / 2 - nao)\n");
scanf("%d",&resp);
if((resp!=1)&& (resp!=2))
printf("Programa finalizado, este numero nao existe no menu \n");
}while(resp==1);
system("pause");
return 0;
}
Nathalia Pav...
Novo Membro
Registrado
2 Mensagens
0 Curtidas