Par problema u jeziku c#

vlada84

Početnik
Poruka
35
Imam par zadataka koje nikako ne umem da resim (jos uvek sam pocetnik u C programiranju)
1. Otvoriti graficki rezim rada i ispisati svoje ime i prezime u obliku kvadrata, priblizno na sredini ekrana.
2. Nacrtati plavi kvadrat na npr. zutoj pozadini.
3. Kako konvertovati u nekom stringu mala slova u velika ?
Mozda su pitanja malo vise pocetnicka, ali nemojte mi zameriti, jer cu mozda biti prinudjen da vam postavim jos neka, meni ne jasna. Inace koristim turbo c++, takodje i Microsoft visual c++ (VS 6.0).
Hvala puno!
 
Evo ti 3. posto je on jedini konzolni. A ova sa GUI su ti veoma lagana.

Kod:
/////		MILJAN SUCUR
/////		23.08.2006 - 18:43
/////		KONVERTOVANJE MALIH U VELIKA SLOVA

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

void transform(char*);

int main()
{
char nText[] = "Zdravo, nakon POkretaNJA pRograma sve CE biti Velika Slova !";
transform(nText);
return 0;
}

void transform(char *text)
{
int tLen = strlen(text);

for(int i = 0; i < tLen; i++)
{
if((text[i] > 96) && (text[i] < 120))
printf("%c", text[i] - 32);
else
printf("%c", text[i]);
}
printf("\n\n%s\n\n", "Izlazim ...");
}
 
#include<stdio.h>

void uvecaj(char *zn)
{
int i;
for( i = 0; zn != '\0'; i++)
if( zn >= 'a' && zn <= 'z' )
zn = 'A' + (zn-'a');
}

int main(void)
{
char txt[] = "Da Nije Ovog Texta Ekran Bi bio PRAZaN !";
uvecaj(txt);
printf("Poruka sa uvelicanim slovima -> \"%s\" \n", txt);
return 0;
}

Eto i od mene :)
Ovo je treci a ona prva dva ne znam :(
 
vlada84:
Mozes li mi samo objasniti zasto bas zn = 'A' + (zn-'a'); ?
Takodje sta znaci \'0' ?
Hvala!

1. 'A' ima vrijednost 65 u ASCII-u, 'B' 66 itd itd, dakle na 65 dodaje broj odgovarajuceg karaktera iz abecede.
Dakle ovako to nekako izgleda (uzmimo na primjer slovo 'c'):

Kod:
zn[i] = 65 + (99-97);
// Sto je dakle 67, a char(67) == 'C';

2. '\0' je karakter koji oznacava kraj niza karaktera.
 
toxi:
Sukure a sto ne odgovori coveku u vezi prva dva pitanja? :(
Mogu mu odgovoriti sta da koristi, al' za ono da mu pisem kod nemam vremena.
Uglavnom nauci prvo kreirati prazan prozor, ako koristis naravno win32 api, e onda su ti u par linija koda zavrsena oba zadatka.
Prvi recimo mozes izvesti koristeci TextOut funkciju, a mozes i postaviti neku kontrolu za ispis istog.
A za drugi koristi GDI funkcije za istrtavanje vadrata.
 
evo ti primer iz u visual c++ .NET -u , a jako je lako prepisati kod , kad shvatis jedan , drugi ces lako :)

ovo je primer iz knjige visual c++ .NET , korak po korak , vezba 18



uputstvo:
1)instalirati visual c++ express edition 2005( besplatan , 1 godina) http://msdn.microsoft.com/vstudio/express/visualc/download/ ,
ili vec neku licenciranu verziju visual studio-a :)
2)uci iz visual studio 2005 command prompt-a u folder gde su CppForm.cpp
3) otkucati :
cl /clr: oldSyntax Prozor.cpp -Feprozor.exe
// spojiti o sa : , posto kad se napisu zajedno , dobije se smiley , pa bi to bilo zbuljujuce
enter
prozor
enter

trebalo bi da proradi.



CppForm.cpp:
Kod:
#using <mscorlib.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::Drawing::Drawing2D;

__gc class Prozor : public Form
{
        public:
Prozor()
{
Text=S"Tekst";
ClientSize=System::Drawing::Size(300,300);
Button *dugme=new Button();
dugme->Text=S"Crtaj";
dugme->Location=Point(200,220);
Controls->Add(dugme);
dugme->Click+=new EventHandler(this,&Prozor::pritisnuto_dugme);
}
void pritisnuto_dugme(Object* sender,EventArgs* arg)
{
Graphics* g=CreateGraphics();
Pen* olovka=new Pen(Color::Black);
g->DrawLine(olovka,20,20,100,100);
g->Dispose();
}

};

int main()

{
    Console::WriteLine(S"Forms Example");

    Application::Run(new Prozor());
    return 0;
}
 

Back
Top