Forum: Noob fråga.

Forum huvudsida -> Programmering -> Noob fråga.

Sidor: 1

Till botten

lillme 10:50 - 5:e Januari 2007 | Post #1
Medlem
Inlägg: 13


Skicka PM
Jag har fått detta fel väldigt många gånger på senaste.
Började koda c++ för några dagar sedan, allt har gått bra. Men ser verkligen inte felet i detta Smiley Eftersom jag skrev av utifrån blinkenlights guider av c++ .


#include <iostream>

using std::cout;
using std::cin;

void kvadrat(int &tal);

void kvadrat(int &tal)
{
tal = tal
  • tal;
return;
}

int main ()
{
cout << "Skriv in ett tal:n";
cin >> tal;

kvadrat(tal);

cout << "Kvadraten av detta tal blir: " << tal <<"
!n";

system("PAUSE"); return 0;
}




Raden som lyser rött i Dev C++ är följande.

cin >> tal;






Skumt tycker jag, det blev även så här när jag skulle testa köra egna funktioner.

-------------------------
Ingen signatur!

Senast redigerad 11:02 - 5:e Januari 2007


Nissebosselasse 10:55 - 5:e Januari 2007 | Post #2
Medlem
Inlägg: 490


Skicka PM
Först: när du postar kod, lägg det mellan [ code] och [ /code] (ta bort mellanslaget). Det ser ut som om det har blivit något fel när inlägget visas...

I funktionen main definierar du aldrig variabeln "tal" (d.v.s., du reserverar aldrig utrymme för den, så att kompilatorn vet vart den ska lägga dess värde).
I början av main, lägg in:

int tal;

...vilket betyder "definiera en variabel vid namn tal, och gör det till ett heltal".

När Dev-C++ lyser upp en rad med rött, får du något felmeddelande? Det underlättar när andra ska hjälpa dig om du skriver ut det.
Annars är det bara att kämpa på Smiley

-------------------------
http://pushingcows.se
Gula Nallen



lillme 11:01 - 5:e Januari 2007 | Post #3
Medlem
Inlägg: 13


Skicka PM
    Citat av Nissebosselasse:
Först: när du postar kod, lägg det mellan [ code] och [ /code] (ta bort mellanslaget). Det ser ut som om det har blivit något fel när inlägget visas...

I funktionen main definierar du aldrig variabeln "tal" (d.v.s., du reserverar aldrig utrymme för den, så att kompilatorn vet vart den ska lägga dess värde).
I början av main, lägg in:

int tal;

...vilket betyder "definiera en variabel vid namn tal, och gör det till ett heltal".

När Dev-C++ lyser upp en rad med rött, får du något felmeddelande? Det underlättar när andra ska hjälpa dig om du skriver ut det.
Annars är det bara att kämpa på Smiley


Okej, förlåt för det. Jag trodde det bara gick under Vbulletin forumen.

Hur som helst.
Vart skulle jag lägga

int tal;
?

Jag förstod inte riktigt det.
Okej, jag ska kolla vilket felmeddelande jag får. Smiley
18 C:\Dev-Cpp\funkis.cpp `tal' undeclared (first use this function)


Jag tror det är det som är felmeddelanden när man felsöker.

Tacksam för hjälp! Smiley

-------------------------
Ingen signatur!



Nissebosselasse 11:04 - 5:e Januari 2007 | Post #4
Medlem
Inlägg: 490


Skicka PM
Jag sa att du skulle lägga den först i funktionen main, men det framgick kanske inte... Smiley


int main ()
{
    // Reserverar utrymme för variabeln
    int tal;

    // Nu kan vi använda den!
    cout << "Skriv in ett tal: ";
    cin >> tal;
}


-------------------------
http://pushingcows.se
Gula Nallen



lillme 11:09 - 5:e Januari 2007 | Post #5
Medlem
Inlägg: 13


Skicka PM
    Citat av Nissebosselasse:
Jag sa att du skulle lägga den först i funktionen main, men det framgick kanske inte... Smiley


int main ()
{
    // Reserverar utrymme för variabeln
    int tal;

    // Nu kan vi använda den!
    cout << "Skriv in ett tal: ";
    cin >> tal;
}


Jodå, det framgick Smiley Men osäker nybörjade som jag är trodde jag du menade

int main (int tal);
{


Smiley

Edit. Det fungerade nu, tackar! Smiley Om det dyker upp någon mera fråga, kan jag ta det i samma tråd då?

-------------------------
Ingen signatur!

Senast redigerad 11:10 - 5:e Januari 2007


Nissebosselasse 11:11 - 5:e Januari 2007 | Post #6
Medlem
Inlägg: 490


Skicka PM
Aha! Fast då hade jag sagt att du skulle lagt till tal som en heltalsparameter till funktionen main... Smiley

-------------------------
http://pushingcows.se
Gula Nallen



lillme 11:16 - 5:e Januari 2007 | Post #7
Medlem
Inlägg: 13


Skicka PM
    Citat av Nissebosselasse:
Aha! Fast då hade jag sagt att du skulle lagt till tal som en heltalsparameter till funktionen main... Smiley


Okej Smiley

-------------------------
Ingen signatur!



lillme 12:07 - 5:e Januari 2007 | Post #8
Medlem
Inlägg: 13


Skicka PM
Jahapp. Detta vart ju fel såklart.


#include<iostream>
#include<ctime>

using std::cout;
using std::cin;
using std::srand;
using std::rand;

int main ()
{
srand(time(0));

int iSlumptal;
iSlumptal = rand() / (RAND_MAX / 6 + 1) + 1;

cout << "Detta är ett slumpat tal: " << iSlumptal;

cin.get()

system("PAUSE"); return 0;
}


Följande lyser rött!

system("PAUSE"); return 0;



-------------------------
Ingen signatur!



tobbez 12:24 - 5:e Januari 2007 | Post #9
Medlem
Inlägg: 364


Skicka PM
Du har glömt ett ; efter cin.get() som är precis före.

Dessutom kan det vara bra att bara ha en sats per rad, brukar vara lättare att se vad som blivit fel då.
Ex:

system("PAUSE");
return 0;

istället för

system("PAUSE"); return 0;

även om det inte har så stor betydelse i just det här fallet Smiley




Kanye 20:59 - 5:e Januari 2007 | Post #10
Medlem
Inlägg: 130


Skicka PM
Du bör nog läsa en kurs i hur man skriver snygg och lätt läst kod, ett annat tips vore om du kommenterade alltihop för minnets skull.

-------------------------
Motiverar?



Sidor: 1

Forum huvudsida -> Programmering -> Noob fråga.
Atom feed

Du får inte posta i den här tråden | Till toppen