0
To with a project, and the final part of it is inserting the menu of choice for user.
I will leave the original code, because of several attempts, all were unsuccessful. Even includes the case, switch.
How would be the insertion of the menu inside the code, because already exists the command of printf
, would only need to replace.
How do I insert this part here:
printf("\n 1 - Inserir Mensagem ");
printf("\n 2 - Ver mensagem Criptografada ");
printf("\n 3 - Ver Mensagem Descriptografada ");
printf("\n 4 - Fechar Programa ");
printf("\n\nEscolha-----------\n--------uma-------\n------------opcao: ");
scanf("%d",&escolha);
In that code here:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define tam 250
typedef struct{
char mensagem[tam];
}urna;
void criptografa(urna *criptografia);
void descriptografar(urna *cripto);
void criptografa(urna *cripto) {
printf("Insira sua mensagem: ");
gets(cripto->mensagem);
int m;
for(m = 0; m < strlen(cripto->mensagem); m++)
{
if(cripto->mensagem[m] >= 65 && cripto->mensagem[m] <= 90)
{
cripto->mensagem[m] = cripto->mensagem[m] + 3;
if (cripto->mensagem[m] > 90)
cripto->mensagem[m] = cripto->mensagem[m] - 26;
}
else if(cripto->mensagem[m] >= 97 && cripto->mensagem[m] <= 122)
{
cripto->mensagem[m] = cripto->mensagem[m] + 3;
if (cripto->mensagem[m] > 122)
cripto->mensagem[m] = cripto->mensagem[m] - 26;
}
else if(cripto->mensagem[m] >= 48 && cripto->mensagem[m] <= 57)
{
cripto->mensagem[m] = cripto->mensagem[m] - 5;
if (cripto->mensagem[m] < 48)
cripto->mensagem[m] = cripto->mensagem[m] + 10;
}
}
printf("\nMensagem criptografada: ");
printf("%s ", cripto->mensagem);
printf("\n");
}
void descriptografar(urna *cripto) {
int m;
for(m = 0; m < strlen(cripto->mensagem); m++)
{
if(cripto->mensagem[m] >= 65 && cripto->mensagem[m] <= 90)
{
cripto->mensagem[m] = cripto->mensagem[m] - 3;
if (cripto->mensagem[m] < 65)
cripto->mensagem[m] = cripto->mensagem[m] + 26;
}
else if(cripto->mensagem[m] >= 97 && cripto->mensagem[m] <= 122)
{
cripto->mensagem[m] = cripto->mensagem[m] - 3;
if (cripto->mensagem[m] < 97)
cripto->mensagem[m] = cripto->mensagem[m] + 26;
}
else if(cripto->mensagem[m] >= 48 && cripto->mensagem[m] <= 57)
{
cripto->mensagem[m] = cripto->mensagem[m] + 5;
if (cripto->mensagem[m] > 57)
cripto->mensagem[m] = cripto->mensagem[m] - 10;
}
}
printf("\nMensagem original: ");
printf("%s ", cripto->mensagem);
printf("\n");
}
int main() {
urna mensagem;
criptografa(&mensagem);
descriptografar(&mensagem);
printf("\n");
system("pause");
return 0;
}
Note that in C (not C++) you don’t have to cast, it’s actually recommended that you don’t.
– user72726