💬
Logga in
Fuska.se

C++ Kod

12 svar · startad

Nivå 6 · Fuskare
Trådstartare #1

Vad är det som är fel i den här koden?

programmet stängs ned direkt jag startar det.

 

#include<iostream> using std::cout; int main() { int ett_tal; ett_tal = 12; cout << ett_tal; return 0;}

Nivå 8 · Veteranfuskare
#2

Du måste ha några cin.get():

 

#include<iostream> 
using std::cout; 

int main() 
{
int ett_tal;
ett_tal = 12;
cout << ett_tal;

cin.get();
cin.get();
return 0;
}

 

Vet int om det funkar, får inte fram kompilatorn...

Nivå 6 · Fuskare
Trådstartare #3

Då jag har testat det blir det fel och här är felrapporten:

 

Build Log

 

--------------------Configuration: Program1 - Win32 Debug--------------------

 

Command Lines

Creating temporary file "C:\DOCUME~1\Thomas\LOKALA~1\Temp\RSP1C7.tmp" with contents

[

/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/Program1.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c

"E:\olika mappar\C++\Program1.cpp"

]

Creating command line "cl.exe @C:\DOCUME~1\Thomas\LOKALA~1\Temp\RSP1C7.tmp"

Creating temporary file "C:\DOCUME~1\Thomas\LOKALA~1\Temp\RSP1C8.tmp" with contents

[

kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/Program1.pdb" /debug /machine:I386 /out:"Debug/Program1.exe" /pdbtype:sept

".\Debug\Program1.obj"

]

Creating command line "link.exe @C:\DOCUME~1\Thomas\LOKALA~1\Temp\RSP1C8.tmp"

Output Window

Compiling...

Program1.cpp

E:\olika mappar\C++\Program1.cpp(10) : error C2065: 'cin' : undeclared identifier

E:\olika mappar\C++\Program1.cpp(10) : error C2228: left of '.get' must have class/struct/union type

E:\olika mappar\C++\Program1.cpp(11) : error C2228: left of '.get' must have class/struct/union type

Error executing cl.exe.

 

 

 

Results

Program1.exe - 3 error(s), 0 warning(s)

Nivå 9 · Veteranfuskare
#4

#include <iostream>

int main()
{
    int ett_tal = 12;

    cout << ett_tal;

    cin.get();

    return 0;
}

 

pröva den, jag lade till ett mellanslag när du la till bibloteket och valde vad variablen skulle ha för värde i ett kommando och lade till cin.get(); (cin.get(); måste vara med! om du andvänder cin kommandot måste du ha två stycken)

 

OBS! Vilken kompilator andvänder du?

Senast ändrad:

Nivå 6 · Fuskare
Trådstartare #5

Det funkar ändå inte.

Jag använder Microsoft visual C++ 6.0.

 

Output Window

Compiling...

Program1.cpp

E:\olika mappar\C++\Program1.cpp(7) : error C2065: 'cout' : undeclared identifier

E:\olika mappar\C++\Program1.cpp(7) : warning C4552: '<<' : operator has no effect; expected operator with side-effect

E:\olika mappar\C++\Program1.cpp(9) : error C2065: 'cin' : undeclared identifier

E:\olika mappar\C++\Program1.cpp(9) : error C2228: left of '.get' must have class/struct/union type

Error executing cl.exe.

6 Jun 2007
Nivå 6 · Fuskare
#6

Det är för att du inte talar om vilken function det är du ska ha. Antar att du vill ha standard-funktionen. Då kan du antingen skriva det här direkt efter "#include...":

 

using namespace std;

 

Eller skriva det här framför alla "cin" och "cout":

 

std::

Nivå 6 · Fuskare
Trådstartare #7

tack så mycket eepaj! :D

Det funkade.

 

Men nu har jag ett till problem:

 

Varför står det: error C2447: missing function header (old-style formal list )

 

När jag använder denna koden:

 

#include <iostream>

using namespace std;

using std:: cout;

using std:: cin;

 

int main();

{

int ett_tal;

int ett_tal2;

int a_ir_b;

 

cout <<"vill du addera eller subtrahera (Skriv M för addera och S för subtahera)";

cin >>a_ir_b;

if (a_ir_b==s);

cout <<"Jasså, så du vill räkna minus.";

return 0;

}

7 Jun 2007
Nivå 5 · Fuskare
#8
↗ till inlägget

Vad är det som är fel i den här koden?

programmet stängs ned direkt jag startar det.

 

#include<iostream> using std::cout; int main() {  int ett_tal;  ett_tal = 12;  cout << ett_tal;  return 0;}

 

lägg till en SYSTEM("PAUSE"); i slutet av koden så ska det stanna till.
Nivå 6 · Fuskare
Trådstartare #9

Jag har ju redan fårr hjälp med den. Men nu behöver jag hjälp med den andra.

Nivå 8 · Veteranfuskare
#10

Därför att du har sagt åt programet att a_ir_b består av en siffra, inte en bokstav eller string. Såhär kan du göra istället:

 

#include <iostream>
#include <string>

using namespace std;

int main()
{
int ett_tal;
int ett_tal2;
string a_ir_b;

cout << "Vill du addera eller subtrahera (Skriv M för addera och S för subtahera) \n";
cin >>a_ir_b;

if (a_ir_b == "S")
{
  cout << "Jasså, så du vill räkna minus.";
}

cin.get();
cin.get();
return 0;
}

 

Det var lite småfel här och där som jag fixade...

Nivå 6 · Fuskare
Trådstartare #11

tack så hemskt mycket! :D

 

Men då jag skriver detta:

 

cin >> ett_tal;

cout << "-";

cin >> ett_tal2;

cout << ett_tal - ett_tal2;

 

Så kommer minus tecknet en rad under talet. Hur ska man göra så att minustecknet hamnar på samma rad?

Nivå 8 · Veteranfuskare
#12

Här satt jag och hoppades att du skulle skriva motsatsen, men nähä då, här skall det krånglas till! :lol:

 

Vad jag vet går det inte i dos att ha en string efter en intryckning från ett tangentbord. Men det går att fixa på andra sett! Detta är ett lite långsökt exempel:

 

cin >> ett_tal;
system("cls");
cout << ett_tal << " - ";
cin >> ett_tal2;
cout << "\n" << ett_tal - ett_tal2;

Nu ska det funka! Aja, prova om det fungerar iaf....

 

Jag ska för tusan börja med C++ igen!

Senast ändrad:

16 Jun 2007
Nivå 7 · Fuskare
#13

Ska du hålla på med c++ måste du kunna hålla reda på alla mellanslag och feltryckningar som ofta förekommer, ha inte så bråttom när du skriver något.

Vill du vara med i diskussionen?

Bli medlem Logga in