Avatar billede storkie Nybegynder
07. august 2004 - 10:33 Der er 14 kommentarer og
1 løsning

Nybegynder problem.

#include <iostream.h>


void main(void)
{
    long tal;
  cout<<"Skriv et tal";
  cin >> tal;
  count<<"Tallet"
  << tal << endl;


}

Det burde virke, da jeg har skrevet det direkte af fra en bog, men det virker ikke. Jeg bruger Dev-C++ 4.9.9.0
Avatar billede Slettet bruger
07. august 2004 - 10:37 #1
cout og cin ligger i namespace std så du kan enten prefixs ala std::cout << "Skriv.....

eller skrive:
using namespace std;

efter dit include
Avatar billede storkie Nybegynder
07. august 2004 - 10:39 #2
Det hjalp ikke. Den siger fejl i linje 1, 2, 5 og 10
Avatar billede thomas_nj Nybegynder
07. august 2004 - 11:07 #3
#include <iostream>

using namespace std;

int main()
{
    long tal;
   
    cout<<"Skriv et tal "<<endl;
    cin>>tal;
    cout<<"Du skrev: "<<tal<<endl;
   
    return 0;

}
Avatar billede Slettet bruger
07. august 2004 - 11:08 #4
Såvidt jeg kan se anvender dit miljø gcc hvor den burde anvende g++. Nedenstående kompilerer og afvikler med g++

#include <iostream.h>

void main(void)
{
  long tal;
  std::cout << "Skriv et tal";
  std::cin >> tal;
  std::cout << "Tallet" << tal << endl;
}
Avatar billede thomas_nj Nybegynder
07. august 2004 - 11:08 #5
Du må aldrig bruge void main(). I følge ham der lavede sproget er det ren sludder, hvilket også er grunden til at dev-cpp ikke godtager din kode.
Endvidere er iostream.h forældet og erstattet af iostream (uden .h).
  Er det C++ af cris jamsa du læser i?
Avatar billede thomas_nj Nybegynder
07. august 2004 - 11:10 #6
Avatar billede storkie Nybegynder
07. august 2004 - 11:20 #7
ja det er Kris Jamsa C++ jeg læser
Avatar billede thomas_nj Nybegynder
07. august 2004 - 11:21 #8
Lærte også fra den, men problemet er at den ikke gør tingen med main rigtigt, og så bruger den stadig iostream.h
  Virker den kode jeg gav dig for et par kommentarer siden ikke?
Avatar billede thomas_nj Nybegynder
07. august 2004 - 11:30 #9
Jeg syntes tingene i chris jamsa er meget nemt forklaret så man hurtigt kommer i gang. Hvis du ikke er bange for engelsk vil jeg anbefale dig at læse denneher: http://cplus.about.com/library/blcplustut.htm og så supplere med chris jamsa's C++ til de steder du synes det er svært at forstå.
Avatar billede storkie Nybegynder
07. august 2004 - 11:36 #10
Vil jeg gøre:
#include <iostream>

using namespace std;

int main()
{
    long password;
    long passwordr = hej;
    cout<<"Password "<<endl;
    cin>>password;
   
   
    if (password == passwordr)
    {
    cout<<"Du skrev: "<<password<<endl;
}   
    else
  {
      cout<<"Du blev ikke logget ind"<< endl;
  }   
    return 0;

}
Din siger fejl ved
long passwordr = hej;

Hvad er der galt.

Smid et svar thomas_nj
Avatar billede thomas_nj Nybegynder
07. august 2004 - 11:42 #11
long er kun til tal. Følgende burde virke
#include <iostream>

using namespace std;

int main()
{
    char password[255];
    char passwordr[] = "hej";
    cout<<"Password "<<endl;
    cin>>password;
   
   
    if (password == passwordr)
    {
    cout<<"Du skrev: "<<password<<endl;
}   
    else
  {
      cout<<"Du blev ikke logget ind"<< endl;
  }   
    return 0;

}
  Der findes forskellige datatyper, se side 17 i Kris Jamsa. Og forklaring på char navn[] på side 66 og fremefter
Avatar billede storkie Nybegynder
07. august 2004 - 11:47 #12
Den siger ikke nogen fejl, men når jeg skriver hej i password bliver jeg ikke logget ind
Avatar billede thomas_nj Nybegynder
07. august 2004 - 12:22 #13
Det er fordi du ikke kan bruge == til at teste en streng. Kan godt lave koden til dig så den virker men tror du vil få mere ud af den hvis du lige læser en eller anden tutorial/bog.
Avatar billede thomas_nj Nybegynder
07. august 2004 - 12:23 #14
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string password;
    string passwordr = "hej";
    cout<<"Password "<<endl;
    cin>>password;
   
   
    if (password == passwordr)
    {
    cout<<"Du skrev: "<<password<<endl;
}   
    else
  {
      cout<<"Du blev ikke logget ind"<< endl;
  }   
    return 0;

}

burde virke
Avatar billede bertelbrander Novice
07. august 2004 - 13:47 #15
Man bør ikke bruge:

char password[255];
std::cin >> password;

Da std::cin >> operatoren ikke har nogen måde at vide hvor meget den må læse ind i password, og den kan dermed skrive langt ud over enden på password array'et, uanset hvor langt dette er.

Man bør bruge std::cin sammen med en std::string eller std::cin.getline(password, sizeof(password)); hvis man VIL bruge char array's

Man kan naturligvis også bruge:
std::string password;
std::cin.getline(password);

Dermed tillader man at password indeholder mellemrum.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester