Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:31 Der er 33 kommentarer og
1 løsning

Variable type liste

En der kan en adr. til en liste over alle variable typerne..
??
Avatar billede arne_v Ekspert
18. maj 2003 - 22:33 #1
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:35 #2
#include <iostream.h>
#include <stdlib.h>

int main() {
  int myAge = 14;
  float myTown = Nyborg;
  float myCountry = Danmark;
 
    cout << "Hello World!!" <<endl;   
    cout << "Min alder er " << myAge << " År" <<endl;
    cout << "Jeg bor i " << myTown << " i " << myCountry << <<endl;
 
  system("PAUSE");
  return 0;
}

istedet for float hvad type skal jeg så bruge?
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:35 #3
og kan man ikke bruge Å i dos?
Avatar billede arne_v Ekspert
18. maj 2003 - 22:35 #4
Avatar billede arne_v Ekspert
18. maj 2003 - 22:36 #5
float er til decimal tal.

Til strenge skal du bruge array af char sller STL string.
Avatar billede arne_v Ekspert
18. maj 2003 - 22:37 #6
#include <stdlib.h>

#include <iostream>

using namespace std;

int main() {
  int myAge = 14;
  char myTown[] = "Nyborg";
  char myCountry[] = "Danmark";

    cout << "Hello World!!" <<endl; 
    cout << "Min alder er " << myAge << " År" <<endl;
    cout << "Jeg bor i " << myTown << " i " << myCountry << <<endl;

  system("PAUSE");
  return 0;
}
Avatar billede arne_v Ekspert
18. maj 2003 - 22:38 #7
#include <stdlib.h>

#include <iostream>
#include <string>

using namespace std;

int main() {
  int myAge = 14;
  string myTown = "Nyborg";
  string myCountry = "Danmark";

    cout << "Hello World!!" <<endl;
    cout << "Min alder er " << myAge << " År" <<endl;
    cout << "Jeg bor i " << myTown << " i " << myCountry << <<endl;

  system("PAUSE");
  return 0;
}
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:38 #8
Hvorfor har du ændret dem med [] og hvad er den der namespace ting til ?? Sorry er mega nuub hehe men startede idag ;)
Avatar billede arne_v Ekspert
18. maj 2003 - 22:39 #9
Og du kan godt bruge ÆØÅ i console mode applikationer.

*MEN* ÆØÅ i en DOS box og i et Windows program er ikke
det samme regn.
Avatar billede arne_v Ekspert
18. maj 2003 - 22:40 #10
char a;

kan kun indehodle et bogstav.

char a[10];

kan indeholder 10 bogstaver.

char a[] = "xxxx";

tæller selv antal bogstaver.
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:42 #11
ok thx :)
Men det er kun af nysgerrighed:
Hvordan laver man så det er et windows vindue der åbner og ikke et dos vindue.. Er det svært?? :P
Avatar billede arne_v Ekspert
18. maj 2003 - 22:42 #12
Jeg ændrede:

#include <iostream.h>

til:

#include <iostream>

using namespace std;

fordi det bruger man normalt nu om dage. Det gør præcis det samme.
Og som negynder skal du ikke tænke mere over det.

Hvis din compiler accepterer den sidste variant så brug den.

Og på et eller tidspunkt lærer du så om namespaces.

Men det er ikke nær så vigtigt som at lære om data typer.
Avatar billede arne_v Ekspert
18. maj 2003 - 22:44 #13
Ja rigtigt Windows programmering er lidt sværere.

Et banalt hello world type program:

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
    static TCHAR szAppName[] = TEXT ("Test") ;
    HWND        hwnd ;
    MSG          msg ;
    WNDCLASS    wndclass ;

    wndclass.style        = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc  = WndProc ;
    wndclass.cbClsExtra    = 0 ;
    wndclass.cbWndExtra    = 0 ;
    wndclass.hInstance    = hInstance ;
    wndclass.hIcon        = LoadIcon (NULL, IDI_APPLICATION) ;
    wndclass.hCursor      = LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    wndclass.lpszMenuName  = NULL ;
    wndclass.lpszClassName = szAppName ;

    if (!RegisterClass (&wndclass))
    {
          MessageBox (NULL, TEXT ("This program requires Windows NT!"),
                      szAppName, MB_ICONERROR) ;
          return 0 ;
    }

    hwnd = CreateWindow (szAppName,
                          TEXT ("AVU Win32 GUI"),
                          WS_OVERLAPPEDWINDOW,       
                          CW_USEDEFAULT,             
                          CW_USEDEFAULT,             
                          CW_USEDEFAULT,             
                          CW_USEDEFAULT,             
                          NULL,                     
                          NULL,                     
                          hInstance,                 
                          NULL) ;                   
   
    ShowWindow (hwnd, iCmdShow) ;
    UpdateWindow (hwnd) ;
   
    while (GetMessage (&msg, NULL, 0, 0))
    {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
    }
    return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC        hdc ;
    PAINTSTRUCT ps ;
    RECT        rect ;
   
    switch (message)
    {
    case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;
         
          GetClientRect (hwnd, &rect) ;
         
          DrawText (hdc, TEXT ("Testing!"), -1, &rect,
                    DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
         
          EndPaint (hwnd, &ps) ;
          return 0 ;
         
    case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
    }
    return DefWindowProc (hwnd, message, wParam, lParam) ;
}
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:46 #14
ok vildt, så er det mega svært at lave programmer som bare en lille lommeregner ??
Avatar billede arne_v Ekspert
18. maj 2003 - 22:48 #15
Du kan sikkert godt lave det om 3 måneder.

