Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Cateva aplicatii care "au in spate" C sau C++

c



+ Font mai mare | - Font mai mic



Cateva aplicatii care "au in spate" C sau C++.



1 Sortarea elementelor unui sir de numere reale prin metoda bulelor. Program pretext pentru modularizare. Se utilizeaza fisierul antet facilcrt.h prezentat in continuarea acestei sectiuni.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include'facilcrt.h'

#include<string.h>

#define _lms 100

#define _optiune '123'

void prelsir();

char prelopt();

void sort();

int dims;

float x[ _lms];

//Functia principala..   

void main()

while (op!='3');

//Preluare optiuni program   

char prelopt()

while (strchr(_optiune,c)==NULL);

return c;

//Preluare elemente sir   

void prelsir()

//Determinare maxim   

void sort()

}

}

while(!sortat);

//Afisare sir sortat

clrscr();

makewin2(20,5,60,5);

gotoxy(20,5);

printf('Sirul sortat este');

makewin2(20,8,60,7+dims);

gotoxy(20,7);

for (i=0;i<dims;i++)

getch();

2 Fsier antet care incapsuleaza cateva facilitati de lucru in mod text, utile pentru realizarea unor interfete agreabile ale programelor cu utilizatorii. Numit in exemplul precedent prin facilcrt.h.

#include <conio.h>

#include <stdio.h>

#include <string.h>

#define css 1

//Afisare text dinspre capete

void converg(int end,int linie,char *mesaj)

getch();

//Activare video-invers

void avideo()

//dezactivare video-invers

void dvideo()

//Afisare centrata text in interiorul unei linii

void acentext(int ls, int ld, int linia, char *sir)

//Construire fereastra cu rama dreptunghiulara de //dimensiuni specificate

void makewin2(int ass, int oss, int adj, int odj)

for(i=oss;i<=odj;i++)

gotoxy(ass-1,oss-1);

printf('311');

gotoxy(adj+1,oss-1);

printf('273');

gotoxy(ass-1,odj+1);

printf('310');

gotoxy(adj+1,odj+1);

printf('274');

else

3 Aplicatie pretext pentru lucru cu tablouri, folosind pointeri.

Mai precis, codul prezentat mai jos rezolva urmatoarele probleme:

-alocarea dinamica a memoriei pentru un tablou bidimensional cu numar de linii si coloane precizate;

-citirea elementelor unui tablou bidimensional;

-transpunerea unei matrice;

-afisarea elementelor unei matrice;

#include <conio.h>

#include<iostream.h>

int i,j;

//Alocare dinamica a memoriei pentru o matrice de intregi

//Numarul de linii si coloane sunt precizate prin lista de

//parametri

void almemmat(int **p,int nl,int nc)

//Citirea elementelor matricei de intregi de la tastatura

void citmat(int **p,int nl,int nc)

//Afisarea matricei de intregi

void afismat(int **p,int nl,int nc)

//Transpunerea matricei

void transpun(int **p,int **q,int nl,int nc)

//Functia principala

void main()

4 Sortarea unui sir de numere intregi prin metoda HEAP_SORT. Se utilizeaza reprezentarea liniara a unui arbore binar.

#include<iostream.h>

#include<conio.h>

const int MAX_LIST_SIZE=100;

typedef int element;

typedef element list_type[MAX_LIST_SIZE];

typedef int boolean;

void walk_down(list_type list, int j, int n)

else

found_spot=1;

list[i]=ref;

void heap_sort(list_type list, int n)

y=n;

while(y>0)

void main()

heap_sort(list,nrel);

clrscr();

for(i=0;i<nrel;i++)

cout<<list[i]<<endl;

getch();

5 Rasfoirea unui fisier text si contorizarea aparitiilor unui caracter intr-un fisier text utilizand fluxuri binare.

#include <fstream.h>

#include <stdlib.h>

#include 'facilcrt.h'

char optiuni[]='1234';

char *nf;

int sfs;

//Semnatura functie prelopt()

char prelopt();

//Semnatura functie selnumef()

char *selnumef();

//Semnatura functie rasfft()

void rasfft(char *n);

//Semnatura functie detstatcar()

void detstatcar();

//Implementare functie principala

void main()

}

while (2>1);

//Implementare functie detstatcar()

void detstatcar()

else

gotoxy(20,11);

cout<<'Numar de aparitii:'<<cont;

getch();

}

else

//Implementare functie selnumef()

char *selnumef()

while(strlen(n)==0);

return n;

//Implementare functie rasfft()

void rasfft(char *n)

else

cout<<ch;

}

getch();

}

else

//Implementare functie prelopt()

char prelopt()

6 Modelarea C a unor facilitati de lucru cu memoria video in mod text.

Exemplul de cod prezentat mai jos ilustreaza, in alt context, utilitatea pointerilor, precum si o serie de elemente tehnice referitoare la scrierea/citirea in/din memoria video, atunci cand se lucreaza in mod text.

#ifndef _stdio_h

#include<stdio.h>

#define _stdio_h

#endif

#ifndef _conio_h

#include<conio.h>

#define _conio_h

#endif

#ifndef _string_h

#include<string.h>

#define _string_h

#endif

#define startcol1 16

#define startcol2 36

#define startcol3 56

#include<dos.h>

#include<iostream.h>

#include<stdlib.h>

//Variabila in care se pastreaza adresa memoriei video

char far *mem_vid;

int afcent(int lin,char s[80]);

void codasc();

void antet();

int mod_video();

void setvptr();

void scrie_car(int x,int y,char ch,int atrib);

void scrie_sir(int x,int y,char *p,int atrib);

//Functia returneaza modul video corespunzator

//echipamentului pe care se ruleaza programul

int mod_video()

//Functia seteaza adresa memoriei video in functie de

//modul video curent

void setvptr()

if(vmod==7)

mem_vid=(char far *) 0xB0000000;

else mem_vid=(char far *)0xB8000000;

//Functia permite scrierea unui caracter direct

//in memoria video pe linie si coloana specificate

void scrie_car(int x,int y,char ch,int atrib)

//Functia permite scrierea unui sir de caractere

//in memoria video pe linie si coloana specificata

void scrie_sir(int x,int y,char *p,int atrib)

//Afisarea antetului tabelei de coduri ASCII

void antet()

//Afisare coduri ASCII pe trei coloane

void codasc()

else

switch(col)

case 2:

case 3:

;

}

lin++;

gotoxy(cc,nrcan+lin);printf('%i',i);

gotoxy(cc+7,nrcan+lin);printf('%c',(char)i);

gotoxy(1,23);

for(j=0;j<78;j++)

printf('xf');

gotoxy(1,24);

printf('Pentru terminare apasati o tasta.');

getch();

//Afisare centrata text pe o linie specificata

int afcent(int lin,char s[80])

7 Modelarea C++ a operatiilor cu siruri de caractere. Problema pretext pentru aplicarea corecta a principiului incapsularii, pentru utilizarea in functie de cerinte a constructorilor in specificarea comportamentului unei clase, pentru redefinirea unor operatori uzuali in lucru cu siruri de caractere (concatenarea polimorfica, adresarea unui caracter al tabloului de caractere, etc.).

#include <stdio.h>

#include<string.h>

//Clasa modeleaza lucrul cu siruri de caractere in C++

//class string

//Implementare functii membre

//Implementare constructor creare sir vid

string::string(int)

//Implementare constructor de copiere obiect deja creat

string::string( string & x)

//Implementare constructor de copiere sir obisnuit

string::string(char sir[])

//Implementare redefinire operator atribuire obiect

void string::operator=(string x)

//Implementare redefinire operator atribuire pentru copiere //sir

void string::operator=(char sir[])

//Implementare redefinire operator de testare egalitate //siruri

int string::operator==(string & x)

//Implementare redefinire operator de comparare >

int string::operator>(string & x)

//Implementare redefinire operator de comparare <

int string::operator<(string & x)

//Implementare concatenare a doua siruri

string string::operator+(string & x)

//Implementare destructor

string::~string()

//Implementare redefinire operator []

char &string::operator[](int i)

//implementare extragere sir ca functie prietena

char * sir(string &x)

//Implementare redefinire operator de concatenare

//Varianta obiect+sir

string operator+(string &x, char s[])

//Implementare redefinire operator de concatenare

//Varianta sir+obiect

string operator+(char s[],string &x)

8 Aplicatie care ilustreaza lucrul cu fisiere cu tip in C++

Din nou o problema pretext, care se refera la actualizarea unui fisier in care se pastreaza intrebarile unui test si raspunsurile corecte, presupunand ca o intrebare are mai multe alternative de raspuns.

#include <conio.h>

#include <stdio.h>

#include <iostream.h>

#include <ctype.h>

#include<stdlib.h>

#include <string.h>

#include <fstream.h>

char optiuni[]='1234567';

char *nf;

int sfs,nri;

//Tipul inregistrare

typedef struct struct_test

t_inr_fis;

//Variabila inregistrare

t_inr_fis inr;

//Functia permite preluarea optiunilor programului

char prelopt();

//Functia permite selectarea numelui fisierului de lucru

char *selnumef();

//Functia permite crearea fisierului

void crefis();

//Functia permite adaugarea de inregistrari in fisier

void adinfis();

//Functia permite steregerea unei inregistrari din fisier

void steinfis(int nrint);

//Functia permite vizualizarea inregistrarilor fisierului

void vizfis();

void selin(int ni);

//Implementare functie principala

void main()

case '5': vizfis();

break;

case '6': ;

case '7': break;

}

}

while (op!='7');

void selin(int ni)

else

void steinfis(int nrint)

else

fmanout.close();ftestin.close();

//Implementare crefis()

void crefis()

while (!(toupper(ras)=='N'));

ftestout.close();

//Implementare adinfis()

void adinfis()

while (!(toupper(ras)=='N'));

ftestout.close();

else

//Implementare vizfis()

void vizfis()

};

ftestin.close();

else

//Implementare selnumef()

char *selnumef()

while(strlen(n)==0);

return n;

//Implementare prelopt()

char prelopt()



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 942
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved