Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/10/13 in all areas

  1. Inca cateva chestii: Am uitat, fputc iti scrie doar un caracter. fputs iti scrie un string. Lucrul cu structurile este usor. Poti sa te gandesti la o structura ca si la o clasa de lucruri. Si pe care o definesti ca pe o variabila. Daca luam exemplul tau cu produsul, ai avea un concept produs catre trebuie descris. Pentru a face aste te gandesti la ce proprietati are un produs si ajungi la concluzia ca are un cod de produs, un nume si o unitate de masura(litri, kg etc). In C nu ai tipuri de variabile pentru tot ce exista pe aceasta lume, din cauza asta trebuie sa iti definesti tu tipul. Deci ai o structura care iti defineste produsul. Daca ne gandim la cele 3 proprietati identificate pe rand avem asa: codul de produs este un numar, deci o sa ai un int. Dupa asta te gandesti ca acel cod poate sa fie foarte mare asa ca poti sa faci acest atribut long. numele produsului este un text, deci ai facut un array de 100 caractere care formeaza numele prodului unitatea de masura poate sa fie orice de la kg, litru, metrii etc asa ca pentru simplitate si pentru a nu defini fiecare tip, poti sa faci si acest atribut ca si string. Deci ti-ai definit o variabila de tip produs cu caracteristicle descoperite mai sus struct produse{ long cod; char nume[100]; char unitate[20]; }; Dupa asta ai zis ca vrei sa folosesti ace structura ca pe orice alta variabila(primitiva). Cum este int, char etc... typedef struct produse PRODUS; Dupa asta ai initializat variabila: PRODUS p; Pentru ca multe functii iti cer un pointer la tipul de date, ai creat un pointer catre variabila PRODUS si ai zis ca sa pointeze catre adresa lui PRODUS p astfel ca accesezi variabila p prin intermediul pointerului care reprezinta adresa la care se gaseste p in memorie. PRODUS *pp = &p // pointer la tipul PRODUS este egal cu adresa variabilei p; Dupa asta ai accesat campurile structurii, asta o faci ca si lucrul cu orice alta variabila: Exemplu: pp->cod = 542; este acelasi lucru ca si cum ai asigna o valoare unui long. long cod = 542 La fel si cu celelalte variabile de tip char. Atentie! Daca ai un pointer cum este pp trebuie sa accesezi campurile structurii PRODUS prin -> Adica: pp->nume Daca nu ai pointer la structura si vrei sa o folosesti in mod normal, trebuie sa accesezi campurile cu . Adica: p.nume Intotdeauna folosesti -> pentru pointeri si . pentru variabile care nu sunt pointeri. De ce sunt utile structurile? Structurile sunt utile pentru ca daca ai de exemplu o functie care ia ca si argumente un Angajat si sa zicem un departament pe care este angajat, este mult mai simplu de folosit decat in cazul in care ar trebui sa pui variabila pentru fiecare atribut ale acestor doua concepte. Exemplu: struct Angajat { long cod; char[100] nume; char[100] adresa; float salar; }; struct Departament { long cod; char[100] nume; char[100] sef; char[100] locatie; }; //ai functia: void arataDetaliiAngajat(Angajat a, Departament d); Sau daca nu ai folosi structuri si ai vrea sa faci aceasi functie, ar arata ceva de genul: void arataDetaliiAngajat(long cod_angajat, char *nume_angajat, char *adresa_angajat, float salar_angajat, long cod_departament, char *nume_departament, char *sef_departament, char *locatie_departament) Care dintre cele doua exemple de functii ti se pare mai usor de folosit? Ce s-ar intampla daca Angajat si Departament ar avea si alte atribute mai complexe? Cum ar arata atunci functia daca nu ai folosi structuri ci doar variabile primitive cum sunt int, long, char etc... ? Daca nu ai inteles si mai ai intrebari posteaza si incercam sa te ajutam. Bafta!
    2 points
  2. About SQLidot Name: SQLidot Description: SQL Injection/Vulnerability Tool Coder: Kwelwild Design: Sykandar Full Theme Theme Credits: Aeonhack, Mavamaarten, Support™ Made in: Romania, Europe Date/Hour: 13-March-2013@21:15 PM Options: SQL Injection Scanner SQL Injection (3 Methods) -Blind SQLi -Error Based -Bypass Find Admin (Login Page) All Encrypt/Decrypt 2 Subdomain Scanners Images: Scanner: SQL Injection: Find Admin: Encrypt-Decrypt: Subdomain Scanner: Informations: Virus Scan: Screenshot - NovirusThanks Download Link(s): UppIT.com GirlShare
    1 point
  3. Procurorii Direc?iei de Investigare a Infrac?iunilor de Criminalitate Organizat? ?i Terorism au re?inut nou? persoane din Craiova, acuzate c? fac parte dintr-o grupare care a confec?ionat, distribuit ?i montat aparatur? de tip skimming pe ATM-uri din state ale Uniunii Europene, Cambogia sau Coreea. Potrivit unui comunicat al DIICOT, datele de identificare copiate erau folosite pentru falsificarea unor mijloace de plat? electronic?, utilizate ulterior pentru efectuarea de retrageri sau opera?iuni financiare frauduloase. La data de 5/6 aprilie 2013, în baza informa?iilor furnizate de c?tre procurorii DIICOT, autorit??ile judiciare franceze au re?inut în Fran?a patru membri ai grup?rii. De asemenea, pe 8 aprilie, procurorii DIICOT au prins al?i trei membri ai grup?rii, pe raza municipiului Craiova, în timp ce transportau cu un autoturism aparatur? ?i echipamente de skimming. Procurorii DIICOT au efectuat luni 18 perchezi?ii domiciliare în jude?ele Dolj ?i Hunedoara, la locuin?ele membrilor grup?rii, în vederea identific?rii de mijloace de prob?. Cercet?rile în cauz? au fost efectuate împreun? cu ofi?eri de poli?ie judiciar? din cadrul BCCO Craiova ?i cu sprijinul lucr?torilor din cadrul SAS - IPJ Dolj, SCCO Gorj, IJJ Craiova, suportul informatic fiind asigurat de c?tre DIPI Dolj ?i SOS Craiova. DIICOT coopereaz? în instrumentarea cauzei cu autorit??ile judiciare franceze. O parte din membrii grup?rii au fost anterior trimi?i în judecat? în 2012, pentru comiterea de infrac?iuni informatice.AGERPRES Sursa: DIICOT: Nou? persoane din Craiova, re?inute pentru falsificare de carduri bancare
    1 point
×
×
  • Create New...