Men start med noget console mode applikation.

Og nogle data typer.
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:50 #16
Ja, det var os bare af nysgerrighed :)
Avatar billede arne_v Ekspert
18. maj 2003 - 22:50 #17
Følgende illusterer hvordan du kan få skrevet ÆØÅ korrekt ud i en
console mode applikation:

#include <stdio.h>
#include <string.h>

//**********************************************************************
//
// (ISO-8859-1/IsoLatin1/CP-819 -> CP-850/PC-8-ML) conversion
//
// Notes:
//  0-127 left unchanged
//  128-255 converted (to zero if no equivalence)
//
//**********************************************************************

unsigned char cscvt_to_cp850_table[256] = {
  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  0,173,189,156,207,190,221,245,249,184,166,174,170,240,169,238,
248,241,253,252,239,230,244,250,247,251,167,175,172,171,243,168,
183,181,182,199,142,143,146,128,212,144,210,211,222,214,215,216,
209,165,227,224,226,229,153,158,157,235,233,234,154,237,231,225,
133,160,131,198,132,134,145,135,138,130,136,137,141,161,140,139,
208,164,149,162,147,228,148,246,155,151,163,150,129,236,232,152
};

void cscvt_to_cp850(char *s1,char *s2)
{
  int i;
  strcpy(s2,s1);
  for(i=0;i<(int)strlen(s1);i++) s2[i]=cscvt_to_cp850_table[(unsigned char)s2[i]];
  return;
}

int main()
{
  char win[] = "ABCabcÆØÅæøå123";
  char dos[100];
  cscvt_to_cp850(win,dos);
  printf("%s -> %s\n",win,dos);
}
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:51 #18
Lige et sidste Spg.
kender du en side med nogle gode open sources ?
Avatar billede arne_v Ekspert
18. maj 2003 - 22:53 #19
Du skal nok have et site med nogle gode stykker eksempel kode og ikke
et site med mega store open source projekter.
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:53 #20
ok det ser jo meget "simpelt" ud ;)
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:53 #21
ja os det jeg søgte. :P
Avatar billede arne_v Ekspert
18. maj 2003 - 22:53 #22
Avatar billede supernewbie Nybegynder
18. maj 2003 - 22:55 #23
ok tak for hjælpen, der går jo nok ikke lang tid for vi snakkes ved igen ;)
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:04 #24
Ej hvor irriterende når man starter på noget nyt er der altid 1000 spg. Lige et aller sidste du skal nok få points hvis du vil :)

Er det muligt at indtaste information ligesom på en hp og så hente den ind i en variabel, eller noget?
Avatar billede arne_v Ekspert
18. maj 2003 - 23:09 #25
Selvfølgelig er det da det.

int iv;
cin >> iv; // indlæs tal
char sv[100];
cin >> sv; // indlæs ord
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:10 #26
jeg mente om der findes noget lignende et tekstfelt som i html ??
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:11 #27
eller er det det som du har lavet der?
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:11 #28
Ja det er det
Avatar billede arne_v Ekspert
18. maj 2003 - 23:12 #29
Ovenstående er helt fint til at læse data ind i en console mode applikation.

I en GUI applikation er der tekst felter og andre goodies.
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:12 #30
//include this file for cout
#include <iostream.h>

int main() {

int iv;
cin >> iv; // indlæs tal
char sv[100];
cin >> sv; // indlæs ord

    cout << sv <<endl;
   
  system("PAUSE");
  return 0;

}

den skriver noget underligt
Avatar billede arne_v Ekspert
18. maj 2003 - 23:13 #31
Det kan gøres lidt kønnere med:

cout << "Indtast tal: ";
int iv;
cin >> iv; // indlæs tal
cout << "Indtast ord: ";
char sv[100];
cin >> sv; // indlæs ord
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:15 #32
Ok aller sidste, lover jeg:

Hvordan får man den så til at skrive de 2 indtastede ting ud til sidst?
Avatar billede arne_v Ekspert
18. maj 2003 - 23:16 #33
#include <iostream>

using namespace std;

int main() {
  cout << "Indtast tal: ";
  int iv;
  cin >> iv; // indlæs tal
  cout << "Indtast ord: ";
  char sv[100];
  cin >> sv; // indlæs ord
  cout << "tal=" << iv << " ord=" << sv <<endl;
  system("PAUSE");
  return 0;
}

giver:

Indtast tal: 123
Indtast ord: abc
tal=123 ord=abc
Press any key to continue . . .

hos mig.
Avatar billede supernewbie Nybegynder
18. maj 2003 - 23:17 #34
cout << "tal=" << iv << " ord=" << sv <<endl;

Det var den jeg manglede..
Ses ;)

Tusinde tak
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