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++ - aiuto: errore periferica mancante
Forum - C/C++ - aiuto: errore periferica mancante

Avatar
Il_maca (Normal User)
Rookie


Messaggi: 49
Iscritto: 19/12/2008

Segnala al moderatore
Postato alle 18:50
Giovedì, 12/03/2009
ciao raga, rieccomi a rompere, ma purtroppo il C/c++ scolastico non mi basta!! e mi rivolgo a voi!
ecco il mio ennessimo problema:

Codice sorgente - presumibilmente C/C++

  1. int main(){
  2. FILE* a;
  3. string c;
  4.  
  5. cout<<"Periferica: ";
  6. cin>>c;
  7. c= c+"://xxx.dat";
  8. a=fopen(c.c_str(),"w+");
  9. fclose(a);
  10. }



bene questo codice dovrebbe chiedere in input la lettera della periferica(H,J ecc..) e creare lì dentro un file! e FUNZIONA!
ma se io immetto una lettera che non è abbinata a nessun file system mi genera un errore!
e questo è normale, ma io vorrei sapere se c'è un modo per intercettare questo errore e rifar digitare la lettera! è possibile?? come?? grazie per le risposte!

Ultima modifica effettuata da Il_maca il 14/03/2009 alle 14:43
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 19:41
Giovedì, 12/03/2009
Intanto il codice che hai mostrato, presenta degli errori ... il piu' grave e' la variabile c dichiarata come char e non come string.

E a parte il fatto che "mischi" codice C e codice C++, se proprio si vuole rimanere sul tuo codice, si puo' scrivere

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.         FILE* a1;
  9.         string c;
  10.  
  11.         cout<<"Periferica: ";
  12.         cin>>c;
  13.        
  14.         c= c+":\\xxx.dat";
  15.         a1=fopen(c.c_str(),"w+");
  16.         if(a1)
  17.                 fclose(a1);
  18.         else
  19.                 cout << "ERRORE" << endl;
  20.  
  21.         return 0;
  22. }


PM Quote
Avatar
Il_maca (Normal User)
Rookie


Messaggi: 49
Iscritto: 19/12/2008

Segnala al moderatore
Postato alle 18:45
Venerdì, 13/03/2009
Testo quotato

Postato originariamente da theprogrammer:

Intanto il codice che hai mostrato, presenta degli errori ... il piu' grave e' la variabile c dichiarata come char e non come string.

E a parte il fatto che "mischi" codice C e codice C++, se proprio si vuole rimanere sul tuo codice, si puo' scrivere

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.         FILE* a1;
  9.         string c;
  10.  
  11.         cout<<"Periferica: ";
  12.         cin>>c;
  13.        
  14.         c= c+":\\xxx.dat";
  15.         a1=fopen(c.c_str(),"w+");
  16.         if(a1)
  17.                 fclose(a1);
  18.         else
  19.                 cout << "ERRORE" << endl;
  20.  
  21.         return 0;
  22. }




si! hai ragione!! mi sono accorto compilando questo codice checi sono parecchi errori! il fatto è che l'ho scritto in 5 minuti, togliendo le parti che non servivano, e quindi ho commesso parecchi errori!!
ti dò ragione anche sul fatto che il mio programma è un ibrido, non è ne C ne C++, ma purtroppo nella mia scuola si studia principalmente java e non abbiamo mai dedicato molta attencione alle differenze tra i due linguaggi: quello mi hanno spiegato e quello uso!! adesso sarebbe inutile provare a cambiare!!

cmq anche se hai ragione in pieno, ci sono modi e modi per rispondere!!! quindi la prossima volta ti pregherei di rispondere con serietà evitando atteggiamenti molto irritanti!!
GRAZIE!!

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 19:00
Venerdì, 13/03/2009
Testo quotato

Postato originariamente da Il_maca:
cmq anche se hai ragione in pieno, ci sono modi e modi per rispondere!!! quindi la prossima volta ti pregherei di rispondere con serietà



Ma come ti permetti? La mia era una risposta piu' che seria. Fai attenzione a quello che scrivi.

Testo quotato

evitando atteggiamenti molto irritanti!!
GRAZIE!!



Ma di che parli?

Datti una calmata.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:51
Venerdì, 13/03/2009
Il_maca, theprogrammer stava cercando di aiutarti e sono sicuro che la sua critica costruttiva non era un'offesa, anzi, dovrebbe essere un buon commento per migliorare il tuo stile di programmazione in meglio.

Ora riprendiamo la discussione originale senza ulteriori :ot: altrimenti chiudo.



Il mio blog: https://piero.dev
PM Quote
Avatar
Il_maca (Normal User)
Rookie


Messaggi: 49
Iscritto: 19/12/2008

Segnala al moderatore
Postato alle 14:42
Sabato, 14/03/2009
ok va bene!! mi riscuso nuovamente!!
ho provato il tuo metodo e funziona! grazie

Ultima modifica effettuata da Il_maca il 14/03/2009 alle 14:43
PM Quote