Geek_Master Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 (endret) 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 21. januar 2009 av Geek_Master Lenke til kommentar
Raring Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 Den finner ikke filen Integer.h. Hvor har du lagret denne? Lenke til kommentar
Geek_Master Skrevet 21. januar 2009 Forfatter Del Skrevet 21. januar 2009 (endret) Jeg lagret den i den mappen så vises i builden har skjekka flere ganger. Endret 21. januar 2009 av Geek_Master Lenke til kommentar
Raring Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 (endret) Hva om du kommenter ut den første linja (med include). Du trenger den jo strengt tatt ikke. Edit: <iostream> trenger du derimot Endret 21. januar 2009 av Raring Lenke til kommentar
Geek_Master Skrevet 21. januar 2009 Forfatter Del Skrevet 21. januar 2009 Hva om du kommenter ut den første linja (med include). Du trenger den jo strengt tatt ikke. Edit: <iostream> trenger du derimot Fikk ikke helt med meg det. Mener du at jeg skal fjerne kommentaren og la <iostream> stå igjen? Lenke til kommentar
Raring Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 bytt ut #include <Integer.h> med #include <iostream> Lenke til kommentar
Geek_Master Skrevet 21. januar 2009 Forfatter Del Skrevet 21. januar 2009 Det funker med #include <iostream>, men jeg vil kunne bruke header filer. Takk for svar btw. Lenke til kommentar
Raring Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 Hm, hvilket program koder du i? Lenke til kommentar
Geek_Master Skrevet 21. januar 2009 Forfatter Del Skrevet 21. januar 2009 (endret) Hm, hvilket program koder du i? Visual c++ 2008 express edition bruker jeg. Edit: Skrivefeil Endret 21. januar 2009 av Geek_Master Lenke til kommentar
Raring Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 Er ikke helt kjent med det programmet, men lek deg litt rundt med å lage et prosjekt for så å legge til filer. Da blir de gjerne linket automatisk. Lenke til kommentar
Geek_Master Skrevet 21. januar 2009 Forfatter Del Skrevet 21. januar 2009 (endret) 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 21. januar 2009 av Geek_Master Lenke til kommentar
Raring Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 Her står det ganske godt forklart: http://en.wikipedia.org/wiki/C_preprocessor Lenke til kommentar
Geek_Master Skrevet 21. januar 2009 Forfatter Del Skrevet 21. januar 2009 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. Lenke til kommentar
Giddion Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 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
Geek_Master Skrevet 22. januar 2009 Forfatter Del Skrevet 22. januar 2009 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
Kagee Skrevet 23. januar 2009 Del Skrevet 23. januar 2009 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
Geek_Master Skrevet 23. januar 2009 Forfatter Del Skrevet 23. januar 2009 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå