Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Mikä päivä huomenna on?

Sivun loppuun

Karza [30.11.2005 01:40:20]

#

Olen aloittelija ja koitan tehdä sellaista ohjelmaa, joka kertoo mikä päivä huomenna on, kun käyttäjä ensiksi syöttää tämän päivän. QBasicilla osasin tehdä sen, mutta C++ ei tunnu onnistuvan. Eli haluisin harjoittelun vuoksi pistää ehtolauseet funktioon... siis esim JOS tänään = "maanantai" NIIN huomenna on "tiistai", mutta ei onnistu. Pistäkää koodivinkkiä, niin katson mikä meni vikaan.

tkarkkainen [30.11.2005 10:17:16]

#

Laitas mieluummin se oma koodisi tänne niin katsotaan yhdessä mikä oikeasti meni vikaan.

Zmyrgel [30.11.2005 10:17:28]

#

En nyt suoralta käsin osaa sanoa miten tuo kannattaa tehdä mutta tutustu ihmeessä ctime otsikkotiedoston antiin. Siitä löytyy juuri noita ajankäsittelyyn liittyvää settiä.

http://www.cplusplus.com/ref/ctime/

Jaska [30.11.2005 10:22:03]

#

Eikös se mene näin:

if (tanaan=="maanantai") huomenna="tiistai";

Jäynis [30.11.2005 12:09:22]

#

Tapoja on monia.
Nyt äkkiseltään tulee mieleen toteuttaa toi joko ehtorakenteilla, switch() vois olla aika kätevä tai vaikka pistää päivät taulukkoon tyyliin

string VkPaivat[7];
Taulukko[0]="Maanantai";
Taulukko[1]="Tiistai";
//Kaikkia alkiot läpi

Käyttää voi esim.

int Paiva;
Paiva=1;//Tiistai
cout<<"Tanaan on "<<VkPaivat[Paiva]<<endl;
cout<<"Huomenna on "<<VkPaivat[Paiva+1]<<endl;

Tuohon lisäksi on toki hyvä säätää tarkistukset että ei mennä rajojen ohi esim. jos eletään sunnuntaita niin tuo pätkä ei varmasti näytä maanantaita;)

Metabolix [30.11.2005 12:26:59]

#

Char-tauluja ei voi vertailla ==-operaattorilla. Tutustu strcmp-funktioon (string.h). Muutenkaan char-taulut eivät toimi alkuunkaan noin yksinkertaisesti (esim =-operaattori).

Jos et jaksa opetella niiden käyttöä, ota C++:n string tai siirry Pascaliin, niin ei tarvitse säätää noilla.

Jos taas jaksat, niin vihjeenä sprintf ja strcmp.

Karza [30.11.2005 15:06:06]

#

Ei onnistu tuolla:

#include <iostream>
using namespace std;
int main()
{
    char tanaan;
    char huomenna;
    cout << "Mikä päivä tänään on? ";
    cin >> tanaan;
    if (tanaan=="maanantai") {
            huomenna="tiistai";
    }
    cout << huomenna;
    cin.get();
    return 0;
}

E: Ja tässä vielä ohimenne kysäisen mikä "end1;" on? Kun yksi kirja tunkee sen kaikkien cout lauseiden perään (no ei ihan kaikkien.. läheskään)... ei muuten mutta ei mene läpi sen kanssa, otan sen pois niin sitten toimii.

Jäynis [30.11.2005 15:37:52]

#

char on vain yhden merkin kokoinen, eli siihen ei voi laittaa merkkijonoa. Putkan
c-oppaassa
on tästä. Metabolixen viesti yllä kertoo lisää...

Edit:Säätöä
EditEdit: Tuossa edellisessä viestissä pääs käymään kömmähdys.
Nimesin ensin taulukon Taulukko[7]; mutta muutin mieleni ja muutin sen
nimeksi VkPaivat[7]; Unohtu vaan muuttaa noi sijoituksetki.
Eli näin sen pitäisi olla

string VkPaivat[7];
VkPaivat[0]="Maanantai";
VkPaivat[1]="Tiistai";
//Kaikkia alkiot läpi

Ja käyttäisit kooditageja, saa paremmin selvää

Edit3: endl tarkoittaa rivinvaihtoa

cout<<"Rivi1"<<endl<<"Rivi2"<<endl;
cout<<"Rivi3";
/*Tulostaa
Rivi1
Rivi2
Rivi3
*/

Voit myös käyttää \n tekstin seassa esim.

cout<<"Rivi1 \nRivi2 \nRivi3";//Tulostaa saman kuin ylläoleva

Karza [30.11.2005 16:28:24]

#

Mikäs nyt on vialla?

#include <iostream>
using namespace std;
int main()
{
    char tanaan;
    char huomenna;

    string paivat[7];
    paivat[0]="Maanantai";
    paivat[1]="Tiistai";
    paivat[2]="Keskiviikko";
    paivat[3]="Torstai";
    paivat[4]="Perjantai";
    paivat[5]="Lauantai";
    paivat[6]="Sunnuntai";

    cout << "Mikä päivä tänään on?";
    cin >> paivat;

    int paivat;
    paivat = 1;
    cout << "Tänaan on siis" << paivat;
    cout << "ja huomenna on " << paivat[paivat + 1] "\n";

    cin.get();
    cin.get();
    return 0;
}

Jäynis [30.11.2005 18:09:18]

#

Nopsasti katottuna

#include <iostream>
//Puuttuu kirjasto <string> jossa toi string tyyppi on
using namespace std;
int main()
{
//    char tanaan;  näitä et tarvi ku et käytäkkään
//    char huomenna;

    string paivat[7];
    paivat[0]="Maanantai";
    paivat[1]="Tiistai";
    paivat[2]="Keskiviikko";
    paivat[3]="Torstai";
    paivat[4]="Perjantai";
    paivat[5]="Lauantai";
    paivat[6]="Sunnuntai";

    cout << "Mikä päivä tänään on?";
  cin >> paivat;  /*tässä yrität kirjoittaa käyttäjän syötteen paivat taulukon osoitteeksi muistissa
                 jos olen väärässä niin saa oikaista.*/

    int paivat;     //sinulla on jo muuttuja nimeltä paivat, nimittäin toi string paivat

    //tässävaiheessa on jo kaksi samanimistä muuttujaa joten hankala neuvoa
    paivat = 1;
    cout << "Tänaan on siis" << paivat;
    cout << "ja huomenna on " << paivat[paivat + 1] "\n";// puuttuu << paivat[paivat + 1] ja "\n" välistä

    cin.get();
    cin.get();
    return 0;
}

Ja jotta voit käyttää tuota paivat taulukkoa sinun tulee muuntaa käyttäjän syöttämä päivä numeroksi
ja sitä numeroa käyttää indexinä taulukon käytössä.
Mutta oikeestaan suosittelisin sua kertaamaan oppaasi ja opetteleen asian kerrallaan, ei norsuakaan kannata kerralla syödä ja sulatella vaan pienissä paloissa kuten joku joskus jossain täällä putkassa totesi.

Karza [30.11.2005 18:56:32]

#

No en saa toimimaan.

E: No tän hitaampaa en voi edetä; Olen "ohjelmoinut" viisi vuotta ja tässä ollaan. Noin karkeasti otettuna.

E2: Herjaa jotain tosta cin << paivat; mutta pitäähän jotenkin saada tietoon se mistä päivästä halutaan seuraava...

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string paivat[7];
    paivat[0]="Maanantai";
    paivat[1]="Tiistai";
    paivat[2]="Keskiviikko";
    paivat[3]="Torstai";
    paivat[4]="Perjantai";
    paivat[5]="Lauantai";
    paivat[6]="Sunnuntai";

    cout << "Mikä päivä tänään on?";
    cin >> paivat;


    paivat = 1;
    cout << "Tänaan on siis" << paivat;
    cout << "ja huomenna on " << paivat[paivat + 1] << "\n";

    cin.get();
    cin.get();
    return 0;
}

Heikki [30.11.2005 19:37:50]

#

Ongelmasi on siinä, että sinulla on stringitaulukko paivat, ja yrität tämän taulukon arvoksi laittaa cinillä saadun syötteen. Käytä siis jotain erillistä muuttujaa, eli tyyliin

string paivat[7];
// ---
int p; cin >> p;

cout << "Tänään on " << paivat[p];
cout << " ja huomenna on " << paivat[p+1] << "\n";

Eli siis tässä cinillä kysytään viikonpäivän numero 0-6, tosin kutosella mennään taulukon yli, eli tähän pitäisi tehdä tarkistus.

Edit. nopein! \o/

sqwiik [30.11.2005 19:38:04]

#

Johtuu siitä, ettei cin-olio osaa lukea << :lla string-taulukkoa (joka tuo 'paivat' siis on). Tässä hommassa pitää käyttää kahta muuttujaa (tuo taulukko, ja int johon otat päivän järjstysnumeron.

strig paivat[7];
paivat[0]="maanantai";
// ... jne jne
paivat[6]="sunnuntai";

/* Enää ei saa käyttää paivat-nimeä muuttujalle (käytössä). */
int mikapaiva = 0;
cin >> mikapaiva;

cout << paivat[mikapaiva] << endl;

Tuon pitäisi periaatteessa auttaa eteenpäin.

Edit: damn, 15 sek myöhässä -_-
Edit2: heh, 3 vastausta alle minuuttiin =P

FooBat [30.11.2005 19:38:42]

#

Sinä käytät edelleen samaa 'paivat'-nimistä muuttujaa kolmeen eri tarkoitukseen ja lopputuloksena on koodi, jossa ei ole mitään järkeä.

1. Tee toinen (_toisen niminen_) muuttuja johon otat käyttäjän syötteen.
2. Etsi vertailemalla käyttäjän syötettä ja paivat taulukkoa, minkä päivän käyttäjä valitsi.
3. Tee mahdollisesti kolmas muuttuja (edelleen toisen niminen kuin kaksi edellistä), johon talletat löydetyn päivän numeron.
4. Lisää päivän numeroa yhdellä ja jos se 7, muuta se nollaksi.


Kokeile, jos näillä neuvoilla pääsisi eteenpäin.

Edit: Olinpas hidas :)

Karza [30.11.2005 19:55:27]

#

Jaa niin nyt tajusin.... ainakin luulen niin.
Noh nyt se silti sulkee ikkunan heti, kun olen kirjoittanut, mikä päivä tänää on. Olen koittanut tunkea cin.getiä joka paikkaan mutta ei auta x)

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string paivat[7];
  paivat[0]="maanantai";
  paivat[1]="tiistai";
  paivat[2]="keskiviikko";
  paivat[3]="torstai";
  paivat[4]="perjantai";
  paivat[5]="lauantai";
  paivat[6]="sunnuntai";

  int tanaan = 0;
  cout << "Mikä päivä tänään on? ";
  cin >> tanaan;
  cout << "\nHuomenna on ";
  cout << paivat[tanaan] << "\n";

  cin.get();
  cin.get();
  return 0;
}

FooBat [30.11.2005 20:07:24]

#

http://pp.kpnet.fi/blaze/codefaq/#justflashes

Karza [30.11.2005 20:27:46]

#

Okkei. Se näyttää nyt, että aina seuraava päivä on maanantai, niinkuin vähän arvelinkin. Tuolle "tanaan" muuttujaanhan annetaan arvoksi nolla. Sanokaas nyt gurut mitenkä tuo tehdään oikein.

Jaska [30.11.2005 21:18:04]

#

Annanpa vinkin: Olet määrittänyt tanaan-muuuttujan kokonaislukuarvoiseksi. Vaihdapa se merkkijonoksi. Nyt voit määritellä kokonaislukumuuttujan paivanro, joka on 0 kun tanaan-muuttujan arvo on "maanantai", 1 jos tiistai jne. Nyt huomisen päivät numero on (paivanro+1)%7, joten mitä tapahtuukaan jos tulostat paivat[(paivanro+1)%7]?

Karza [30.11.2005 21:53:46]

#

Ensinnäkin: millä määritellää merkkijono, jo char ei käy. Tuolla oppaassa ainakin sanottiin vaan charista. Ja mitä tuo %7 tekee tuolla? ja muutenkin.. ei toimi tuo pätkä... Minun olisi paljon helpompi katsoa mikä on pielessä, jos korjaisitte tuon tekemäni - näköjään virheellisen - pohjan.

Chiman [30.11.2005 21:59:23]

#

char = merkki, string = merkkijono, % tarkoittaa jakojäännöstä (mahdollistaa su -> ma -operaation)

Metabolix [30.11.2005 22:07:34]

#

Ensinnäkin, char ei ole merkkijono, se on merkki. char-taulukkoa voi jo kutsua merkkijonoksi. string on C++:n merkkijonoluokka. Jos siis käytät C++:ssaa (cout ja cin), niin käytä myös stringiä.

Kaikkia periaatteita vastaan laitan nyt valmista koodia:

