ongelma tulee tässä:
aloin koodata tekstimuotoista hirsipuupeliä(aloittelia kun olen, graffoista ei olis tullu mitään) pienten ongelmien jälkeen koodiini lisäsin namespacen funktion rungolle ja parille muuttujalle, joita linkkeri ei päästänyt läpi.
dev-c++ kyllä kääntää koodin, mutta ajaessa tulee virhe.
voisitteko auttaa ja kertoa mistä se johtuu?
koodi saattaa näyttää epäselvältä, mutta en saanut headeria funktiot.h includeattua...(#include "funktiot.h" ei toiminut...)
jos selitin asiani jotenkin huonosti, pahoittelen sitäkin...
EDIT: pahoittelen liianpitkiä koodirivejä, en vielä osaa pitää niitä kohtuullisina... toivottavasti aika korjaa asian :)
koodi tulee tässä:
#include <cstdlib> #include <iostream> #include <string> #include <time.h> namespace fn//HUOM!! tein tämän namespacen koska kääntäjä valitti virheellisistä muuttujanimen { //käytöstä; ennenkuin joku sanoo sen TIEDÄN että muitakin keinoja tehdä sama asia //tämä versio kuitenkin meni kääntäjästä läpi, ja minulle riittää se using namespace std; #include <string> string valitse_sana(); int vaaria_jalj=10; string arvaus=0; string arvatut=0; string valitse_sana(void) { srand(time(0)); string sanat[]={"abstrakti", "hirsipuu", "elokuva", "tietokonepeli", "n\x84it\x84", "sanoja", "voi", "olla", "niin", "monta", "kuin", "haluat"}; //jos lisäät tai poistat sanoja, täydennä sanojen määrä muuttujaan //const int lkm //toistaiseksi ohjelma ei tue ääkkösiä,joten ne on kirjoitettava //koodinvaihtomerkeillä seuraavasti: // ä \x84 ö \x94 const int lkm=12; int i=0; i=rand()%lkm; return sanat[i]; } } using namespace fn; //string valitse_sana();//sananvalintafunktion prototyyppi void vaarin(); string tarkistus(string, string); int main() { string sana=fn::valitse_sana(); string arvaus=0; string arvatut=0; string rekvisiitta(sana.length(), '#'); fn::vaaria_jalj=10; //muuttujien asetuksia... tossa yläpuolella cout<<"Tervetuloa pelaamaan hirsipuu-peli\x84!"<<endl; cout<<"Arvattava sana on valittu, ja se sis\x84lt\x84\x84 "<<sana.length()<<" merkki\x84."<<endl; cout<<"Voit arvata kirjaimia, tai koknaisen sanan."<<endl; do{ cout<<endl<<"********************"; cout<<endl<<rekvisiitta<<endl; cout<<"Arvauksia j\x84ljell\x84 "<<fn::vaaria_jalj<<endl; cin>>arvaus; if(arvaus.length()==0) vaarin(); else if(arvaus.length()==sana.length()) { if(arvaus==sana) { cout<<endl<<"ARVASIT AIVAN OIKEIN!! Sanasi oli " <<sana<<" ja arvauksia oli j\x84ljell\x84 " <<fn::vaaria_jalj<<" kappaletta!"; } } if(arvaus.length()==1) cout<<endl<<tarkistus(sana, arvaus); }while(fn::vaaria_jalj<0); system("PAUSE"); return 0; } void vaarin() { fn::vaaria_jalj--; fn::arvatut+=fn::arvaus; return; } string tarkistus(string sana, string arvaus) { int lkm=0; string juttu=0; for(int i=0; (i=sana.find(arvaus, i)) !=string::npos ; juttu=(i-1, arvaus),i++,lkm++) { } if (lkm==0) vaarin(); return juttu; } //
Aihe on jo aika vanha, joten et voi enää vastata siihen.