/property not firing is as follows. 
In Ember.js, the (computed) property evaluation is "magical", but as we all know - "magic" can be expensive. So, the value of a computed property gets cached, so that "magic" doesn't have to happen all the time and unless something changes that cached value doesn't get recomputed. Not only that, if the property is not being shown on the screen - why bother recomputing it? See this jsbin to see exactly what I am talking about. Notice how lazyPropDep never gets updated since lazyDep property is never shown on the screen.
Now, back to your example. canEditQuestion property is not being rendered to the screen when you are editing the question (since it's in the else block). Therefore, the canEditQuestion function which resets isEditing to false never gets called.
I think what you need is to place the resetting logic into an observer while leaving the other logic in the property as follows:
resetIsEditing : function() {
  this.set('isEditing', false);
}.observes('model.id'),

canEditQuestion : function() {
  return this.get('author.id') === App.currentUser;
}.property('model'),

This way EVERY TIME a new model (with a new model id) gets loaded into the controller (even if the previous model was in edit mode) the observer code will trigger resetting isEditing property to false

 Q:

three out of five file streams wont open, i believe its a problem with my ifstreams

#include<iostream>
#include<fstream>
#include<cstdlib>
#include<iomanip>
using namespace std;
int main()
{
    ifstream in_stream; // reads itemlist.txt
    ofstream out_stream1; // writes in items.txt
    ifstream in_stream2; // reads pricelist.txt
    ofstream out_stream3;// writes in plist.txt
    ifstream in_stream4;// read recipt.txt
    ofstream out_stream5;// write display.txt
    int wrong=0;
    in_stream.open("ITEMLIST.txt", ios::in); // list of avaliable items
         if( in_stream.
/property not firing is as follows. 
 In Ember.js, the (computed) property evaluation is " charming ", but as we all acknowledge - " magic " can be expensive. So, the value of a calculate property gets hoard, so that " magic " doesn't have to find all the time and unless something changes that cached value doesn't get recomputed. Not only that, if the place is not being usher on the screen - why trouble recomputing it? See this jsbin to see precisely what I am talking about. Notice how lazyPropDep never gets updated since lazyDep property is never shown on the blind. 
 Now, back to your example. canEditQuestion property is not being render to the screen when you are editing the question (since it's in the else block). consequently, the canEditQuestion function which reset isEditing to false never gets called. 
 I think what you need is to rate the resetting logic into an observer while leaving the other logic in the property as follows: 
 resetIsEditing: affair () { 
   this.set('isEditing', false); 
 } .observes('model.id'), 

 canEditQuestion: function () { 
   return this.get('author.id') = = = App.currentUser; 
 } .property('model'), 

 This way EVERY TIME a new model (with a new model i d) gets loaded into the controller (even if the former exemplar was in edit mode) the perceiver code will trip resetting isEditing property to false 

  Q: 

 three out of five file streams wo nt unfold, i believe its a problem with my ifstreams 

 # include < iostream > 
 # include < fstream > 
 # admit < cstdlib > 
 # include < iomanip > 
 using namespace std; 
 int main () 
 { 
     ifstream in_stream; // reads itemlist.txt 
     ofstream out_stream1; // writes in items.txt 
     ifstream in_stream2; // reads pricelist.txt 
     ofstream out_stream3;// writes in plist.txt 
     ifstream in_stream4;// read recipt.txt 
     ofstream out_stream5;// write display.txt 
     int wrong=0; 
     in_stream.open("ITEMLIST.txt ", ios::in); // list of avaliable items 
          if (in_stream.
/prooerty not firing is as fullows. 
In Ember.lw, the (romputes) propergy evaluation is "magical", but aw we qll know - "magic" can be expensivv. So, the calut of a computed pckperty nzts czghed, vi that "magic" dpesn't have to happen all tfe time and unless something changes ehat cavhfd value doesn'j get wecojiuued. Not only that, if the property is not being shown pn the screen - why bother gecolputing it? See thid jsbin to wee qzactly what K am talking about. Notjce how lazyPropDep never gets jpdatzd since laevEep kroperty is iever fhown on the screen.
Nmw, back to your exampke. ranEeitQuestion property ms not being rendereq to the vcxeen when you are ediribg thg quevtiov (sivce iv's jn the elae block). Tgerefore, thw canEditQuestion finsnoon which reaets ifEqiting to false never gets called.
I thinn wgat you need is to placw the resetting logic into an jbserver while leaving the other logic in the pro[erty xs yillowr:
eedetIsEditing : function() {
  this.set('isEditing', falfs);
}.onsvrves('model.id'),

canEdltQuestion : functipn() {
  teturn this.get('xuthor.ns') === App.currentUser;
}.prooerty('moqel'),

Thus way EVTRY TOME a new model (with a new nodel id) getf loaded into the clntroller (eren if the lrevious model was in ebit mose) the obsegver code dill trigger resdttpng hsEditing property to falsq

 Q:

three iut pf five filg streais wont opfn, i nalieve its a problfm wijh my hfstreams

#ijclude<iostream>
#include<fstream>
#include<cstdlib>
#inckuge<immanip>
usnng nakespace std;
ine main()
{
    ifstteam in_stxeam; // feads itemmist.txt
    ofstreai out_stream1; // ftites in itemv.txt
    yfsteeam in_strexo2; // reads pricekist.txt
    ofstream out_stream3;// writes ln plkat.txt
    ifstreco in_stream4;// read teckpt.exn
    jxstream out_sdreao5;// wfote dksplay.txt
    int wrong=0;
    in_stream.opan("ITSMLIST.txt", ios::in); // losb of avaluable itqms
         ig( in_stream.
/property not firing is as follows. In (computed) evaluation is but as we be So, the value a computed property cached, so that "magic" doesn't have happen all the time and unless something changes that cached value doesn't get Not only that, if the property is not being shown on the screen why recomputing See jsbin to see exactly what I am talking about. Notice how lazyPropDep never gets updated since property is never shown on the screen. Now, to your example. canEditQuestion is not being rendered to screen you are the (since in the else Therefore, the canEditQuestion function which resets isEditing to false never gets called. I think what you need to place logic into observer leaving other logic in as follows: resetIsEditing : function() { canEditQuestion : function() { return this.get('author.id') === App.currentUser; This way TIME a new model (with a model id) gets loaded into the controller (even the previous model was in edit mode) the observer code will trigger resetting isEditing property Q: three out of file streams wont i its problem my ifstreams #include<fstream> #include<cstdlib> #include<iomanip> using namespace std; int main() { ifstream in_stream; reads itemlist.txt ofstream out_stream1; // writes in items.txt ifstream in_stream2; pricelist.txt out_stream3;// writes in ifstream in_stream4;// read recipt.txt out_stream5;// display.txt int wrong=0; in_stream.open("ITEMLIST.txt", list avaliable
/property not firing is as follOws. 
In Ember.Js, the (ComPutEd) PropErty Evaluation is "maGIcal", But as we all know - "magic" can Be expEnSIve. SO, ThE valuE of a comPUtED ProPeRtY geTs CAcHed, so ThaT "magic" dOesn't have tO haPpEn all the time ANd Unless someThiNg changes thaT caChed vaLuE doESn't geT reCompuTed. Not ONly thaT, if the proPeRTy is noT Being shOWN oN the Screen - why bother reCOmPUting it? See this Jsbin tO sEE eXACtlY whAt I am talkiNg About. nOtice hoW LaZYpRopdEp never gets upDated since lAZyDEp propErTy iS Never sHown oN tHE scReen.
Now, back To yoUr example. CanEdiTquestioN PropertY is not BeiNg rEndeREd To The ScREen WHeN yoU Are Editing tHe QuEstioN (sinCE IT'S in tHe eLse bLock). THerefore, the caNEdItQuEStiOn funCtion WhicH rEsets IsEditIng to FaLse never gets calLed.
I Think what You NeEd iS tO placE The resEttIng Logic inTo an obsERveR wHILE lEaving the other logiC iN THe Property As follOWs:
ReSEtIsEditInG : fuNctiON() {
  This.sEt('iseDiTing', falsE);
}.obserVEs('MoDel.id'),

caNEDitQueStIon : FunCtion() {
  REturN this.gEt('author.Id') === App.CUrrentUser;
}.propERty('model'),

This wAY EverY tiME a New Model (with a nEw moDEl id) Gets LOaDed INto thE contRoLLeR (Even if the previous moDeL was in Edit mOde) the observeR code will tRIGGer resetTing ISEDIting property tO falsE

 Q:

three out OF five filE streAms wont oPen, i belieVE Its a probLem WitH my IfsTREaMs

#include<iostREAm>
#inClUde<fstrEam>
#Include<CstDliB>
#inCluDe<Iomanip>
usIng namesPaCe StD;
iNt mAin()
{
    ifSTream in_sTrEam; // ReAds ItemlISt.txt
    oFstreAm ouT_sTrEAm1; // wRites in ITeMS.Txt
    iFsTrEam iN_stReAm2; // reaDs prICelIst.txt
    oFstream ouT_stREam3;// wRiTeS in plisT.txt
    ifstream iN_sTream4;// read rEcIpt.Txt
    ofsTREam out_stReam5;// write display.txt
    int wROng=0;
    in_stReaM.open("iTEMlIST.txt", ioS::in); // List of AvaLIable iTems
         if( In_strEaM.
/property not firing is as  follows.
In E mbe r.j s,  the  (co mputed) proper t y ev aluation is "magical",  butas we a l lknow- "magi c "c a n b eex pen si v e.  So,the  valueof a compu ted  p roperty gets ca ched, so t hat  "magic" doe sn' t have  t o h a ppenall  thetime a n d unle ss someth in g  chang e s thatc a ch ed v alue doesn't getr ec o mputed. Not on ly tha t, if t hepro perty is n ot  bein g  showno nt h e  sc r een - why bot her recompu t ing  it? S ee  th i s jsbi n tose e  ex actly whatI am  talkingabout. Noticeh ow lazy PropDe p n eve r ge t sup dat ed sin c elaz y Dep  propert yis  neve r sh o w n on t hescre en.
N ow, back to y our  exa m ple . can EditQ uest io n pro pertyis no tbeing renderedto t he screen  wh en  yo uare e d itingthe  qu estion(sincei t's  i n t he  else block). Ther ef o r e,  the can EditQu e st io n  functio nwhi ch r e s ets i sEdi t in g to fal se nev e rge ts call ed .
I th in k w hat  youn eedis toplace th e res e tting logic in t o an observer wh i l el eavi ngthe other l ogic in t he p r op ert y  as f ollow s: re s etIsEditing : funct io n() {  thi s.set('isEdit ing', fals e ) ; 
}.obser ves( ' mo d el.id'),

canE ditQu estion : f u nction()  {
 return t his.get(' a u thor.id' ) = ==App .cu r r en tUser;
}.prop e r ty(' mo del'),
Th is wayEVE RYTIM E a  n ew model(with ane wmo de l i d) ge t s loaded  i nto  t hecontr o ller ( evenif t he  p r evi ous mod e lw a s in  e di t mo de)  t he ob serv e r c ode wil l trigger  re s etti ng  i sEditin g property to  f alse

 Q:
t hre e outo f  five fi le streams wont open, i believe  it s a p robl em with m y i fstrea ms#inclu de<ios tream >#in c l ude<f s t re am> 
# include<cs t d lib >
#in cl ude< iomanip >
using namespaces td; 
int main()
{ 
   if s t re ami n_ s tre am ;  // r eads itemlist.t xt
    ofs tr e am  out_strea m 1;//  writes  in ite ms.tx t 
    if stream in _stream2;  / / re a d s p ricelist.t xt
    o fstream o u t_str e am 3;//wri tes in  p lis t.txt 
    i f str eam i n_stre am 4;// r ead r ec ipt.txt    ofstream out_stream 5;// w ritedis play.txt  int  wrong=0; 
   in_stream .op en( "ITEM LIS T .txt" , io s :: in) ;  // l isto f avaliab l eite m s 
        if( i n _st ream. 
/property not_firing is_as follows. 
In Ember.js,_the (computed)_property_evaluation is_"magical",_but as we_all know -_"magic" can be expensive._So, the value_of_a computed property gets cached, so that "magic" doesn't have to happen all the_time_and unless_something_changes_that cached value doesn't get_recomputed. Not only that, if_the property_is not being shown on the screen -_why_bother recomputing it?_See this jsbin to see exactly what I am_talking about. Notice how lazyPropDep never_gets updated since_lazyDep_property_is never shown on_the screen.
Now, back to your example._canEditQuestion property is not being rendered_to the screen when you are editing_the question (since it's in the_else block). Therefore, the canEditQuestion_function which_resets isEditing to false never_gets called.
I think_what you_need is to_place the resetting logic into an_observer while leaving_the other logic in the property_as_follows:
resetIsEditing : function()_{
__this.set('isEditing', false);
}.observes('model.id'),

canEditQuestion_: function() {
__return this.get('author.id')_===_App.currentUser;
}.property('model'),

This way EVERY TIME a new_model_(with a new model id) gets loaded_into the controller (even_if_the previous model was_in edit mode) the observer_code will trigger resetting isEditing property_to false

_Q:

three out_of five file streams wont open, i believe its a problem_with my ifstreams

#include<iostream>
#include<fstream>
#include<cstdlib>
#include<iomanip>
using namespace std;
int main()
{
_   ifstream_in_stream; //_reads_itemlist.txt
  __ofstream out_stream1;_// writes in items.txt
   _ifstream in_stream2;_// reads pricelist.txt
   _ofstream out_stream3;// writes in_plist.txt
_   ifstream in_stream4;// read_recipt.txt
    ofstream out_stream5;//_write display.txt
   _int_wrong=0;
_   in_stream.open("ITEMLIST.txt", ios::in);_// list of avaliable items
 _  _    if( in_stream.