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++ - sintassi
Forum - C/C++ - sintassi

Avatar
petercriss (Normal User)
Newbie


Messaggi: 12
Iscritto: 20/05/2010

Segnala al moderatore
Postato alle 18:43
Giovedì, 03/06/2010
Questo topic è stato chiuso dal moderatore

salve sono nuovo di questo forum ho appena creato questo programma nel quale le istruzioni sono giuste poiche compilato in pascal e funziona solo che poi l'ho codificato in c++ ma non sapendolo bene ho fatto qualche errore di sintassi potreste corrergerli grazie....in anticipo


#include<iostream>
using namespace std;                                                           //titolo programma
struct nodo{                                                                     //dichiarazione tipo
                                                                                //dichiarazione record
            char nf;                                                              //dichiarazione campi
            int privilegio;
            nodo*next;
            };
     nodo*p;
     nodo*q;
     nodo*coda;
     nodo*testa;                                                           //dichiarazione variabili

void creazione_coda(nodo*&testa1 ,nodo*&coda1);

char risp;                                                                       //dichiarazione variabile locale
                                                                               //inizio procedura creazione
cout<<"--------------------------------------------------------------------------------------------------"<<endl;
cout<<"TESTO:desrcivere  dettagliatagliatamente le strutture dati necessarie per la gestione delle code di priorita  "<<endl;
cout<<("progettare l algoritmo per l inserimento di un processo di priorita p all interno della lista ")<<endl;
cout<<("-priorita piu bassa 6'");<<endl
cout<<("-priorita piu alta 0'");<<endl
cout<<("-------------------------------------------------------------------------------------------------")<<endl;
  testa1=null;                                                                         //imposto testa1 a nil
  coda1=null;                                                                          //imposto coda1 a nil
  nodo*nuovo;
  nuovo=new nodo;                                                                             //creazione nuovo elemento
  cout<<("inserisci nome processo che andra ad essere eseguito")<<endl;
  cin>>nuovo->inf;                                                                      //lettura nome programma
  cout<<("inserisci valore privilegio(il valore del priviliegio impostera in quale momento il  processo verra eseguito)")<<endl;
  cin>>(p->privilegio);                                                               //lettura privilegio
  if (p->privilegio=0) or (p->privilegio=1) or (p->privilegio=2) or (p->privilegio=3) or (p->privilegio=4) or (p->privilegio=6)or (p->privilegio=5) {                                       //condizione se il privilegio è 1 o 0

  testa1=p;                                                                           //aggiornamento puntatori
  coda1=testa1;
  }
  else                                                                                 //altrimenti
  cout<<("...oops!...valore privilegio ERRATO!(va inserito un privileggio da 0 a 6)")<<endl;                                                 //stampa valore del privilegio errato
    do{                                                                            //inizio ciclo postcondizionato
      cout<<("vuoi inserire altri processi nella coda?immettere (s)per inserire(n)per bloccare gli inserimenti")<<endl;
      cin>>risp;                                                                    //lettura variabile locale risp
      if risp='s' then {                                                                //condizione se la risposta è s
                    
                      nuovo=new nodo;                                                          //creazione nuovo elemento
                      cout<<("inserisci nome processo che andra ad essere eseguito")<<endl;
                      cin>>(p->nf);                                                   //lettura nome programma
                      cout<<("inserisci valore privilegio (il valore del priviliegio impostera in quale momento il  processo verra eseguito)")<<endl;
                      cin>>(p->privilegio);                                           //lettura privilegio
                      if (p->privilegio=0) or (p->privilegio=1) or (p->privilegio=2) or (p->privilegio=3) or (p->privilegio=4) or (p->privilegio=6)or (p->privilegio=5){                   //condizione se il privilegio è 1 o 0
                      
                      coda1->next=p;                                                  //aggiornamento puntatori
                      coda1=p;
                      }
                      else                                                             //altrimenti
                      cou<<("vuoi inserire altri processi nella coda?immettere (s)per inserire(n)per bloccare gli inserimenti")<<endl;                             //stampa valore del privilegio errato
                      }while (risp=='n');                                                                    //fino a che la risposta non è negativa
}
procedure stampa(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=0 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}                                                                                   //fine procedura stampa
procedure stampa1(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=1 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}  
procedure stampa2(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=2 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}
procedure stampa3(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=3 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}
procedure stampa4(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=4 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}
procedure stampa5(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=5 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}
procedure stampa6(nodo*&testa1);
{                                                                                 //inizio procedura stampa1
  q=testa1;
  while(q!=nulll)do                                                                      //condizione ciclo precondizionato
    {                                                                              //inizio ciclo precondizionato
    if q->privilegio=6 {                                                            //condizione se privilegio uguale a 1
      cout>>(q->nf);                                                                  //stampa nome programma
      q=q->next;                                                                      //scorrimento lista
                        }
    }
}  
                                                                              //fine procedura stampa1
