Avatar billede nerd0 Nybegynder
29. januar 2005 - 23:54 Der er 11 kommentarer

Spørgsmål om c++

Hej alle..

Jeg er i hello-world-fasen, og mangler lidt inspiration til hvad jeg ellers skal lave.

Jeg har rodet med if sætninger og "cin>>" og har f.eks. lavet et gætte konkurence program, meget simpelt, men sjovt :)

Jeg vil egentlig gerne have svar på nogle spørgsmål også tænkte jeg på om i ville hjælpe mig op ad det her n00b-hul?

Mine spørgmål:
1) De programmer jeg har lavet indtil videre foregår i terminalen under linux, hvordan laver man et "GUI" program? hvad kræves der? er det "bare" en c++ kode? og er det nemt eller svært? læste om noget Qt framework, er det det rigtige?

2) Tænkte op at lave et simpelt program som kan vise min ip adresse, da jeg selv er godt træt af at skrive myip.dk =) også kan andre jo også have glæde af det.

3) Jeg ved at programer/applikationer til linux kan åbnes ved hjælp af en kommando, hvordan kan jeg gøre på man kan skrive f.eks. "myip" også åbner den mit ip program?

På forhånd tak!
Avatar billede arne_v Ekspert
29. januar 2005 - 23:58 #1
1)

GUI programmering i C/C++ er noget sværere end console programmering. Jeg vil
klart anbefale en god portion erfaring inden dugår igang med GUI.

Du skal have fat i et grafisk bibliotek. Xlib, Xt, Motif, GTK, Qt etc.. Jeg er
ikke ekspert i det så jeg vil ikke forsøge at anbefale noget specifikt.

2)

tjo...

3)

Så skal din myip executable vel bare være i PATH.
Avatar billede nerd0 Nybegynder
30. januar 2005 - 00:05 #2
Arne_v: tak for dine svar, jeg har heller ikke tænkt mig at lave GUI programmer lige foreløbigt da jeg tænkte at det nok var scært. hvad mener du med i PATH? hvordan laver jeg min exeutable PATH?
Avatar billede bertelbrander Novice
30. januar 2005 - 00:05 #3
1: QT er en mulighed, wxWidgets er en anden: http://www.wxwidgets.org/, har "leget" lidt med den på windows, men den kører også Linux/Unix/Mac/etc. Der er en tutorial og en del eksempler.

3: Putter man ikke den slags i /usr/bin ?
Avatar billede arne_v Ekspert
30. januar 2005 - 00:07 #4
Hvis det dir hvor myip executable ligger i er i environment variablen PATH, så
kan du køre programmet bare med kommandoen myip uanset hvor du står henne
Avatar billede nerd0 Nybegynder
30. januar 2005 - 00:09 #5
bertelbrander > jo, det gør man nok højest sandsynligt. men har prøvet at åbne en af dem i en text editor, er de compilet?
Avatar billede nerd0 Nybegynder
30. januar 2005 - 00:15 #6
arne_v: vil det så sige at jeg skal oprette et variable i min myip.cpp "path = /home/jm0/c/game/game/;" <- eks.?

Eller hvad mener du???
Avatar billede bertelbrander Novice
30. januar 2005 - 00:16 #7
Der ligger sansynligvis en del shell-scripts, deres første linie er noget i stil med:
#! /bin/sh Men man kan godt putte kompilerede programmer der.
Avatar billede bertelbrander Novice
30. januar 2005 - 00:22 #8
Nej, path ikke skal sættes op i programmet, men i en configurations fil til Linux/bash/...
Der ligger nok en fil i /etc som sætter path'en op.
Avatar billede arne_v Ekspert
30. januar 2005 - 00:24 #9
Avatar billede nerd0 Nybegynder
30. januar 2005 - 00:25 #10
sejt bertelbrander!
Nu virker det, jeg smækkede bare min executable-fil ind i /usr/bin :)
tak, tak, tak.. Nu mangler jeg bare svar på om hvordan man får vist sin ip adresse med c++..
Avatar billede bertelbrander Novice
30. januar 2005 - 00:49 #11
På windows kan man bruge dette til at få sin ip-addresse:

#include <windows.h>
#include <iostream>

int main()
{
  WSADATA wsaData;
  if(WSAStartup(MAKEWORD(1, 1), &wsaData))
  {
      std::cout << "Failed" << std::endl;
      return 1;
  }

  char Buffer[256];
  gethostname(Buffer, sizeof(Buffer));
  std::cout << "MyName: " << Buffer << std::endl;

  struct hostent *Host = gethostbyname(Buffer);
  for(int i = 0; Host->h_addr_list[i];  i++)
  {
      unsigned char *Addr = (unsigned char *)Host->h_addr_list[i];
      std::cout << "IP: ";
      for(int j = 0; j < 4; j++)
        std::cout << (unsigned int )Addr[j] << ".";
      std::cout << std::endl;
  }
}

På Linux skal du ikke inkludere windows.h men nogle andre, og du skal ikke kalde WSAStartup
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