Bien que le sujet de la question ne soit pas assez précis, voici le problème. J'ai un fichier dans lequel une personne écrit son texte, par exemple «Aujourd'hui est une très belle journée» et je le stocke dans un document txt. Alors ma tâche est de prendre tous ces charaters et de les déplacer d'une lettre plus loin (un devient b, z devient un et ainsi de suite). Mais j'ai besoin de garder les espaces à leur place.Comment ajouter un espace dans un tableau
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(){
string a;
string Code;
string New;
ifstream File ("Txt.txt");
File>>Code;
for (int i = 0; i<Code.size(); i++){
if (Code.at(i) >= 'A' && Code.at(i) <= 'V' || Code.at(i) >= 'a' && Code.at(i) <= 'v') {
a = Code.at(i) + 4;
New += a;
}
else if (Code.at(i) == 'W'){
a = 'A';
New += a;}
else if (Code.at(i) == 'X'){
a = 'B';
New += a;}
else if (Code.at(i) == 'Y'){
a = 'C';
New += a;}
else if (Code.at(i) == 'Z'){
a = 'D';
New += a;}
else if (Code.at(i) == 'w'){
a = 'a';
New += a;}
else if (Code.at(i) == 'x'){
a = 'b';
New += a;}
else if (Code.at(i) == 'y'){
a = 'c';
New += a;}
else if (Code.at(i) == 'z'){
a = 'd';
New += a;}
else if (Code.at(i) == ' '){
a = Code.at(i);
New += a;
}
}cout<<New;
return 0;
}
Mais le programme n'a lu que le premier mot. Comment devrais-je changer le programme pour lire tout le texte avec tous les espaces?
Vous n'avez pas besoin de toutes ces déclarations 'if' si vous avez compris que la lettre suivante est modulo 26. Par exemple, si la lettre est « z », car « z est la lettre 26 (26 + 1) mod 26 = 1, et 'a' est le premier caractère. – PaulMcKenzie
Je pense que cela répond à votre question: http://stackoverflow.com/questions/37449872/how-to-read-in-multiple-words-from-a-text-file –