
Ayuda con Switch
Publicado por anonymous (2 intervenciones) el 24/05/2018 21:45:07
Buen día. Voy en 2do ciclo aún pero tengo una duda. Resulta que nos dieron la tarea de hacer el cifrado César (no el mejorado). La cuestión es que nos pidieron que usemos tíldes y mayúsculas. En realidad, si uso varios if el código me funciona con tíldes pero pensé que podría usar switch pero me salen errores. Alguna idea de cómo solucionarlo?
Mi código:
Les agradezco de antemano :) .
Mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
char texto[100];
char abe[]="abcdefghijklmnopqrstuvwxyz";
char ABE[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cout<<"Ingresa el texto que deseas encriptar: ";gets(texto);
int letra;
for(int i=0; i<sizeof(texto); i++){
letra=0;
while(letra<26) {
switch(texto[i]){
case 'Á': texto[i]='D'; letra=26; break;
case 'É': texto[i]='H'; letra=26; break;
case 'Í': texto[i]='L'; letra=26; break;
case 'Ó': texto[i]='R'; letra=26; break;
case 'Ú': texto[i]='X'; letra=26; break;
case 'á': texto[i]='d'; letra=26; break;
case 'é': texto[i]='h'; letra=26; break;
case 'í': texto[i]='l'; letra=26; break;
case 'ó': texto[i]='r'; letra=26; break;
case 'ú': texto[i]='x'; letra=26; break;
}
if(texto[i]==ABE[letra] && letra<23){
texto[i]=ABE[letra+3];
letra=26;
}
if(texto[i]==ABE[letra] && (letra>=23 && letra<26)){
if(texto[i]='X')texto[i]='A';
if(texto[i]='Y')texto[i]='B';
if(texto[i]='Z')texto[i]='C';
}
if(texto[i]==abe[letra] && letra<23){
texto[i]=abe[letra+3];
letra=26;
}
if(texto[i]==abe[letra] && (letra>=23 && letra<26)){
if(texto[i]='x')texto[i]='a';
if(texto[i]='y')texto[i]='b';
if(texto[i]='z')texto[i]='c';
}
letra++;
}
}
cout<<texto;
return 0;
}
Les agradezco de antemano :) .
Valora esta pregunta


0