Zobraziť témy bez odpovede | Zobraziť aktívne témy Aktuálny čas je 24 Feb 2020, 5:26



Odpovedať na tému  [ Príspevkov: 7 ] 
Daco sa pokazilo v kode
Hľadať:
Facebook Twitter Vybrali Sme  
 
Autor Správa
Novice
Novice
Obrázok užívateľa

Registrovaný: 9.8.2019
Príspevky: 7
Karma: Neutrál
Príspevok Daco sa pokazilo v kode
Zdravím, prosím vysvetlí mi niekto preco tento jednoduchy kod nefunguje? Ide tam o zadanie mena a veku no ale hlavne mi islo o to aby sa dal ukoncit ked je spusteny a skusil som vela moznosti a nakoniec som skoncil pri bool a vznikol s toho takyto gulas :(
Kód:
[size=85]#include <iostream>
#include <string>
using namespace std;
bool Tor1(char*);
bool Tor2(char*);
struct Nomis
{
   bool K1;
   bool K2;
   bool koniec = false;
   char znak,zz;
   string meno;
   int vek;
};
int main()
{
   Nomis a1;
   cout<<"chces zadat informacie o sebe A/N? "<<"\n";
   cin>>a1.zz;
   cin.ignore();
   if (a1.zz == 'N')
a1.K2 = Tor2(&a1.znak);
else
a1.K1 = Tor1(&a1.znak);
{
if (a1.K1=false)
{
   cout<<"zadaj meno: "<<endl;
   getline(cin,a1.meno);
    cout<<"zadaj vek: "<<endl;
    cin>>a1.vek;
    cin.ignore();
    cout<<"tvoje meno: "<<a1.meno<<endl;
    cout<<"tvoj vek: "<<a1.vek<<endl;
   cout<<"----------koniec---------"<<endl;
   return 0;
}
   else
  cout<<"koniec";
}

   return 0;
}
bool Tor1(char*znak)
{
       Nomis f1;
      cout<<"A = vratit sa k zadavaniu udajov: ";
      
      cin.get(f1.znak);
      cin.ignore();
      
       if (f1.znak=='A')
      {
        f1.koniec = false;
        return f1.koniec;
      }
      
               
}
bool Tor2(char*znak)
{
    Nomis f2;
    cout<<"K = koniec zadavania"<<endl;
      cin.get(f2.znak);
      cin.ignore();
      if (f2.znak=='K')
   {

   f2.koniec = true;
   return f2.koniec;
   
   }

}[/size]

Za skoru radu dakujem a nehejtujte ma ja viem ze mi to nejde... :(


20 Aug 2019, 23:59
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 22.11.2006
Príspevky: 4357
Bydlisko: BA
Karma: Level +3
Príspevok Re: Daco sa pokazilo v kode
napis co ti tam nejde. nejde zkompilovat? aky error to hadze?

minimalne co vidim takto tak if (a1.K1=false), v ife pravdepodobne chces 2 hodnoty porovnat, nie hodnotu priradit do premennej.


21 Aug 2019, 8:20
Profil  
Novice
Novice
Obrázok užívateľa

Registrovaný: 9.8.2019
Príspevky: 7
Karma: Neutrál
Príspevok Re: Daco sa pokazilo v kode
ide spustit no funguje zle a pise to ze non static data member initializers only avaible with -std=c++11or -std=gnu++11
Na preklad puzivam dev c++


21 Aug 2019, 12:49
Profil  
Light Expert
Light Expert
Obrázok užívateľa

Registrovaný: 27.5.2015
Príspevky: 60
Karma: Neutrál
Príspevok Re: Daco sa pokazilo v kode
čo som na rýchlo pozeral a zisťoval, tak máš dve možnosti na výber
tam kde máš
Kód:
bool koniec = false; // odstráň = false;

a potom by ti to malo ísť bez "non static data member initia..." upozornenia, alebo si zapni C++ 11, žiaľ v dev c++ nerobím tak v tomto ti neviem poradiť.
možno skús toto https://stackoverflow.com/questions/169 ... ts-c0x-ran

tu máš viac info o tom ak by ťa to zaujímalo, aspoň myslím, že je to aj tvoj prípad (pozri príspevok označený za odpoveď)
https://stackoverflow.com/questions/408 ... ing-memory


21 Aug 2019, 15:07
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 27.5.2009
Príspevky: 3820
Bydlisko: Bratislava
Karma: Level +4
Príspevok Re: Daco sa pokazilo v kode
Plus este vyzera, ze v metodach bool Tor1(char*znak) a bool Tor2(char*znak) ti chyba return mimo podmienok.
A celkovo mi pride, ze robis nieco jednoduche velmi komplikovanym sposobom.


22 Aug 2019, 6:26
Profil  WWW
Novice
Novice
Obrázok užívateľa

Registrovaný: 9.8.2019
Príspevky: 7
Karma: Neutrál
Príspevok Re: Daco sa pokazilo v kode
Oblak diky za radu uz mi to nepise to upozornenie a harrison kod som daako prerobil a uz funguje ako ma :)
#include <iostream>
#include <string>
using namespace std;
bool Tor2(char*);
struct Nomis
{
bool K2;
bool koniec;
char znak,zz;
string meno;
int vek;
};
int main()
{
Nomis a1;
cout<<"chces zadat informacie o sebe A/N? "<<"\n";
cin>>a1.zz;
cin.ignore();
if (a1.zz == 'N')
a1.K2 = Tor2(&a1.znak);
if (a1.K2 == false)
{
cout<<"zadaj meno: "<<endl;
getline(cin,a1.meno);
cout<<"zadaj vek: "<<endl;
cin>>a1.vek;
cin.ignore();
cout<<"tvoje meno: "<<a1.meno<<endl;
cout<<"tvoj vek: "<<a1.vek<<endl;
cout<<"----------koniec---------"<<endl;
return 0;
}
cout<<"koniec";
return 0;
}

bool Tor2(char*znak)
{
Nomis f2;
cout<<"K = koniec zadavania | A=naspat k zadavniu"<<endl;
cin.get(f2.znak);
cin.ignore();
if (f2.znak=='K')
{

f2.koniec = true;
return f2.koniec;
}
else if (f2.znak=='A')
{
f2.koniec = false;
return f2.koniec;
}
}


22 Aug 2019, 10:07
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 27.5.2009
Príspevky: 3820
Bydlisko: Bratislava
Karma: Level +4
Príspevok Re: Daco sa pokazilo v kode
Stale ti tam chyba return

Skus to takto:
Kód:
bool Tor2(char *znak)
{
char c;

cout << "K = koniec zadavania | A=naspat k zadavniu" << endl;
cin.get(c);
cin.ignore();

return c == 'K';
}


22 Aug 2019, 12:20
Profil  WWW
Zobraziť príspevky z predchádzajúceho:  Zoradiť podľa  
Odpovedať na tému  [ Príspevkov: 7 ] 


Kto je on-line 
Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre
Nemôžete zasielať súbory v tomto fóre

Hľadať:
Skočiť na:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group. © Hojko 2004-2016
[ Time : 0.161s | 14 Queries | GZIP : On ]