int main(void)
{
    string paivat[7] =
    {
        "maanantai",
        "tiistai",
        "keskiviikko",
        "torstai",
        "perjantai",
        "lauantai",
        "sunnuntai"
    };

    string tanaan;

    bool valmis = false;

    // Toistetaan, kunnes ollaan valmiita
    while (!valmis)
    {
        // Kysytään. (Windowsissa kiva efekti, muualla ei varmaan toimi...)
        cout << "Nyt on _____________\rNyt on _";
        cin >> tanaan;

        // Käydään kaikki 7 päivää läpi
        for (int i = 0; i < 7; i++)
        {
            // Tärppääkö?
            if (paivat[i] == tanaan)
            {
                // Tulostetaan vastaus
                cout << "Jos nyt on " << paivat[i]
                     << " niin huomenna on " << paivat[(i+1) % 7] << ".\n";

                // Merkitään, että ollaan valmiita
                valmis = true;

                // Mennään pois for-silmukasta
                break;
            }
        }

        // Jos mitään ei löytynyt, tulostetaan huomautus
        if (!valmis)
            cout << "Tuo ei kelpaa. Uusi yritys.\n";
    }
    return 0;
}

Karza [30.11.2005 22:29:14]

#

Keskityn vielä tohon omaan koodiini ja koitan todella saada sen toimimaan, mutta en älyä mikä vielä on pielessä. Muutin tanaan muuttujan stringiksi.. mitä vielä?

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string paivat[7];
  paivat[0]="maanantai";
  paivat[1]="tiistai";
  paivat[2]="keskiviikko";
  paivat[3]="torstai";
  paivat[4]="perjantai";
  paivat[5]="lauantai";
  paivat[6]="sunnuntai";

  string tanaan = 0;
  cout << "Mikä päivä tänään on? ";
  cin >> tanaan;
  cout << "\nHuomenna on ";
  cout << (paivat+1)%7

  cin.get();
  cin.get();
  return 0;
}

Okei, okei, aloitan lukemaan opasta uudestaan, mutta silti...

Edit: Tuo koodi näyttää kyllä epäillyttävän lyhyltä...

Metabolix [30.11.2005 22:34:24]

#

Lue nyt edes kääntäjän virheet. Mikä järki tässä on: (paivat+1)%7 Ethän edes käytä siinä kysyttyä tietoa.

Ota kynä ja paperia ja kirjoita vaihe kerrallaan, mitä ohjelman pitäisi tehdä. Tarkempi parempi. Kirjoita myös koodiin kommentteja, vaikka joka rivin eteen, mitä niiden on tarkoitus tehdä.

Tällä hetkellä aikaansaannoksesi näyttävät siltä, että olet vain heittänyt mitä sattuu muuttujia vähän sinne tänne. Ei millään pahalla.

Karza [30.11.2005 22:37:00]

#

Voi ****. Teen just niinkun täällä neuvotaan. Koitin itse ennen tätä ja kun omat neuvot loppuivat, tulen tänne kysymään...

Edit: Noi virheet mitä tuo antaa on kyllä ihan hatusta vedettyjä. Nyt se valittaa esim tota cin.get(); tuolla lopussa vaikka se ei liity olennaisesti minnekkään, joten en jaksa kiinnittää niihin huomiota.
Edit2: Eli jos nyt vaan voisitte sanoa, mitä korjaan tuohon.
Edit3: Se itse ongelma on tässä: miten saan tanaan muuttujan jotenkin lonkattua paivat hommeliin, niin että siitä olis sitten helppo vaan lisäillä 1... vaikea selittää.

Blaze [30.11.2005 22:42:15]

#

Laita se puuttuva puolipiste tuon jakojäännösrivin perään.

Metabolix [30.11.2005 22:46:48]

#

Lue tuo minun esimerkkini ajatuksella. Siinä on kaikki tarvittava ja oikein kommentitkin.

Ja "tehnyt juuri kuten sanotaan" ei oikein päde. Kun tuolta lukee aiemmat neuvot, joissa on hyvin selkeästi neuvottu, ja katsoo koodiasi, niin alle puolet vinkeistä on päässyt sinne asti.

Vaikkapa tämä:

Jaska kirjoitti:

Nyt voit määritellä kokonaislukumuuttujan paivanro, joka on 0 kun tanaan-muuttujan arvo on "maanantai", 1 jos tiistai jne. Nyt huomisen päivät numero on (paivanro+1)%7, joten mitä tapahtuukaan jos tulostat paivat[(paivanro+1)%7]?

