ciao a tutti!
sto tendando di scrivere un programma che mi permetta di gestire una rubrica.. qnd tento di compilare però il dev mi da questo errore:conversion from `rubrica*' to non-scalar type `rubrica' requested nel main quando scrivo le funzioni. qualcuno mi può dare una mano??
MAIN
codice:
#include <cstdlib>
#include <iostream>
#include "header.h"
using namespace std;
int main(int argc, char *argv[]) {
int scelta, r;
rubrica c[50];
while(scelta!=0){
cout<<endl<<"\tRubrica"<<endl;
cout<<"1)Inserisci Nuovo Contatto."<<endl;
cout<<"2)Modifica Contatto."<<endl;
cout<<"3)Elimina Contatto."<<endl;
cout<<"4)Visualizza Contatto."<<endl;
cout<<"0)Esci."<<endl; cin>>scelta;
switch(scelta){
case 1:NuovoContatto(c, r);
break;
case 2:Modifica(c, r);
break;
case 3:Elimina(c, r);
break;
case 4:Visualizza(c, r);
break; }
}
system("PAUSE");
return EXIT_SUCCESS; }
HEADER.H
codice:
#ifndef header_h
#define header_h
#include<iostream>
#include "string.h"
#define N 256
using namespace std;
typedef char str [N];
typedef struct{ str nome;
int numero, codice;} rubrica;
void NuovoContatto(rubrica, int &);
void Modifica(rubrica, int &) ;
void Elimina(rubrica, int &) ;
void Visualizza(rubrica, int &) ;
#endif
HEADER.CPP
codice:
#include "header.h"
void NuovoContatto(rubrica c[], int &r) {
cout<<"Inserisci il numero di contatti da inserire :\n ";
cin>> r;
for (int i=0;i<r;i++){
cout<<"Inserisci il codice del contatto:";
cin>>c[i].codice;
cout<<"Inserisci il nome:";
cin>>c[i].nome;
cout<<"Inserisci il numero:";
cin>>c[i].numero;}
}
void Modifica(rubrica c[], int &r) {
int k;
cout<<"Inserisci il codice del contatto:"<<endl;
cin>>k;
for(int i=0;i<r;i++){
if(k==c[i].codice){
cout<<"Inserisci il nome:";
cin>>c[i].nome;
cout<<"Inserisci il numero:";
cin>>c[i].numero;}
}
}
}
void Elimina(rubrica c[], int &r)
{
int k;
cout<<"Inserisci il codice del contatto:"<<endl;
cin>>k;
for(int i=0;i<r;i++){
if(k==c[i].codice) c[i]=c[i+1]; }
r--;
}
void Visualizza(rubrica c[], int &r)
{
cout<<"Codice"<<" "<<"Nome"<<" "<<"Numero"<<endl;
for(int i=0;i<r;i++){
cout<<c[i].codice<<" "<<c[i].nome<<" "<<c[i].numero<<endl;
}
}