Gå til innhold

Summen dukker ikke opp?


Anbefalte innlegg

Jeg laget dette som en liten udvidelse av et eksempel, men hver gang jeg skriver inn de fem tallene i programmet så lukker det seg uten å gi meg summen. Her er koden:

#include <iostream> // allows to perform input and output

 

#include <Integer.h>

// Function main begins program execution
int main()
{	// Opening brace for function main
int number1; // first integer to add
int number2; // second integer to add
int number3; // third integer to add
int number4; // fourth integer to add which multiplies
int number5; // fifth integer to add which divides
int sum; // the value of the numbers after addision, substraction, multiplieing and dividing

std::cout << "Enter the first integer: "; // Ask user for the first integer
std::cin >> number1; // reads the first integer from user in to number1

std::cout << "Enter the second integer: "; // number2
std::cin >> number2; // number2

std::cout << "Enter the third integer: ";
std::cin >> number3;

std::cout << "Enter the fourth integer: ";
std::cin >> number4;

std::cout << "Enter your fifth integer: ";
std::cin >> number5;

sum = number1 + number2 + number3 * number4 / number5; // adds up the numbers; stores the sum

std::cout << "Sum is " << sum << std::endl; // display sum endline

system ("pause"); // Freezes the program, preventing it from shutting down
return 0; //Indicate that the program ended successfully
} //Closing brace ending function main

Og så står i build

1>c:\users\supersindre\documents\visual studio 2008\projects\integer program\integer program\integer.cpp(3) : fatal error C1083: Cannot open include file: 'Integer.h': No such file or directory

 

Takker for svar på forhånd.

 

PS: Hvis noen skal mase om at emnetittelen er lite beskrivende kom med forslag, er tom for ideer.

Endret av Geek_Master
Lenke til kommentar
Videoannonse
Annonse

Jeg fant ut av det.

 

#include <filnavn> står det at: the preprocessor searches for a specified file in an implementation-dependent manner, normally through predesignated directories.

#include "filnavn" står det at: the preprocessor searches first in the same directory as the file is beeing compiled, then in the same implementation-dependent manner as for the files with enclosed brackets.

 

EDIT: orker ikke oversette

 

EDIT: Kan noen forklare meg nøyaktig hva en c++ preprocessor, forstår det ikke helt?

Endret av Geek_Master
Lenke til kommentar
Her står det ganske godt forklart:

http://en.wikipedia.org/wiki/C_preprocessor

 

Håpet på en forklaring på norsk, fant ikke noe på google.

 

PreProssesore er en prosess for skjer før kompileringen, det blir blandt annet "variabler" fra #define plasert ut... man kan si at alle (det er alle ikke sant?) "funksjoner" som starter med # er ment for preprossesoren.

 

f. eks.

#include "fil" klasker innholdet til "fil" på linjen #include står.

 

så kompileres det.

 

Du som bruker vc kjenner sikkert #pragma (kompilatore setting) once som gjør headeren ikke blir includert flere ganger.

 

Her er noe jeg har skrevet på CodeWiki Preprosessor(C/C++)

 

Hvilken include du bruker er spiller her ingen rolle.

 

Ligger headeren i samme windows mappe som source filen?

Hvis den ikke gjør det så må du legge til mappen ved å gå inn på prosjekt instillinger -> c/c++ -> General -> Additional Include Directories

 

Lykke til

Lenke til kommentar
Her står det ganske godt forklart:

http://en.wikipedia.org/wiki/C_preprocessor

 

Håpet på en forklaring på norsk, fant ikke noe på google.

 

PreProssesore er en prosess for skjer før kompileringen, det blir blandt annet "variabler" fra #define plasert ut... man kan si at alle (det er alle ikke sant?) "funksjoner" som starter med # er ment for preprossesoren.

 

f. eks.

#include "fil" klasker innholdet til "fil" på linjen #include står.

 

så kompileres det.

 

Du som bruker vc kjenner sikkert #pragma (kompilatore setting) once som gjør headeren ikke blir includert flere ganger.

 

Her er noe jeg har skrevet på CodeWiki Preprosessor(C/C++)

 

Hvilken include du bruker er spiller her ingen rolle.

 

Ligger headeren i samme windows mappe som source filen?

Hvis den ikke gjør det så må du legge til mappen ved å gå inn på prosjekt instillinger -> c/c++ -> General -> Additional Include Directories

 

Lykke til

 

Preprocessor er en prosess utført før kompileringen altså.

Men når jeg bruker "" så lukker den seg ikke mens når jeg bruker <> så lukker programmet seg uten å gi svaret.

Og nei jeg har ikke hørt om #pragma, hva er det forresten?

 

Takk for svaret Giddion.

Lenke til kommentar

Jeg går ut ifra at du mener at

#include <iostream> // allows to perform input and output

står inne i file Integer.h

 

Når du bruker #include <FilnavN> så leter preprosessoren kun i noen bestemte include-mapper etter filen FilnavN, og den titter ikke i samme mappe som cpp-filen.

 

Når du bruker #include "FilnavN" så leter preprosessoren først i mappen cpp-filen er i, så leter den i de samme mappene som den ville sett i om du hadde brukt <FilnavN>.

 

#include bare setter inn teksten i fila den blir bedt om å lete etter. Så når du bruker #include "Integer.h", så setter den inn teksten #include <iostream> på linja der det sto #include "Integer.h". Deretter bytter den ut linja #include <iostream> med innholdet i iostream, som ligger i preprosessorens include-mapper.

 

Om jeg ikke inkluderer iostream (enten ved include <iostream> eller include "Integer.h" med include <iostream> i) så nekter programmet mitt å kompileres. Det er ikke en gammel versjon av programmet der du ikke hadde med utksrift av sum som kommer når kompilatoeren ikke finner iostream?

 

Du deler foresten på number5 i stedet for å legge det til.

Lenke til kommentar
Jeg går ut ifra at du mener at

#include <iostream> // allows to perform input and output

står inne i file Integer.h

 

Når du bruker #include <FilnavN> så leter preprosessoren kun i noen bestemte include-mapper etter filen FilnavN, og den titter ikke i samme mappe som cpp-filen.

 

Når du bruker #include "FilnavN" så leter preprosessoren først i mappen cpp-filen er i, så leter den i de samme mappene som den ville sett i om du hadde brukt <FilnavN>.

 

#include bare setter inn teksten i fila den blir bedt om å lete etter. Så når du bruker #include "Integer.h", så setter den inn teksten #include <iostream> på linja der det sto #include "Integer.h". Deretter bytter den ut linja #include <iostream> med innholdet i iostream, som ligger i preprosessorens include-mapper.

 

Om jeg ikke inkluderer iostream (enten ved include <iostream> eller include "Integer.h" med include <iostream> i) så nekter programmet mitt å kompileres. Det er ikke en gammel versjon av programmet der du ikke hadde med utksrift av sum som kommer når kompilatoeren ikke finner iostream?

 

Du deler foresten på number5 i stedet for å legge det til.

 

Jeg vet det, det var egentlig poenget å prøvenoe som ikke var brukt i noen eksempler.

Takk for alle svarene.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...