16/11/09 14:07
matteog
simulatore automa a stati finiti:
ho unproblema nell'inserimento.
L'utente inserisce una stringa per esempio"mamma" a questo punto l'utente inserisce una lettera e devo riconoscere la parola:
mamma:
m
a
m
d no riparte da 0
m
a
m
m
a
parola riconosciuta!!
l'unica cosa è che se la lettera è composta da mamma subito mi stampa comunque uscita e ingresso come posso fare per limitarla ad un solo carattere??
posto il codice:
EDIT by HeDo: "Input" si scrive con la 'n', non con la 'm', ho sistemato il titolo...
ho unproblema nell'inserimento.
L'utente inserisce una stringa per esempio"mamma" a questo punto l'utente inserisce una lettera e devo riconoscere la parola:
mamma:
m
a
m
d no riparte da 0
m
a
m
m
a
parola riconosciuta!!
l'unica cosa è che se la lettera è composta da mamma subito mi stampa comunque uscita e ingresso come posso fare per limitarla ad un solo carattere??
posto il codice:
#include "stdafx.h" #include <string.h> #include <windows.h> #include <stdio.h> #include <iostream> using namespace std; void selector(unsigned short color) { HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hCon,color); } void spiega(); int main() { char stringa[900]; char l; bool flag=false; selector(30| BACKGROUND_BLUE); spiega(); cout<<"PROGRAMMA: simulazione di un automa che riceve in ingresso una parola."<<endl; cout<<endl<<endl<<"Inserisci la parola:[se vi sono spazi inserire un '_']"<<endl; gets(stringa); cout<<"\n\n\tInserire carattere per permettere il confronto con la parola inserita:"<<endl; do { for(int i=0;i<(strlen(stringa));i++) { cin>>l; cout<<endl; if(l!=stringa[i]) { cout<<"Lettera non corrisponde alla "<<i+1<<endl<<" lettera della parola, rinserisci dalla prima lettera."<<endl; i=strlen(stringa); flag=true; } else { cout<<"\t\t Uscita: \t"<<stringa[i]<<" \t Stato: \t s"<<i<<endl; if(i+1==strlen(stringa)) { cout<<endl<<endl<<"Parola riconosciuta!!!!!"<<endl<<endl<<endl; system("pause"); return EXIT_SUCCESS; } } } }while(flag==true); } void spiega() { cout<<"ben venuti nel programma automa generico!!"<<endl; cout<<"Nella simulazione di questo programma potrai verificare "<<endl; cout<<"il funzionamento di un riconoscitore di parole"<<endl; cout<<"senza limiti di caratteri.Un accorgimento nel caso si debba riconoscere"<<endl; cout<<"una frase allora inserire '_' al posto dello spazio\n\n\n\n\n\n\n"; }
EDIT by HeDo: "Input" si scrive con la 'n', non con la 'm', ho sistemato il titolo...
Ultima modifica effettuata da HeDo 16/11/09 17:50
aaa