Site-ul unui adolescent (Ionita Cosmin)

Cum sa deschizi unitatea optica in Code::Blocks (C++)

#include<iostream>

#include<Windows.h>

int main()

{           mciSendString("open cdaudio", 0,0 ,0);

             mciSendString("set cdaudio door open", 0,0 ,0);

 

Acesta este "codul magic". Daca il copiati exact asa, apoi ii dati compilare, o sa aveti o eroare cam neplacuta, de tipul "undefined refference...".  

Pentru aceasta, trebuie sa faceti o modificare: In partea de sus a programului Code::Blocks e o eticheta Project ->Build Options -> Linker Settings -> Add. Aici va apare o fereastra mica in care voi trebuie sa intoduceti acest cod: 'winmm' fara ghilimele. Acest winmm este numele unei biblioteci pe care linkerul trebuie sa o acceseze atunci cand compileaza programul, mai exact, pentru a recunoaste functia mciSendString pe care noi o folosim in program.

 

O observatie un pic cam puerila: acest program nu poate deschide unitatea optica pe unele sisteme de tip notebook care nu au unitate optica (pe sistemul dăăăăă!!!).

 

© Ionita Cosmin

Programming stage___advancing___C#

Recent am inceput sa invat C#, unul dintre cele mai interesante limbaje de programare full OOP pe care le-am intalnit.

 O sa prezint aici niste notiuni de baza, corelate cu traditionalul program Hello World!:

 

using System;

class my_first_program

{            public static void Main()

              {    Console.WriteLine("Hello World!");

                    Console.ReadKey();

               }

}

Allright, let's take a look at that:

"System" este un namespace, adica o structura care incapsuleaza clase, cea mai generala forma de incapsulare.

"using System" este o instructiune prin care programul utilizeaza acest namespace.

"class my_first_program" este o banala definitie a unei clase, exact ca in C++.

"public static void Main()" - declararea functiei principale, functiei radacina sau metodei principale, este functia in care au loc principalele instructiuni ale programului, asemenea lui int main() din C++. Aici este o observatie importanta: cuvantul "Main" este case-sensitive, trebuie scris intotdeauna cu majuscula.

 "Console.WriteLine("Hello World!");" este instructiunea care afisaza pe ecran mesajul "Hello World!". Se observa ca, practic, ceea ce realizeaza aceasta afisare este metoda "WriteLine" aflata in cadrul clasei Console din namespace-ul System. Daca sterg "using System;" de la inceput si pun in loc de "Console.WriteLine("Hello World!");", "System.Console.WriteLine("Hello World!");" este exact acelasi lucru, programul va executa corespunzator aceleasi instructiuni.

 

In final, instructiunea " Console.ReadKey();" are rolul de a "tine ecranul", mai exact de a mentine consola deschisa pentru ca noi sa putem vedea mesajul instruciunii anterioare. Nu este o instructiune absolut necesara, ea difera in functie de mediul de dezvoltare: in SharpDevelop este necesara pe cand in MonoDevelop poate fi omisa. Este un fel de getchar() din C-ul standardului 98.

Cam asta ar fi o succinta prezentare a instructiunilor prezente in aproape orice program scris in C#. Trebuie mentionat faptul ca C# este un limbaj extrem de raspandit in randurile dezvoltatorilor pentru modul in care opereaza cu obiectele pentru ca, de altfel, orice exista in acest limbaj este un obiect.

C# a fost creat de Microsoft ca un raspuns celor de la Sun Microsystems care au creat fantasticul limbaj Java.

© Ionita Cosmin 

Addons  (cate vizionari are site-ul)

Primul meu joc in C++

Nu este un joc din acela de care stiti voi cu animatii, masini sau efecte care te dau pe spate (nu am cunostintele necesare) ci unul simplu si interesant. Jocul consta in afisarea pe ecran a 4 litere mari din alfabetul englezesc timp de 3 secunde. Dupa 3 secunde, toate literele dispar in locul lor aparand doar 3 dintre ele. Utilizatorul trebuie sa introduca litera corecta pentru a primi 10 puncte in caz contrar i se va scadea 10 puncte. Atunci cand jucatorul ajunge la 100 de puncte, jocul se opreste. Ideea este destul de ok, de aceea m-am si apucat sa implementez. Recunosc ca ideea nu e originala ci este preluata dintr-o carte veche cu limbajul de programare Basic. Aici o sa postez codul, pentru ca asta e toata frumusetea.

 #include<iostream>              // The first game in C++. A simple one.
#include<cstdlib>
#include<ctime>
#include<windows.h>
#include<iomanip>
#include<cstring>
using namespace std;
void initializare(void);
void etapa(void);
int comparasion(char x[10]);
char alf[28], etp[5], x, sten[10];
int  i, k, q, puncte;
int main()
{
            cout<<setw(40)<<"char Reminder! ";
            cout<<"\n\nchar Reminder este un joc foarte simplu";
            cout<<"\n\nTot ce trebuie sa faceti este sa memorati 4 litere in timp de aproximativ 2 secunde";
            cout<<"\n\nDupa 2 secunde, o litera din cele 4 va disparea. Va trebui sa tastati litera care lipseste";
            cout<<"\n\nSimplu, nu?";
            cout<<"\n\nCand sunteti pregatit, tastati cuvantul START";
            cout<<"\n\nDaca doriti sa iesiti, tastati cuvantul IESIRE in locul literei corespunzatoare sau in loc de ";
            cout<<"cuvantul START \n";
            cin.getline(sten, 10);

            if(comparasion(sten)==1)
            {
               cout<<"\nOK! Sa incepem!";
               initializare();
               etapa();
            }
            else if(comparasion(sten)==2)
                   return (0);
            return 0;

}
void initializare(void)
{
    for(int i=0; i<26; i++)
    {
        alf[i]='A'+i;
    }
}
void etapa(void)
{  while(puncte!=100)
   { srand(time(NULL));
    cout<<"\nAcesta este sirul: ";
    for(i=1; i<=4; i++)
    {
        k=rand()%26;
        cout<<alf[k]<<" ";
        etp[i]=alf[k];
    }
    Sleep(3000);
    #ifdef __cplusplus__
      #include<cstdlib>
    #else
      #include<stdlib.h>
    #endif
     if(system("CLS"))
       system("clear");
    cout<<"\nAcesta este sirul fara o litera:";
    srand(time(NULL));
    q=rand()%4+1;
    cout<<"   "<<q<<"     ";
    for(i=1; i<q; i++)
    {  cout<<etp[i]<<" ";
    }
    for(i=4; i>q; i--)
    {
        cout<<etp[i]<<" ";
    }
    cout<<"\nTastati litera care lipseste! ";
    cin>>x;
    srand(0);
    if(x==etp[q])
    {   puncte=puncte+10;
        cout<<"Corect!!!";
    }
    else
    {   cout<<"Gresit!!! ";
        if(puncte==0)
        {
            puncte=0;
        }
        else
        puncte=puncte-10;

    }
    if(puncte==100)
    {
        cout<<"\nFelicitari!!! Ati castigat 100 de puncte!";
    }
   }
}
int comparasion(char x[10])
{    char k[100]="START";
     bool ok=true;
    for(int i=1; x[i]!=NULL; i++)
    {
        if(x[i]==k[i])
        ok=true;
        else
        ok=false;
        if(ok==false)
         return 0;
    }
    if(ok==true)
    return (1);
    k[1]='I'; k[2]='E'; k[3]='S'; k[4]='I'; k[5]='R'; k[6]='E';
    for(int i=1; x[i]!=NULL; i++)
    {
        if(x[i]==k[i])
        ok=true;
        else
        ok=false;
        if(ok==false)
         return 0;
    }
    if(ok==true)
    return (2);
}

Pentru a juca efectiv jocul trebuie sa instalati in computer un IDE precum Code::Blocks sau MinGW. La o simpla cautare pe google a unuia dintre aceste IDE-uri, imediat veti gasi site-urile de download.

Enjoy!

 © Ionita Cosmin