Discussione: [C] Notazione Polacca
View Single Post
Old 17-03-2008, 20:23   #5
xbubbax
Senior Member
 
Iscritto dal: Apr 2007
Messaggi: 381
come posso fare nell'if per verificare se l'elemento della stringa è un numero oppure se è un simbolo(+,-,*,/)?

non posso usare il codice ascii perchè se il numero è a 2 o piu cifre cosa confronto?
Codice HTML:
#include <stdio.h>
#include <stdlib.h>
#include "funzioni_pile"

int Polacca(char s[], int n){
    
    int op1=0;
    int op2=0;
    int operatore=0;
    int somma=0;
    
    pilaPtr P=NULL;
    int i=0;
    
    for(i=0;i<10;i++){
                      if(s[i]=OPERANDO){P=Push(P,OPERANDO);}
                      if(s[i]=OPERATORE){
                                         operatore=s[i];
                                         op1=Top(P);
                                         P=Pop(P);
                                         op2=Top(P);
                                         P=Pop(P);
                                         
                                         somma=op1 operatore op2;
                                         P=Push(P,somma);}}
                                         
                      



int main(void){
    
    char s[10]={'20','15','100','5','-','*','+','21','-','\0'}
    
    int Polacca(s[], 10);
         
         
    system("PAUSE");}

Ultima modifica di xbubbax : 17-03-2008 alle 20:27.
xbubbax è offline   Rispondi citando il messaggio o parte di esso