Karza [30.11.2005 22:52:05]

#

Luetaan luetaan.. mutta sitä ennen:
sillain kyllä osaan tehdä, että käyttäjä syöttää numeron, joka vastaa jotain päivää (0 = ma, 1 = ti jne...) ja sitten se tulostaa mikä päivä huomenna on... eli lue itse se minun ongelma (edit3).

Edit: Enkös juuri tehnyt noin miten Jaska kirjoitti?... otin sen kyllä pois kun ei toiminut...

Zach [30.11.2005 23:01:27]

#

Metabolixin koodissahan se on ihan suoraan, eli siihen päivän kysymisen jälkeen vaikka:

for (int i=0; i<7; i++)
{
   if (tanaan == paivat[i])
   {
      cout << "Huomenna on " << paivat[(i+1)%7];
   }
}

Karza [30.11.2005 23:15:56]

#

i = o... ?, mikä i....
tiedäthän... en halua kirjoittaa koodia, mitä en itsekkään ymmärrä. Saisin tuon onnistumaan jos vaan saisin yhteen pikkiriikkiseen ongelmaan ratkaisun: Pitäisi lisätä (muka) merkkijonomuuttujaan 1 (huomenna = tanaan + 1) eli miten tuo onnistuu, kun tanaan on merkkijono...


Edit:

#include <iostream>                   // syöttö ja tulostus toiminnot ohjelman käyttöön
#include <string>                     // käytetään stringiä
using namespace std;                  // ohjauskäsky
int main()                            // pääfunktio alkaa...
{                                     // funktion lohkon aloittava aaltosulku
  string paivat[7];                   // taulukko...
  paivat[0]="maanantai";              // maanantai = 0
  paivat[1]="tiistai";                // tiistai = 1
  paivat[2]="keskiviikko";            // keskiviikko = 2
  paivat[3]="torstai";                // torstai = 3
  paivat[4]="perjantai";              // perjantai = 4
  paivat[5]="lauantai";               // lauantai = 5
  paivat[6]="sunnuntai";              // sunnuntai = 6

  string tanaan;                      // määritellään merkkijonomuuttuja tanaan
  string huomenna;                    // määritellään merkkijonomuuttuja huomenna
  cout << "Mikä päivä tänään on? ";   // käyttäjälle tulostetaan kysymys nykyisestä päivästä
  cin >> tanaan;                      // käyttäjä kirjoittaa nykyisen päivän muuttujaan tanaan
  for (int i=0; i<7; i++)
{
   if (tanaan == paivat[i])
   {
      cout << "Huomenna on " << paivat[(i+1)%7];
   }
}

  cin.get();
  cin.get();
  return 0;
}

Homma onnistui tuolla koodilla (eikä kommentoinnissakaan pitäisi olla puutteita), mutta jos joku vois viellä kommentoida nuo for osan, kun se oli vaan suora kopio enkä tajua siitä kaikkea...

Zach [30.11.2005 23:21:25]

#

Kokonaislukumuuttujaan i sijoitetaan 0 (ei o). Sitä käytetään for-silmukassa, joka kasvattaa sen arvoa aina yhdellä, kunnes i<7 eli 6. i-muuttujan avulla haetaan paivat-stringtaulukosta kyseisen päivän nimi, ja jos se on sama kuin käyttäjän antama päivä, tulostetaan siitä seuraava päivä eli paivat[i+1]. Paivat-taulukosta haetaan siis merkkijono muuttujalla aivan samalla tavalla kuin vakionumerolla. Paljon yksinkertaisemmin en osaa selittää. :)

Karza [30.11.2005 23:27:15]

#

Kiitos.. en ole ennen tiennyt tota i juttua. Tai itseasiassa olen aina ihmetellyt mitä se tarkoittaa. Hmm... i avaa uusia ovia...

Jaska [30.11.2005 23:31:24]

#

For-silmukka on varsin yksinkertainen. Alussa i=0. huomataan, että i<7. Jos tanaan on sama päivä kuin päivät-taulukon indeksissä i oleva alkio, tulostetaan huominen päivä. Muutoin laskurin arvo kasvaa ja aletaan suorittamaan sulmukkaa uudelleen.

Kun i=7, hypätään silmukasta pois. Lauseke (i+1)%7 tarkoittaa, että laskuria i kasvatetaan yhdellä ja otetaan jakojäännös modulo 7. Vieläkö ongelmia?

