Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. 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


Il computer non Ŕ una macchina intelligente che aiuta le persone stupide.
E' una macchina stupida che funziona solo nelle mani delle persone intelligenti.
Programmatore, non per lavoro, ma per passione!!
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. }



- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
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!!


Il computer non Ŕ una macchina intelligente che aiuta le persone stupide.
E' una macchina stupida che funziona solo nelle mani delle persone intelligenti.
Programmatore, non per lavoro, ma per passione!!
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.


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6112
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.



Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
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


Il computer non Ŕ una macchina intelligente che aiuta le persone stupide.
E' una macchina stupida che funziona solo nelle mani delle persone intelligenti.
Programmatore, non per lavoro, ma per passione!!
PM Quote