Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Codice Sorgente Codifica/Decodifica!
Forum - C/C++ - Codice Sorgente Codifica/Decodifica!

Avatar
ciaosimo (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/12/2010

Segnala al moderatore
Postato alle 10:12
Martedì, 11/10/2011
ciao membri del forum! sto cercando di capire cosa non va nel mio codice C++: in pratica è un programma che simula una specie di cifrario di cesare. Apre un file, inserisco dei caratteri e salvo con le lettere spostate di 4

es: abc -> efg

Cosa non va secondo voi???

Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char *argv[]){
  8.  
  9.     char incode, outcode, str[80];
  10.    
  11.     //Apro File
  12.    
  13.     ofstream FlussoOut("Testo1.txt");
  14.    
  15.     if(!FlussoOut) {
  16.                    cout << "Errore";
  17.                    system("PAUSE");
  18.                    return 0;
  19.     }
  20.    
  21.     cout << "Scrivi del testo, con Invio si termina";
  22.    
  23.     do {
  24.         cout <<": ";
  25.         gets (str);
  26.         FlussoOut << str << endl;
  27.     } while(*str);
  28.    
  29.     FlussoOut.close();
  30.    
  31.     //Chiudo File
  32.    
  33.     ifstream FlussoIn("Testo1.txt");
  34.    
  35.     if(!FlussoIn) {
  36.                    cout << "Errore";
  37.                    system("PAUSE");
  38.                    return 0;
  39.                    }  
  40.    
  41.     while(FlussoIn){
  42.                     FlussoIn.getline(str,80);
  43.                     cout << str << endl;
  44.                     }
  45.    
  46.     while(!FlussoIn.eof()){
  47.                            FlussoIn.get(incode);
  48.                            outcode=incode+4;
  49.                            FlussoOut.put(outcode);
  50.                            cout << (int)outcode;
  51.                            }
  52.                            
  53.      FlussoIn.close();
  54.    
  55.     system("PAUSE");
  56.     return 0;
  57. }


PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
2
Down
V
Segnala al moderatore
Postato alle 10:20
Martedì, 11/10/2011

come prima cosa se vuoi poter scrivere su uno stream devi dichiararlo fstream. secondo devi resettare il flusso prima della seconda iterazione

Codice sorgente - presumibilmente Plain Text

  1. stream.seekp(0, ios::beg);


PM
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 10:29
Martedì, 11/10/2011
Salve,

Oltre l'utilissimo consiglio di HeDo, per il futuro, sarebbe opportuno che tu fornissi qualche dettaglio in piu':

1) Che cosa non funziona ( cosa ti aspetti esattamente, e come invece reagisce il programma );

2) Se non compila, che errore/i ti da;

3) Se necessario, in che ambiente lavori (Framework, SO, HW, ecc...);

ecc...

renderesti il lavoro a coloro che vogliono aiutarti ( che non sempre, anzi, quasi mai, hanno tanto tempo per analizzare il codice ), e potresti avere un aiuto piu' appropriato in un tempo piu' breve.

Ciao. :k:

Luigi

Condivido pienamente ... questo tipo di richieste andrebbero chiuse finché non sono complete. - nessuno - 11/10/11 10:45
ragazzi ho risposto senza lockare perchè ad una veloce lettura del codice gli errori erano palesi XD - HeDo - 11/10/11 10:48
Caro HeDo, il mio non era un rimprovero, semplicemente un consiglio, per il futuro. - gigisoft - 11/10/11 11:29
ah guarda sono il primo che locka quando ci sono delle richieste senza dettagli :) - HeDo - 11/10/11 11:36
Vabbeh dai caro Nessuno, un pò di comprensione, in fondo il povero ciaosimo è solo al suo terzo messaggio ;) - gigisoft - 11/10/11 11:44
Sì ma se non glielo dici, il quarto e il quinto saranno uguali ... - nessuno - 11/10/11 11:49
e infatti gliel'ho detto, ma chiudere ora il post mi sembrava eccessivo - gigisoft - 11/10/11 11:59
Ne può sempre riaprire uno spiegando meglio ... - nessuno - 11/10/11 15:48
PM