Avatar billede rhandersen Nybegynder
16. maj 2005 - 19:05 Der er 31 kommentarer og
2 løsninger

Hjælp til program

Hej Alle

Jeg er ved at lære C++ og har læst et par bøger og de mest kendte tutorials på nettet.

Men syntes ikke rigtigt at jeg lærer noget ved det, så jeg vil prøve at lave et lille nyttigt program.

Jeg kan selvfølgelig lave det mest normale hos nybegyndere som at udskrive og variabler osv. Men så kan jeg heller ikke mere.

Grunden til at jeg vil kaste mig ud i noget "stort" er at, sådan lærte jeg PHP, jeg kunne ikke ret meget og så kastede jeg mig bare ud. Efter et par uger kunne jeg PHP nogenlunde.

Det vil jeg prøve igen og se om det giver success.

Så jeg vil høre om der er en der vil give mig nogle fif til hvordan jeg kan lave et program der kan bruges til noget nyttigt, og evt. et forslag til hvad det skal være.
Og så måske hjælpe mig videre over msn?

Min MSN er rasmus@lorf.dk

Mvh Rhandersen
Avatar billede arne_v Ekspert
16. maj 2005 - 19:10 #1
først skal du gøre dig klart at det tager betydeligt længere tid at lære C++ end PHP

men princippet er godt nok også for C++

et par ideer:

* program til at konvertere filer mellem ISO-8859-1 og UTF-8

* program til at detecte nye filer på harddisken

* program til at løse N lingninger med B ubekendte
Avatar billede rhandersen Nybegynder
16. maj 2005 - 19:13 #2
Okay, så mangler jeg lidt hjælp til at komme igang?

Du kunne jo fx hjælpe mig lidt med den der:
* program til at konvertere filer mellem ISO-8859-1 og UTF-8
Avatar billede rhandersen Nybegynder
16. maj 2005 - 19:28 #3
Nu ved jeg jo at du ikke bruger msn, men kender du evt. nogle der gørder kunne tænke sig at hjælpe mig, eller er der andre herinde?
Avatar billede arne_v Ekspert
16. maj 2005 - 19:32 #4
åbne, læse, skrive filer må være i nogle af de tutorials du har set

UTF-8 encodingen kan man også finde en beskrivelse af på nettet
Avatar billede arne_v Ekspert
16. maj 2005 - 19:33 #5
jeg kender pudsigt nok ikke nogen med MSN
Avatar billede thomas_nj Nybegynder
16. maj 2005 - 19:39 #6
Hvis du går i skole og har matematik kan du også lave nogle programmer til at gøre livet nemmere for dig selv. Nu ved jeg ikke på hvilket niveau du har matematik men nogle ideer kunne være:
  * Et program der løser andengradsligninger (ligner en af arne_v's bare nemmere)
  * Et program der ud fra 3 oplysninger beregner de sidste ting i en trekant
  * Et program til beregninger med komplekse tal

  Men hvis du synes det er sjovt at programmere kan programmets brugelighed vel i bund og grund være underordnet. Selv har jeg lavet følgende mindre brugelige ting

  * Et program, der så hurtigt som muligt udskriver N antal primtal
  * Et program hvor brugeren indtaster en teksttreng der så derefter vises baglæns
  * Et program der fylder et array med X antal tilfældige tal og derefter sorterer dem
  * Det klassiske gæt et tal spil (udvidet så man har options, highscore der gemmes i filer mm)
  * Snake spil (arbejder pt på at få tilføjes farver, forskellige levels og så lave at par småændringer i kodens design)
 
  Nu er jeg lidt smånærrig så har klaret mig med gratis ting fra nettet. Selv har jeg været meget glad for:

http://cplus.about.com/od/beginnerctutorial/l/blcplustut.htm <- Et godt sted at begynde. Du lærer alle de basale ting, men ikke meget om det overordnede billede. Altså du får ikke så meget at vide om forskellige teknikker man kan anvende for at få det bedste ud af dem.

  http://www.ibiblio.org/obp/thinkCS/cpp/english/ <- Her lærer du så mere om generelle programmeringsteknikker. C++ bruges som eksempelsprog. (Inden i dømmer den så viser forfatteren selv senere at void main() er forkert)

  http://maththinking.com/boat/languageBooksIndex.html <- Thinking C++ tager dig hurtigt igennem de basale emner og hopper derefter ud i de mere advancerede emner. Læser den pt og synes den er meget god.

  Det skal dog lige tilføjes at C++ var mit første sprog så du har nok en fordel i og med at du har PHP med som en ballast.
Avatar billede rhandersen Nybegynder
16. maj 2005 - 19:40 #7
nope.

Alt det der med filhåndtering kan jeg slet ikke:S
Avatar billede arne_v Ekspert
16. maj 2005 - 19:44 #8
så er det da ihvertfald noget du skal have kigget på !
Avatar billede arne_v Ekspert
16. maj 2005 - 19:48 #9
http://maz.spork.dk/oopbog.html er faktisk en fremragende bog

udover selve sproget så ligger den meget vægt på at forstå de objektorienterede principper

og så er den endda på dansk hvilket lyder helt utroligt

bogen er desværre lidt gammel og mangler diverse ANSI C++ ting (hvorfor fanden
vil de danske forlag hellere udgive diverse oversættelser af amerikanske
bøger fremfor en dansk bog ????) så du skal lige abstrahere fra de
småting, men objektorienterede principper har ikke ændret sig siden da

og den kan som sagt downloades gratis
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:03 #10
mange tak Arne

Smid svar, så kan jeg altid hive i dig en anden gang igen;)
Avatar billede arne_v Ekspert
16. maj 2005 - 20:09 #11
ok

