Qualche anima pia mi potrebbe spiegare questi errori?
sotto c'è il codice in rosso sono indicati gli errori.
per compilare uso visual c++ 2008
// esercizi su file.cpp : definisce il punto di ingresso dell'applicazione console.
//
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
int _tmain(int argc, _TCHAR* argv[])
{
char d[13],e[10];
int c;
cout << "inserisci nome file da creare max 10 caratteri :";
cin.getline (e,10,'\n');
cout << "inserisci nome file su disco max 13 caratteri :";
cin.getline (d,13,'\n');
c = CreaFile (e,d); //error C3861: 'CreaFile': identificatore non trovato
if (c==13) { cout << "errore da scoprire" << endl; return 0;}
if (c==1){ cout << "Parametro 1 non corretto" << endl; return 0;}
if (c==2){ cout << "Parametro 2 non corretto" << endl; return 0;}
if (c==9){ cout << "Tentativo di creare un file che già esiste" << endl; return 0;}
cout << "inserisci 0 in codice per terminare/n";
int codice = 1;
char nome[30];
float importo;
char prodotto[30];
while (codice != 0)
{
cout << "codice ? ";
cin >> codice;
cout << "nome ? ";
cin >> nome;
cout << "importo ? ";
cin >> importo;
cout << "prodotto ? ";
cin >> prodotto;
e << codice
<< ' ' //error C2296: '<<': l'operando sinistro ha il tipo 'char [10]'. Non valido.
<< nome
<< ' '
<< importo
<< ' '
<< prodotto
<< '$/n';
}
return 0;
}
//???????????????????????????????
//? crea file ?
//???????????????????????????????
int CreaFile (const char nomefile, const char sudisco)
{
if ( nomefile == '\0' ) { return 1;}
if ( sudisco == '\0' ) { return 2;}
{
ifstream nomefile(sudisco, ios::in);//error C2664: 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const char *,std::ios_base::openmode,int)': impossibile convertire il parametro 1 da 'char' a 'const char *'
if (!nomefile)
{
ofstream nomefile(sudisco, ios::out);
if (!nomefile)
{
return 13;
}
return 0;
}
nomefile.close();
return 9;
}
}