[C con Clase] Duda
Rubén Tomás
chipy9 en hotmail.com
Lun Feb 28 21:52:17 CET 2011
En Dev-cpp lo podía compilar pero al ejecutarlo me daba error después de introducir el texto.
Aquí te dejo lo que yo habría hecho, pequeñas modificaciones más la correción a lo de los símbolos extraños.
Lo de los símbolos ocurre porque pones
while (Code[c] != '0')
cuando debería ser
while (Code[c] != 0)
sin comillas, porque si pones comillas sólo parará de leer la cadena cuando el caracter sea el número cero, no cuando haya un fin de cadena.
Bueno, aquí mis modificaciones:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <cstdio>
#include <cctype>
using namespace std;
int main()
{
system("color 0a");
char Code[1001];
for(int i=0; i<1001; i++) //Preferencia mía es usar bucles for en vez de while para estas cosas.
Code[i]=0;
cout << "Introduce el codigo a encriptar" << endl << endl;
cin.getline(Code, 1001); //Así puedes captar también los espacios, para encriptar un mensaje de mejor forma
cout << endl; //Eliminado código innecesario
for(int i=0; i< 1001 && Code[i] != 0; i++) //Otra vez, preferencia mía, creo que queda el código más limpio, arreglado el problema de los símbolos
switch(Code[i]) {
case ' ': //Para no hacer nada con los espacios
break;
case 'z':
Code[i]='a';
break;
default:
Code[i]++; //para simplificar el código
break;
}
cout << "El codigo encriptado es " << Code << endl;
system("pause>nul");
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Date: Mon, 28 Feb 2011 21:01:43 +0100
From: danimp97 en gmail.com
To: cconclase en listas.conclase.net
Subject: [C con Clase] Duda
/*Hola!
Estoy intentando hacer un programa en el que pongas un texto y cambie las letras por la siguiente en el alfabeto Ej: a->b b->c...
He pensado en este código:*/
#include <iostream>
#include <cstdio>
#include <cctype>
using namespace std;
int main()
{
system("color 0a");
char Code[1001];
int c=0;
while (c <=1001) {
Code[c]=0;
c++;
}
c=0;
cout << "Introduce el codigo a encriptar" << endl << endl;
cin >> Code;
cout << "" << endl;
while (c<1001) {
while (Code[c] != '0') {
switch(Code[c]) {
case 'z':
Code[c]='a';
c++;
break;
default:
Code[c]=Code[c]+1;
c++;
break;
}
}
}
cout << "El codigo encriptado es " << Code << endl;
system("pause>nul");
return 0;
}
/*Sale el mensaje correcto, pero después salen símbolos extraños. ¿A que es debido?*/
_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110228/9cca7d00/attachment.html>
Más información sobre la lista de distribución Cconclase