hvad med Thomas ?
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:15 #12
Også Thomas ;)

Men jeg tror seriøst selv at jeg ville have nemmere ved at lære det ved at have en ved min side(MSN) jeg nemt og hurtigt kunne spørge om det og det.

Og så en nem, men alligevel udfordrene ting jeg kunne lave.
Avatar billede thomas_nj Nybegynder
16. maj 2005 - 20:26 #13
Grundet jeg er utålmodig mht fremgang i den slags, har jeg forsøgt på at holde mig til projektet, hvor jeg har den nødvendige erfaring. Selvfølgelig dukker der engang imellem problemer op, men så er folk herinde altid flinke til at hjælpe.

Held og lykke med projektet, hvad det så end bliver
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:47 #14
Lige en sidste ting, hvorofr virker dette ikke?`:
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    cout << "Radius: ";
    int radius;
    cin >> radius;
    omkreds = radius * 2 * 3,1428571428571428571428571428571;
    areal = radius * radius * 3,1428571428571428571428571428571;
    cout << "n\n\";
    cout << "Omkreds: " << omkreds;
    cout << "\nAreal: " << areal;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Det er mit stadie lige nu;)
Avatar billede arne_v Ekspert
16. maj 2005 - 20:51 #15
prøv:

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    cout << "Radius: ";
    double radius;
    cin >> radius;
    double omkreds = radius * 2 * 3.1428571428571428571428571428571;
    double areal = radius * radius * 3.1428571428571428571428571428571;
    cout << endl;
    cout << "Omkreds: " << omkreds << endl;
    cout << "Areal: " << areal << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:52 #16
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    cout << "Radius: ";
    int radius;
    cin >> radius;
    int omkreds = radius * 2 * 3,1428571428571428571428571428571;
    int areal = radius * radius * 3,1428571428571428571428571428571;
    cout << "n\n\Omkreds: " << omkreds;
    cout << "\nAreal: " << areal;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Avatar billede arne_v Ekspert
16. maj 2005 - 20:52 #17
decimal tal er med punktum ikke med komma
alle variable skal have en type erklæret

og så foretrækker jeg endl fremfor \n men det er kun smag og behag
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:52 #18
Hvad er forkert, kig på den sidste?
Avatar billede arne_v Ekspert
16. maj 2005 - 20:52 #19
og så gik jeg ud fra at alle variable skulle være double ikke int
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:53 #20
ahh:)

Se der lærte jeg noget.
Avatar billede rhandersen Nybegynder
16. maj 2005 - 20:57 #21
Hvordan gør jeg så så den ikke afrunder dem?
Avatar billede arne_v Ekspert
16. maj 2005 - 21:04 #22
er du skiftet fra int til double ?
Avatar billede rhandersen Nybegynder
16. maj 2005 - 21:05 #23
ups:P
Avatar billede rhandersen Nybegynder
16. maj 2005 - 21:07 #24
Ehm, hvis jeg gør det kommer der e'er og +'er med i resultatet?
Avatar billede rhandersen Nybegynder
16. maj 2005 - 21:08 #25
Du kan godt se, at det er derfor jeg gerne vil have en ved min side til at hurtigt svare på sådanne spørgsmål.
Avatar billede arne_v Ekspert
16. maj 2005 - 21:09 #26
1.2e+8 betyder 1.2*10^8 altså 120000000
Avatar billede rhandersen Nybegynder
16. maj 2005 - 21:11 #27
kan man ikke lave så den skriver hele tallet?
Avatar billede arne_v Ekspert
16. maj 2005 - 21:13 #28
Prøv med:

cout.width(14);
cout.precision(2);

inden du udskriver.
Avatar billede rhandersen Nybegynder
16. maj 2005 - 21:17 #29
int eller double?

det giver samme resultat med double.
Avatar billede rhandersen Nybegynder
16. maj 2005 - 21:18 #30
giver samme med begge to.
Avatar billede arne_v Ekspert
16. maj 2005 - 21:48 #31
double

og jeg husker forkert - kun:

cout.precision(14);
Avatar billede thomas_nj Nybegynder
16. maj 2005 - 21:59 #32
float er vel også en mulighed...

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    float radius, areal, omkreds;
   
    cout<<"Radius: ";
    cin>>radius;
    cout<<endl;
   
    omkreds=radius*2*22/7;
    cout<<"Omkreds: "<<omkreds<<endl;
   
    areal=radius*radius*22/7;
    cout<<"Areal: "<<areal<<endl;
   
    system("pause");
    return 0;
}
Avatar billede thomas_nj Nybegynder
16. maj 2005 - 22:07 #33
Nåeh kan se problemet nu. Prøvede kun med små tal, men de større bliver også underlige hos mig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester