Scrittura su file

di il
2 risposte

Scrittura su file

Salve sono principiante in materia, quindi sto svolgendo un compito assegnatomi a scuola. la traccia consiste nel scrivere un file -con l'uso di vettore- di più alunni con matricola nome e cognome, qualora il cognome fosse composto (es di giuliano, de sales) inserire una @ tra le parole (di@giuliano, de@sales). non abbiamo studiato molti modi per svolgerlo quindi l'ho fatto nel modo più semplice possibile ma mi da questo errore:
File format not recognized
ld returned 1 exit status
Potreste farmi capire cosa ho sbagliato? Il programma è il seguente

#inlcude<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
int i,matr,n,risp;
int arr[n];
string nome,cognome,co,gnome;
cin>> arr[n];
ofstream file;
file.open("C:/alunno.txt");
do
{
cout<<"Il cognome è composto? Se si inserisci 1, se no inserisci 0";
cin>>risp;
if(risp==0)
{
n=3;
for(i=0;i<n;i++)
{
cin>>arr;
cout<<"Inserisci il numero della matricola";
cin>> matr;
if(matr==0)
{
break;
}
cout<<"Inserisci nome e cognome";
cin>>nome>>cognome;
cout<<matr<<" "<<nome<<" "<<cognome;
}
}
else
{
n=4;
for(i=0;i<n;i++)
{
cin>>arr;
cout<<"Inserisci il numero della matricola";
cin>> matr;
if(matr==0)
{
break;
}
cout<<"Inserisci nome e cognome";
cin>>nome>>cognome;
cout<<matr<<" "<<nome<<" "<<co<<"@"<<gnome;
}
}
}
while(matr!=0);
file.close();
system("pause");
return 0;
}

2 Risposte

  • Re: Scrittura su file

    Ciao
    per quanto riguarda la parte di aggiungere '@' quando inconti de-di-da etc etc
    ti consiglio di usare un vettore dove definisci tutte le parole da controllare.
    ogni elemento dovra esserere lungo massimo 5 caratteri.
    poi carichi il dato in una variabile di tipo char* di comodo.
    confonti la variabile di comodo con gli elementi del vettore delle parole carattere per carattere.
    se si verifica la condizione che i caratteri sono uguali e il carattere e spazio allora aggiungi '@' e stampi il record.
    azzeri l'indice del vettore delle parole leggi un altro record e ripeti il ciclo.
    se invece la condizione non si avvera vai al prossimo elemento del vettore parole, azzeri il contatore della stringa di comodo e ripeti il ciclo.
    quando il vettore delle parole sarà finito allora stamperai il record senza aggiunte.
    e questo ciclo lo fai per tutti i record del file.
    per quanto riguarda la gestione dei file
    dai un occhiata a questo link
    http://codesnippet.biz/c-piu-piu-leggere-e-scrivere-su-file-con-gli-stream/
    spero di esserti stato di aiuto.
  • Re: Scrittura su file

    Grazie mille sei stato molto d'aiuto
Devi accedere o registrarti per scrivere nel forum
2 risposte