Tengo este codigo y 1 problema.
Código:
La cosa es que cuando en el gets(codigo) el programa se salta esta linea y se va hacia la siguiente// Programa creado por Rollth // Cifrado Cesar 1.0 // 12/2/2014 #include <iostream>// Añade la libreria iostream.h (Para el cout) #include <stdio.h> // Introduce la libreria stdio.h para poder poner espacios en el codigo. using namespace std;// Usa el espacio estandar de la libreria iostream para inicializar cin y cout int main()// Empieza a correr el programa { int n,m,opcion;// Crea dos variables "n" y "m". Además de otra variable opcion char codigo[10];// Crea la variable del cifrado cout << "------------------------------";// Presentacion del programa cout << endl;// Pasa la linea cout << ". Cifrado Cesar 1.1 .";// Presentacion del programa cout << endl;// Pasa la linea cout << ". Por Rollth .";// Presentacion del programa cout << endl;// Pasa la linea cout << "------------------------------";// Fin presentacion del programa cout << endl;// Pasa la linea cout << "Si quieres cifrar una frase pulsa 1";// Manda el mensaje en rojo cout << endl;// Pasa de linea cout << "Si quieres descifrar pulsa 2";// Manda el mensaje en rojo cout << endl;// Pasa de linea cin >> opcion;// El usuario escoge la opcion if (opcion == 1)// Si la opcion 1 { cout << "Introduce el cifrado";// Manda el mensaje en rojo cout << endl;// Pasa la linea gets(codigo);// Para escribir el codigo cout << "Introduce la clave";// El usuario escoge la clave cout << endl;// Pasa la linea cin >> m;// El usuario escoge el valor de la "m" n = 0;// Le da el valor de 1 a la "n" while (n != m) { n += 1; if (codigo[0] >= 'a' && codigo[0] < 'z')// Si el codigo esta entre "a" y "z" { codigo[0] += 1;// Se suma 1 } if(codigo[0] == 'z')// Pero si es "z" { codigo[0] = 'a';// Se convierte en "a" } if(codigo[1] >= 'a' && codigo[1] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[1] += 1; } else if(codigo[1] == 'z') { codigo[1] = 'a'; } if(codigo[2] >= 'a' && codigo[2] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[2] += 1; } else if(codigo[2] == 'z') { codigo[2] = 'a'; } if(codigo[3] >= 'a' && codigo[3] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[3] += 1; } else if(codigo[3] == 'z') { codigo[3] = 'a'; } if(codigo[4] >= 'a' && codigo[4] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[4] += 1; } else if(codigo[4] == 'z') { codigo[4] = 'a'; } if(codigo[5] >= 'a' && codigo[5] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[5] += 1; } else if(codigo[5] == 'z') { codigo[5] = 'a'; } if(codigo[6] >= 'a' && codigo[6] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[6] += 1; } else if(codigo[6] == 'z') { codigo[6] = 'a'; } if(codigo[7] >= 'a' && codigo[7] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[7] += 1; } else if(codigo[7] == 'z') { codigo[7] = 'a'; } if(codigo[8] >= 'a' && codigo[8] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[8] += 1; } else if(codigo[8] == 'z') { codigo[8] = 'a'; } if(codigo[9] >= 'a' && codigo[9] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[9] += 1; } else if(codigo[9] == 'z') { codigo[9] = 'a'; } if(codigo[10] >= 'a' && codigo[10] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[10] += 1; } else if(codigo[10] == 'z') { codigo[10] = 'a'; } cout << codigo; cout << endl; } } else// En el otro caso { cout << "Introduce el cifrado";// Manda el mensaje en rojo cout << endl;// Pasa la linea gets(codigo);// Para escribir el codigo n = 0;// Le da valor 1 a la "n" m = 25;// Le da el valor de 25 a la "m" while (n != m) { n += 1; if (codigo[0] >= 'a' && codigo[0] < 'z')// Si el codigo esta entre "a" y "z" { codigo[0] += 1;// Se suma 1 } if(codigo[0] == 'z')// Pero si es "z" { codigo[0] = 'a';// Se convierte en "a" } if(codigo[1] >= 'a' && codigo[1] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[1] += 1; } else if(codigo[1] == 'z') { codigo[1] = 'a'; } if(codigo[2] >= 'a' && codigo[2] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[2] += 1; } else if(codigo[2] == 'z') { codigo[2] = 'a'; } if(codigo[3] >= 'a' && codigo[3] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[3] += 1; } else if(codigo[3] == 'z') { codigo[3] = 'a'; } if(codigo[4] >= 'a' && codigo[4] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[4] += 1; } else if(codigo[4] == 'z') { codigo[4] = 'a'; } if(codigo[5] >= 'a' && codigo[5] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[5] += 1; } else if(codigo[5] == 'z') { codigo[5] = 'a'; } if(codigo[6] >= 'a' && codigo[6] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[6] += 1; } else if(codigo[6] == 'z') { codigo[6] = 'a'; } if(codigo[7] >= 'a' && codigo[7] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[7] += 1; } else if(codigo[7] == 'z') { codigo[7] = 'a'; } if(codigo[8] >= 'a' && codigo[8] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[8] += 1; } else if(codigo[8] == 'z') { codigo[8] = 'a'; } if(codigo[9] >= 'a' && codigo[9] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[9] += 1; } else if(codigo[9] == 'z') { codigo[9] = 'a'; } if(codigo[10] >= 'a' && codigo[10] < 'z')// Si el codigo esta entre "a" y "z",Se suma 1,Pero si es "z",Se convierte en "a" { codigo[10] += 1; } else if(codigo[10] == 'z') { codigo[10] = 'a'; } cout << codigo; cout << endl; } } system("PAUSE");// Termina el programa }
Si poco cin si me funciona, pero no me acepta los espacios, que me aconsejan hacer?
Gracias de antemano