Arne Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 Dev-C++. Just fucking google it! Forresten, det virka ikkje, hishadow. Akkurat det same som skjer. Lenke til kommentar
hishadow Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 (endret) Forresten, det virka ikkje, hishadow. Akkurat det same som skjer. 8535356[/snapback] Sjekk =! Endret 5. mai 2007 av hishadow Lenke til kommentar
Arne Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 Der, ja! Det er alltid slike irriterande småting som er feil... Lenke til kommentar
ahdrage Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 Holder på med boken Deitel Deitel, C++ How to program. Holder på en oppgave der eg skal skrive inn to nummer. Resultatet skal vise forskjellen mellm de to tallene. Løser den slik " difference = integer1 - integer2 " Men når integer1 < integer2 ender egg opp med - forteikn. Prøvde å løyse det med ei IF setning, men fekk det ikkje til. Er det kanskje en annen måte å skrive det på slik at programmet ikkje viser fortegn? Lenke til kommentar
Giddion Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 Holder på med boken Deitel Deitel, C++ How to program.Holder på en oppgave der eg skal skrive inn to nummer. Resultatet skal vise forskjellen mellm de to tallene. Løser den slik " difference = integer1 - integer2 " Men når integer1 < integer2 ender egg opp med - forteikn. Prøvde å løyse det med ei IF setning, men fekk det ikkje til. Er det kanskje en annen måte å skrive det på slik at programmet ikkje viser fortegn? 8541502[/snapback] noe ala dette? int main() { int Tall1 = 45; int Tall2 = 15; int Delta; if(Tall1 < Tall2) Delta = Tall2 - Tall1; else Delta = Tall1 - Tall2; return 0; } Lenke til kommentar
ahdrage Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 Takk for hjelpen. Men er det ikke noen enklere måte? Har ikke komt til "else" i boken enda. Lenke til kommentar
hallgeirl Skrevet 5. mai 2007 Del Skrevet 5. mai 2007 Jepp, det er det. Det finnes en funksjon kalt abs() som returnerer absoluttverdien til et tall. Eksempelkode: #include <iostream> using namespace std; int main(int argc, char* argv[]) { int x1, x2; cout << "Skriv inn tall nummer 1: "; cin >> x1; cout << "Skriv inn tall nummer 2: "; cin >> x2; cout << "Forskjellen mellom tallene er " << abs(x1-x2) << "." << endl; return 0; } Lenke til kommentar
ahdrage Skrevet 6. mai 2007 Del Skrevet 6. mai 2007 Ny oppgave. Skal få brukeren til å skrive inn 5 tall. Programmet skal printe dei 5 tallene med mellomrom mellom kvart tall. Skal bruke "integer division and modulus operators". Noen som har et lite hint? Lenke til kommentar
hishadow Skrevet 6. mai 2007 Del Skrevet 6. mai 2007 Ny oppgave. Skal få brukeren til å skrive inn 5 tall. Programmet skal printe dei 5 tallene med mellomrom mellom kvart tall. Skal bruke "integer division and modulus operators".Noen som har et lite hint? 8552965[/snapback] Er dette det som kalles outsourcing? :!: Lenke til kommentar
ahdrage Skrevet 7. mai 2007 Del Skrevet 7. mai 2007 Skjønte ikke helt hvorfor jeg skulle bruke modulus. Men jeg skrev den slik cout << "Enter five numbers: "; cin >> integer1 >> integer2 >> integer3 >> integer4 >> integer5; if ( integer1 % 2 == 0 ) cout << integer1; else cout << integer1; if ( integer2 % 2 == 0 ) cout << " " << integer2; else cout << " " << integer2; if ( integer3 % 2 == 0 ) cout << " " << integer3; else cout << " " << integer3; if ( integer4 % 2 == 0 ) cout << " " << integer4; else cout << " " << integer4; if ( integer5 % 2 == 0 ) cout << " " << integer5; else cout << " " << integer5 << endl; Lenke til kommentar
ahdrage Skrevet 14. mai 2007 Del Skrevet 14. mai 2007 Problem med sentinel-controlled repetition: Skal skrive et program som lar brukeren sjå hvor mye bensin han bruker per miles i gallons. Problemet er at sentinel verdien ikkje avslutter kalkuleringa slik den skal. Slik skreiv eg programmet: // a program that calculates how many gallons you use per mile// by Alf-Henning Drage #include <iostream> using std::cout; using std::cin; using std::endl; using std::fixed; #include <iomanip> // parameterized stream manipulators using std::setprecision; // sets numeric output precision int main() // function main and program execution { int total = 0; // sum of gallon int gallonCounter = 0; // number of times the user entered miles/gallon double gallon; // the gallon value double miles; // how many miles the user enters double milesgallon; // calculate miles per gallon double average; // average use of gallon of all values entered // processing phase cout << "Enter gallons used (-1 to end): "; // prompt user to enter gallons used cin >> gallon; // stores gallon in memory cout << "Enter miles driven: "; // prompt the user to enter driven miles cin >> miles; // stores miles in memory milesgallon = static_cast< double >( miles ) / gallon ; cout << "The miles/gallon for this tank was: " << setprecision(6) << fixed << milesgallon << endl; while ( gallon != -1 ) { total = total + gallon; // add gallon to total gallonCounter = gallonCounter + 1; // increment counter cout << "Enter gallons used (-1 to end): "; // prompt user to enter gallons used cin >> gallon; // stores gallon in memory cout << "Enter miles driven: "; // prompt the user to enter driven miles cin >> miles; // stores miles in memory milesgallon = static_cast< double >( miles ) / gallon ; cout << "The miles/gallon for this tank was: " << setprecision(6) << fixed << milesgallon << endl; } // termination phase // if user enered at least 1 mile or gallon if ( gallonCounter != 0 ) { //calculate average of miles per gallon used average = static_cast< double >( total ) / gallonCounter; // display average with 6 digits of precision cout << "The overall miles/gallon was: " << setprecision( 6 ) << fixed << average << endl; } // end if part of if/else else // if no grades were entered, output appropriate message cout << "No grades were entered" << endl; system("pause"); // stops program from shut down when started return 0; // indicate sucessful termination } // end function main Lenke til kommentar
Giddion Skrevet 14. mai 2007 Del Skrevet 14. mai 2007 Problem med sentinel-controlled repetition:Skal skrive et program som lar brukeren sjå hvor mye bensin han bruker per miles i gallons. Problemet er at sentinel verdien ikkje avslutter kalkuleringa slik den skal. Slik skreiv eg programmet: Klikk for å se/fjerne innholdet nedenfor // a program that calculates how many gallons you use per mile// by Alf-Henning Drage #include <iostream> using std::cout; using std::cin; using std::endl; using std::fixed; #include <iomanip> // parameterized stream manipulators using std::setprecision; // sets numeric output precision int main() // function main and program execution { int total = 0; // sum of gallon int gallonCounter = 0; // number of times the user entered miles/gallon double gallon; // the gallon value double miles; // how many miles the user enters double milesgallon; // calculate miles per gallon double average; // average use of gallon of all values entered // processing phase cout << "Enter gallons used (-1 to end): "; // prompt user to enter gallons used cin >> gallon; // stores gallon in memory cout << "Enter miles driven: "; // prompt the user to enter driven miles cin >> miles; // stores miles in memory milesgallon = static_cast< double >( miles ) / gallon ; cout << "The miles/gallon for this tank was: " << setprecision(6) << fixed << milesgallon << endl; while ( gallon != -1 ) { total = total + gallon; // add gallon to total gallonCounter = gallonCounter + 1; // increment counter cout << "Enter gallons used (-1 to end): "; // prompt user to enter gallons used cin >> gallon; // stores gallon in memory cout << "Enter miles driven: "; // prompt the user to enter driven miles cin >> miles; // stores miles in memory milesgallon = static_cast< double >( miles ) / gallon ; cout << "The miles/gallon for this tank was: " << setprecision(6) << fixed << milesgallon << endl; } // termination phase // if user enered at least 1 mile or gallon if ( gallonCounter != 0 ) { //calculate average of miles per gallon used average = static_cast< double >( total ) / gallonCounter; // display average with 6 digits of precision cout << "The overall miles/gallon was: " << setprecision( 6 ) << fixed << average << endl; } // end if part of if/else else // if no grades were entered, output appropriate message cout << "No grades were entered" << endl; system("pause"); // stops program from shut down when started return 0; // indicate sucessful termination } // end function main 8608270[/snapback] Alt ser ut til å fungere, men jeg vet ikke hvordan det skal fungere Men hvorfor bruker du static_cast på .. vel noe. Jeg finner ingen grunn til å gjøre det. Lenke til kommentar
ahdrage Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 Fant etterhvert ut problemet. Tror jeg må lære meg litt tålmodighet til debugging. Problemet var cout << "Enter gallons used (-1 to end): "; // prompt user to enter gallons used cin >> gallon; // stores gallon in memory cout << "Enter miles driven: "; // prompt the user to enter driven miles cin >> miles; // stores miles in memory Når jeg trykte -1 for å avslutte spurte den først "miles driven" før den avslutta Løysninga var å ta "miles driven" inn i while setninga. Static cast må vel vere der for å bruke desimal tall? Eller har jeg misforstått? Programmet vart slik etter korreksjon: #include <iostream> using std::cout; using std::cin; using std::endl; using std::fixed; #include <iomanip> using std::setprecision; int main() { int gallonCounter = 0; double average; double totalGallons; double gallons; double miles; double milesgallon; double totalmilesgallons; cout << "Enter the gallons used (-1 to end): "; cin >> gallons; while ( gallons != -1 ) { totalGallons = totalGallons + gallons; gallonCounter = gallonCounter + 1; cout << "How many miles driven on the current tank? "; cin >> miles; milesgallon = static_cast< double >( miles ) / gallons; cout << "The miles/gallon for this tank was " << setprecision(6) << fixed << milesgallon << endl; totalmilesgallons = totalmilesgallons + milesgallon; cout << "Enter the gallons used (-1 to end): "; cin >> gallons; } // end function while if ( gallons == -1 ) { average = static_cast< double >( totalmilesgallons ) / gallonCounter; cout << "The overall average miles/gallon was " << setprecision(6) << fixed << average << endl; } system("pause"); return 0; } // end function main Lenke til kommentar
ahdrage Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 (endret) Hmm. Nytt problem nå. Programmet virker fint første gang jeg køyrer det. Andre gangen stopper programmet når den skal regne ut average. Må starte maskinen på nytt for at programmet skal funke igjen. edit: etter å forandret "totalmilesgallons" til "totalMilesGallons" og "milesgallon til "milesGallon" funker programmet fint. Skulle denne forandringen ha noe å si på hvordan programmet funker? Endret 15. mai 2007 av ahdrage Lenke til kommentar
Obi von Knobi Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 (endret) Jeg bruker Visual c++ 2005 Express Edition, men hvor er "compile" knappen? Jeg vil lære meg c++ språket for å programmere spill, er Accelerated C++ en god bok for en total nybegynner som så vidt har hørt om programmering? Endret 15. mai 2007 av Ashol Lenke til kommentar
Giddion Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 Static cast må vel vere der for å bruke desimal tall? Eller har jeg misforstått? 8616275[/snapback] Du har nok det ja. In general you use static_cast when you want to convert numeric data types such as enums to ints or ints to floats, and you are certain of the data types involved in the conversion. static_cast conversions are not as safe as dynamic_cast conversions, because static_cast does no run-time type check, while dynamic_cast does. Hmm. Nytt problem nå. Programmet virker fint første gang jeg køyrer det. Andre gangen stopper programmet når den skal regne ut average. Må starte maskinen på nytt for at programmet skal funke igjen. edit: etter å forandret "totalmilesgallons" til "totalMilesGallons" og "milesgallon til "milesGallon" funker programmet fint. Skulle denne forandringen ha noe å si på hvordan programmet funker? 8616388[/snapback] Jeg syntes det er veldig rart at du overhode må restarte maskinen jeg programmet ditt involverer ikke noe som kan lage slike problemer etter det jeg har sett. Navnendring av variablene burde ikke ha noe å si. Lenke til kommentar
Giddion Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 Jeg bruker Visual c++ 2005 Express Edition, men hvor er "compile" knappen? 8617757[/snapback] Du kan trykke F7 eller du kan gå på menyen build, der vil du finne det meste av det du trenger, VS kaller ofte kompilering+linking for build så det er build du er på jakt etter kan jeg tenke meg. Jeg vil lære meg c++ språket for å programmere spill, er Accelerated C++ en god bok for en total nybegynner som så vidt har hørt om programmering? 8617757[/snapback] Det er helt greit og ha som mål og lære seg å lage spill, men du må "desverre" gjennom mye annet før du kan starte å programmere spill og til det syntes jeg og flere andre at Accelerated C++ er en god bok. Når du føler deg god nok kan du skifte fokus over på spill, men hvis du skiftere for fort vil du veldig fort støte på problemer. Lykke til Lenke til kommentar
Obi von Knobi Skrevet 15. mai 2007 Del Skrevet 15. mai 2007 Når jeg trykker F7 så skjer dette: ------ Build started: Project: jsd, Configuration: Debug Win32 ------ Compiling... [.....] jsd - 0 error(s), o warning(s) ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== Men det kommer ikke opp en svart boks Lenke til kommentar
itsmebth Skrevet 16. mai 2007 Del Skrevet 16. mai 2007 Trykk F5 for å kompilere og kjøre programmet. Lenke til kommentar
ahdrage Skrevet 16. mai 2007 Del Skrevet 16. mai 2007 (endret) Driver med et program som skal bestemmer om en person er over kreditt grensa si. Her er koda // this program determines whether a person has exceeded their credit limit or not // by #include <iostream> using std::cout; using std::cin; using std::endl; using std::fixed; #include <iomanip> using std::setprecision; int main() { int accountNumber; double beginningBalance; double totalCharges; double totalCredits; double creditLimit; double newBalance; cout << "Enter account number (-1 to end): "; cin >> accountNumber; while ( accountNumber != -1 ){ cout << "Enter beginning balance: "; cin >> beginningBalance; cout << "Enter total charges: "; cin >> totalCharges; cout << "Enter total credits: "; cin >> totalCredits; cout << "Enter credit limit: "; cin >> creditLimit; newBalance = beginningBalance + totalCredits; if ( newBalance > creditLimit ) { cout << "Account: " << accountNumber << endl; cout << "Credit limit: " << creditLimit << endl; cout << "Balance: " << newBalance << endl; cout << "Credit limit exceeded" << endl; cout << "\nEnter account number (-1 to end) : "; cin >> accountNumber; } else cout << "\nEnter account number (-1 to end) : "; cin >> accountNumber; } system("pause"); return 0; } Problemet mitt er: if ( newBalance > creditLimit ) { cout << "Account: " << accountNumber << endl; cout << "Credit limit: " << creditLimit << endl; cout << "Balance: " << newBalance << endl; cout << "Credit limit exceeded" << endl; cout << "\nEnter account number (-1 to end) : "; cin >> accountNumber; } else cout << "\nEnter account number (-1 to end) : "; cin >> accountNumber; Programmet starter slik det skal igjen når personen ikke går over kredittgrensa. Men når personen går over kredittgrensa får eg berre "Enter account number" også stopper programmet. Kan tenke meg at problemet er at programmet ikkje går tilbake til while loopen etter at kreditten er overstiget. Men veit ikkje korsen eg skal få programmet tilbake til while loopen. Kan tenke meg noke sånt som "goto", men det skal vel ikkje være nødvendig å bruke? edit: la til blokk rundt else og da funka programmet. Endret 16. mai 2007 av ahdrage 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å