int main()  
{                                                                              //inizio programma principale
  creazione_coda(testa,coda);                                                          //chiamata procedura creazione_lista
  cout>>("Stampa privilegio con 0")<<endl;
  stampa(testa);                                                                      //chiamata procedura stampa1
  cout>>("Stampa privilegio con 1")<<endl;
  stampa1(testa);
  cout>>("Stampa privilegio con 2")<<endl;
  stampa2(testa);
  cout>>("Stampa privilegio con 3")<<endl;
  stampa3(testa);
  cout>>("Stampa privilegio con 4")<<endl;
  stampa4(testa);
  cout>>("Stampa privilegio con 5")<<endl;
  stampa5(testa);
  cout>>("Stampa privilegio con 6")<<endl;
  stampa6(testa);
system("pause");
return 0;
}
                                                                         //chiamata procedura stampa
  

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:45
Giovedì, 03/06/2010
Scusa ... ma neanche ti prendi la briga di elencarli questi errori?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM
Avatar
petercriss (Normal User)
Newbie


Messaggi: 12
Iscritto: 20/05/2010

Segnala al moderatore
Postato alle 18:58
Giovedì, 03/06/2010
giusto scusa uno degli errori è sulla linea 17 nell cout


expected constructor, destructor, or type conversion before '<<' token


elenco il primo poiche il c trovando un errore da tutto il programma sbagliato nelle istruzioni successive

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:00
Giovedì, 03/06/2010
Quella linea non sta all'interno di nessuna funzione.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM
Avatar
petercriss (Normal User)
Newbie


Messaggi: 12
Iscritto: 20/05/2010

Segnala al moderatore
Postato alle 19:02
Giovedì, 03/06/2010
scs ma non è all'interno del void creazione_coda????

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:11
Giovedì, 03/06/2010
No. Quella è una dichiarazione di firma di quella funzione. Dovrebbe essere

void creazione_coda(nodo*&testa1 ,nodo*&coda1)
{

e non

void creazione_coda(nodo*&testa1 ,nodo*&coda1);


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM
Avatar
petercriss (Normal User)
Newbie


Messaggi: 12
Iscritto: 20/05/2010

Segnala al moderatore
Postato alle 19:18
Giovedì, 03/06/2010
a giusto pero come immaginavo ora si susseguono infinita di errori sulla stessa linea ora da il seguente errore


no match for 'operator<' in 'std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char, std::char_traits<char> >&)(&std::cout)), ((const char*)"------------------------------------------------------------------------------------------------")) < std::endl'



scusa se ti sto facendo perdere tempo ma purtroppo sono disperato per fare questo esercizio

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 19:22
Giovedì, 03/06/2010

chiudo per nuova politica del forum: il codice non è racchiuso tra tag code, richiesta generica senza capo ne coda e non ha letto il regolamento in merito a cosa si può e non si più chiedere in un forum.


Ingegnere Informatico
https://ldlagency.it
PM