webForumDet fria alternativet

Nybörjarhjälp

C/C++

3 svar · 499 visningar · startad av Xizowaxu

Medlem sedan maj 20071 inlägg
Frågan#1

Hejsan

Jag är en nybörjare inom programmering och ahr en fråga angående min kod. Jag är medveten om att den säkert ser ut som skit osv, men vill helst endast ha hjälp med just det jag frågar om, alltså inga onödiga kommentarer om min kod :P

#include <iostream> 
#include <stdlib.h> 
#define TRUE 1 
#define FALSE 0 

using namespace std; 
void welcome() 
{ 
cout<<"V\x84lkommen till Tommys Databas"; 
} 
void meny() 
{ 
  cout<<"\n"; 
  cout<<"Vad vill du goera?"; 
  cout<<"\n"; 
  cout<<"cout - Titta pa alla\ncin - Mata in data\nchange - Andra data\ndelete - Rensa all data\nquit - Avsluta programmet"; 
  cout<<"\n\n"; 
} 
void las_strang(char *val) 
{ 
  cin>>val; 
} 

int las_val(int *a, int *l, string f[10],string e[10],string k[10]) 
{ 
  string temp1,temp2,temp3; 
  bool d; 
  int i,in,ut,ny; 
  char val[256]; 
  las_strang(val); 
  if(strcmp(val,"cout")==0) 
  { 
      cout<<"Fornamn\tEfternamn\tKurs"<<endl; 
      in=*a; 
      for(i=0;i<in;i++) 
      { 
      cout<<"\n"; 
      cout<<f[i]<<"\t"<<e[i]<<"\t"<<k[i]; 
      } 
  } 
  else if(strcmp(val,"cin")==0) 
  { 
      cout<<"Ange fornamn, efternamn och kurs \n\n"; 
      in=*a;
      cin>>temp1>>temp2>>temp3; 
      f[in]=temp1; 
      e[in]=temp2;                                                            
      k[in]=temp3;                                                        
      cout<<f[in]<<" "<<e[in]<<" "<<k[in];  
      cout<<"\n\n"; 
  } 
  else if(strcmp(val,"change")==0) 
  { 
      cout<<"Ange fornamn, efternamn och kurs som du vill andra\n\n"; 
      cin>>temp1>>temp2>>temp3; 
      ut=*l;
      d=false; 
      while(d==false)
      { 
        ny=*a;
        for(i=0;i<ny;i++)
        { 
          if(temp1==f[ut]&&temp2==e[ut]&&temp3==k[ut]) 
          { 
            cout<<"Mata in ny data "; 
            cin>>f[ut]>>e[ut]>>k[ut];
            cout<<"\n\n"; 
            d=true; 
            break;
          }
          else if(i+1==ny)
          {
            cout<<"Personen du soker finns tyvarr inte..\n\n";
            _sleep(900);
            d=true; 
          }  
      
          else if(temp1!=f[ut]||temp2!=e[ut]||temp3!=k[ut]) 
          { 
            ut++; 
            d=false; 
          } 
        }
      } 
    } 
    else if(strcmp(val,"delete")==0) 
    { 
        cout<<"Deleting"; 
        _sleep(450); 
        cout<<"."; 
        _sleep(450); 
        cout<<"."; 
        _sleep(300); 
        cout<<".\n\n"; 
        *a=-1; 
        _sleep(300); 
        cout<<"Done.\n\n"; 
        _sleep(1000); 
        
    } 
    else if(strcmp(val,"quit")==0) 
    { 
        return FALSE; 
    } 
    return TRUE; 
} 
int main() 
{ 
string f[10],e[10],k[10]; 
int a=0,l=0; 
welcome(); 
meny(); 
while (las_val(&a,&l,&f[0],&e[0],&k[0]) == TRUE) 
{
meny(); 
a++;
}
system("PAUSE"); 
return 0; 
}

Frågan är alltså: Hur ska jag göra så att den lägger till +1 i a för varje gång man kör igenom "cin" och sedan nollställer a när man väljer "delete" ?

tack på förhand

Medlem sedan mars 2007117 inlägg
Medlem sedan apr. 20071 inlägg
#3

FreddeX skrev:

http://www.cplusplus.nu/forum.asp?what=read&id=21041#firstunread

Ja, men oddsen för att få ett bra svar ökar ju fler forum man postar på, right? :q

Medlem sedan mars 2007117 inlägg
#4

ibland, men jag skrev den länken där för jag personligen anser att det är fel att posta exakt samma sak på flera forum samtidigt. Skulle ju varit mycket bättre om han frågade här om han inte fick svar på det stället eller tvärtom.

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)