|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 162
|
[c]2 compilatori 2 ris diversi
questo prog su visual gira alla grande, sul dev lo compila ma non lo esegue ..chi mi risolve il problema?
Codice:
/*PROGRAMMA PER L'INSERIMENTO IN TESTA AD UNA PILA*/
#include<stdio.h>
#include<stdlib.h>
/*definisco la struttura nodoPila che contiene un dato di tipo intero ed un
puntatore ad una struttura uguale a quella che sto dichiarando*/
struct nodoPila{
int dato;
struct nodoPila *nextPtr; /*definisco una struttura ricorsiva*/
};
typedef struct nodoPila NodoPila; /*sinonimo di struct pila*/
typedef NodoPila *NodoPilaPtr; /*sinonimo di pila**/
void push(NodoPilaPtr *topPtr,int info);/*prototipo inseimento nodo in testa*/
int pop(NodoPilaPtr *topPtr);/*prototipo rimozione nodo in testa*/
void stampaPila(NodoPilaPtr currentPtr);
void instructions(void);
int isEmpty(NodoPilaPtr topPtr);
int main()
{
NodoPilaPtr nodoPtr=NULL;/*punta alla testa della pila*/
int scelta;
int Val;
instructions();/*visualizza menu*/
printf("?");
scanf("%d",&scelta);
while (scelta!=-1){
switch(scelta){
/*inserisce un valore in cima alla lista*/
case 1:
printf("inserisci un intero:");
scanf("%d",&Val);
push(&nodoPtr,Val);
stampaPila(nodoPtr);
break;
/*estrae un valore dalla lista*/
case 2:
/*se la pila non è vuota*/
if(!isEmpty(nodoPtr)){
printf("il valore estratto è%d.\n",pop(&nodoPtr));
}/*fine comando if*/
stampaPila(nodoPtr);
break;
}/*fine comando switch*/
printf("?");
scanf("%d",&scelta);
}/*fine while*/
system("PAUSE");
return 0;
}/*FINE MAIN*/
/*visualizza le istruzioni all'utente*/
void instructions(void)
{
printf("inserisci la scelta:\n"
"1 inserisci un valore in testa\n"
"2 elimini un valore in testa\n"
"-1 esci dal programma\n" );
}
/*inserisce un nodo in cima alla pila*/
void push(NodoPilaPtr *topPtr,int info)
{
NodoPilaPtr newPtr;/*puntatore al nuovo nodo*/
newPtr=malloc(sizeof(NodoPila));/*sto allocando dinamicamente memoria per il nuovo nodo*/
/*inserisco il nodo in cima alla pila*/
if (newPtr!=NULL){
newPtr->dato=info;
newPtr->nextPtr=*topPtr;
*topPtr=newPtr;
}/*fine ramo if*/
else{
printf("%d inserimento impossibile.Non c'è memoria disponobile.\n",info);
}/*fine else*/
}/*fine funzione push*/
/*rimuove un nodo dalla tesa della pila*/
int pop(NodoPilaPtr *topPtr)
{
NodoPilaPtr tempPtr;/*puntatore ad un nodo temporaneo*/
int popVal;/*valore del nodo*/
tempPtr=*topPtr;/*a temp gli passo il valore a cui punta top(valore che sta nel primo nodo),*/
popVal=(*topPtr)->dato;/*assegno (*topPtr)->dato a popVal*/
*topPtr=(*topPtr)->nextPtr;/*topPtr contiene l'indirizzo del nuovo nodo di testa*/
free(tempPtr);/*libero la memoria puntata da temp*/
return popVal;
}/*fine pop*/
/*visualizzo la pila*/
void stampaPila(NodoPilaPtr currentPtr)
{
/*se la pila non è vuota*/
if (currentPtr==NULL){
printf("la pila è vuota.\n\n");
}
else{
printf("la pila è:\n");
/*finche non raggiunge la fine della pila*/
while(currentPtr!=NULL){
printf("%d-->",currentPtr->dato);
currentPtr= currentPtr->nextPtr;
}/*fine while*/
printf("NULL\n\n");
}/*fine else*/
}/*fine funzione print*/
/*se la pila è vuota restituisce 1 altrimenti 0*/
int isEmpty(NodoPilaPtr topPtr)
{
return topPtr==NULL;
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
guarda gli errori che ti da il compilatore... vuole il cast su malloc
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 162
|
il mio dev non da errori lo compila ma quando gli do esegui non fa nulla
intendevi questo? newPtr=(NodoPila*)malloc(sizeof(NodoPila)); cmq non fa nulla lo stesso |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
a me parte ... non è che hai fatto solo compila e non compila ed esegui? ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 162
|
vabbè che sono una p...a in programmazione..ma fino li ci arrivo
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 162
|
ora però vorrei poter sommare gli elementi della pila riempita, solo che non mi ci ritrovo con questi nodi, mi fai un esempio dettagliato? ricordandoti sempre che sono una pippa
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
![]() questo è quello che vedo ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 162
|
ho riprovato ma nulla da che può dipendere?
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 162
|
mi sono appena scaricato l'aggiornamento(ho visto che tu hai la.2)ho riprovato ma nulla di fatto(per la cronaca vado su ESEGUI -COMPILA-ESEGUI)
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
gli altri progetti li esegue?
prova a reistallare
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:49.




