Karza [30.11.2005 23:49:59]

#

Noh, jos huomaatte kommentoinnissa jotain hämärää, niin sitten on (ongelmia).

#include <iostream>                                 // syöttö ja tulostus toiminnot ohjelman käyttöön
#include <string>                                   // käytetään stringiä
using namespace std;                                // ohjauskäsky

int main()                                          // pääfunktio alkaa...
{                                                   // funktion lohkon aloittava aaltosulku

  string paivat[7];                                 // taulukko...
    paivat[0]="maanantai";                          // maanantai = 0
    paivat[1]="tiistai";                            // tiistai = 1
    paivat[2]="keskiviikko";                        // keskiviikko = 2
    paivat[3]="torstai";                            // torstai = 3
    paivat[4]="perjantai";                          // perjantai = 4
    paivat[5]="lauantai";                           // lauantai = 5
    paivat[6]="sunnuntai";                          // sunnuntai = 6

  string tanaan;                                    // määritellään merkkijonomuuttuja tanaan
  cout << "Mikä päivä tänään on? ";                 // käyttäjälle tulostetaan kysymys nykyisestä päivästä
  cin >> tanaan;                                    // käyttäjä kirjoittaa nykyisen päivän muuttujaan tanaan
  for (int i = 0; i < 7; i = i + 1)                 // silmukka pyörii 0 - 7 välillä (ma - su), laskuriin lisätään 1
  {                                                 // silmukan lohkon aloittava aaltosulku
    if (tanaan == paivat[i])                        // jos tänään -muuttuja on joku päivät -taulukon päivistä niin...
    {                                               // iffin lohkon aloittava aaltosulku
       cout << "Huomenna on " << paivat[(i + 1)%7]; // tulostaa teksitä ja; silmukasta pois, jätetään jakojäännös johon lisätään 1
    }                                               // iffin lohkon lopettava aaltosulku
  }                                                 // silmukan lopettava aaltosulku

  cin.get();                                        // ohjelma pysähtyy suorituksen jälkeen ja jää odottamaan ENTERin painallusta
  cin.get();

  return 0;                                         // main() funktion lopettava lause
}                                                   // funktion lohkon lopettava aaltosulku

Tiedän kyllä, että kommentoinnit on liijoiteltuja ;) mutta epäselvyyksiä ei ainakaan pitäisi olla.

Edit: poistin huomenna määrittelyn, kun eihän sitä tarvita...

Metabolix [01.12.2005 00:01:58]

#

Nyt näyttää jo paljon paremmalta. Ihan jokaista aaltosulkua nyt ei tarvitse välttämättä kommentoida :)

Välillä 0-6 tietenkin eikä 0-7, ja ei pelkästään "joku päivät-taulukon päivistä" vaan juuri se laskurin sillä hetkellä osoittama, jos nyt ihan pilkunviilaukseen mennään.

Siitä se lähtee :)

Karza [01.12.2005 00:13:03]

#

Mitenkähän nuo ääkköset saisi korjattua. Vai täytyiskö kirjoittaa englanniksi... en halua mitaan mika paiva tanaan on.

Metabolix [01.12.2005 00:18:31]

#

Haku auttaa.

Edit: Näköjään aika tehokkaasti linkitetty noita ristiin jo :) Laitetaan sitten tänne ihan vastauskin:

lainaus:

Ääkköset pitää yleensä korvata vastaavilla escape-merkinnöillä:
å = \x86
ä = \x84
ö = \x94
Å = \x8f
Ä = \x8e
Ö = \x99

x:n eteen nolla (eli \x => \ox), jos ei meinaa toimia. Käyttö:
"T\x84ss\x84 lukee \x99rvel\x99!"
(eli "Tässä lukee ÖRVELÖ!")

Karza [01.12.2005 00:40:37]

#

Juuh, toimiihan se nyt.

Blaze [01.12.2005 10:10:17]

#

Helpommalla pääsee kun tallentaa sen sorsafilun "oikealla" merkkikoodauksella. Windowsin konsoli-ikkuna ymmärtää oletuksena kaiketi MS-DOS -koodisivu 437:ää, joten kun tallentaa tiedostot tuolla merkkikoodauksella näkyvät ääkköset oikein ihan ilman eskapetuksia. Vimissä :set fenc=cp437


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta