Sunteți pe pagina 1din 23

Problemă: 1

Preluați de la utilizator mai multe valori numerice. Realizați o secvență de program care
să furnizeze numărul de valori mai mari decât 10.

int n, i;
n = Int32.Parse(Interaction.InputBox("Precizati numarul elementelor"));
int[] elemente = new int[n];
for (i = 0; i < elemente.Length; i++)
elemente[i] = Int32.Parse(Interaction.InputBox("precizati elementul nr. " + (i +
1)));
int a;
a = Int32.Parse(Interaction.InputBox("precizati a"));
for (i = 0; i < elemente.Length; i++)

if (elemente[i] > a)
MessageBox.Show("numerele mai mari decat 10 sunt " + elemente[i]);
Problemă: 2

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să implementați complet operațiunea de adăugare a unei noi
mașini de către utilizator.

OleDbConnection conexiune;
conexiune = new OleDbConnection();
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\masini.accdb;Persist Security Info=False;";
conexiune.ConnectionString = sirConectare;
Try
{
conexiune.Open();
OleDbCommand comanda;
comanda = new OleDbCommand();
comanda.CommandText = "INSERT INTO masini
(CodMasina,DenMasina,Marca,Pret) VALUES
(@CodMasina,@DenMasina,@Marca,@Pret)";
comanda.Parameters.AddWithValue("CodMasina", txtCodMasina.Text);
comanda.Parameters.AddWithValue("DenMasina", txtDenMasina.Text);
comanda.Parameters.AddWithValue("Marca", txtMarca.Text);
comanda.Parameters.AddWithValue("Pret", txtPret.Text);
comanda.Connection = conexiune;
comanda.ExecuteNonQuery();
1
MessageBox.Show("Am adaugat noua masina in BD");
}
catch (Exception eroare)
{
MessageBox.Show("A aparut o eroare " + eroare.Message.ToString());
if (conexiune.State == ConnectionState.Open)
conexiune.Close();
}
Problemă: 3

Preluați de la utilizator mai multe valori numerice. Realizați o secvență de program care
să afișeze valoarea maximă dintre acele valori.

int n, i;
n = Int32.Parse(Interaction.InputBox("Precizati numarul elementelor"));
int[] elemente = new int[n];
for (i = 0; i < elemente.Length; i++)
elemente[i] = Int32.Parse(Interaction.InputBox("precizati elementul nr. " + (i +
1)));
int maxim;
maxim = elemente[0];
for (i = 0; i < elemente.Length; i++)
if (elemente[i] > maxim)
maxim = elemente[i];
MessageBox.Show("numarul maxim este " + maxim);
Problemă: 4

Aveți o bază de date care conține tabela Examene (codExamen, denExamen,


numeProfesor, numarStudentiExaminati). Realizați o secvență de program care să afișeze
numărul total de studenți examinați la un anumit examen. Denumirea examenului
respectiv va fi precizată de utilizator și veți folosi comenzi parametrizate.

OleDbConnection conexiune;
OleDbCommand comanda;
OleDbDataReader cititor;
DataSet dsDate;
DataTable tblexamene;

string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\examene.accdb;Persist Security Info=False;";
conexiune = new OleDbConnection();
2
conexiune.ConnectionString = sirConectare;
Try

{
conexiune.Open();
comanda = new OleDbCommand();
comanda.CommandText = "SELECT NumarStudentiExaminati FROM
examene WHERE DenExamen=@DenExamen";
comanda.Parameters.AddWithValue("DenExamen", txtDenExamen.Text);
comanda.Connection = conexiune;
cititor = comanda.ExecuteReader();
dsDate = new DataSet();
tblexamene = new DataTable("e");
tblexamene.Load(cititor);
dsDate.Tables.Add(tblexamene);
int i;
int numarStudentiExaminati;
for (i = 0; i < dsDate.Tables["e"].Rows.Count; i++)
{
numarStudentiExaminati =
int.Parse(dsDate.Tables["e"].Rows[i].ItemArray[0].ToString());

MessageBox.Show("La examenul " + txtDenExamen.Text + " se vor


prezenta " + numarStudentiExaminati);
}
}
catch (Exception eroare)
{
MessageBox.Show("A aparut o eroare " + eroare.Message.ToString());
if (conexiune.State == ConnectionState.Open)
conexiune.Close();
}
Problemă: 5

Preluați de la utilizator mai multe valori numerice. Realizați o secvență de program care
să afișeze valoarea minimă dintre acele valori.

int n, i;
n = Int32.Parse(Interaction.InputBox("Precizati numarul elementelor"));
int[] elemente = new int[n];
for (i = 0; i < elemente.Length; i++)
elemente[i] = Int32.Parse(Interaction.InputBox("precizati elementul nr. " + (i + 1)));

3
int minim;
minim = elemente[0];
for (i = 0; i < elemente.Length; i++)
if (elemente[i] < minim)
minim = elemente[i];
MessageBox.Show("numarul maxim este " + minim);
Problemă: 6

Aveți o bază de date care conține tabela Examene (codExamen, denExamen,


numeProfesor, numarStudentiExaminati). Realizați un formular în care să implementați
complet operațiunea de modificare a unui examen din baza de date, folosind comenzi
parametrizate.

OleDbConnection conexiune;
OleDbCommand comanda;
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\examene.accdb;Persist Security Info=False;";
conexiune = new OleDbConnection();
conexiune.ConnectionString = sirConectare;
Try
{
conexiune.Open();
comanda = new OleDbCommand();
comanda.CommandText = "UPDATE examene SET
DenExamen=@DenExamen WHERE CodExamen=@CodExamen";
comanda.Parameters.AddWithValue("DenExamen", txtDenExamen.Text);
comanda.Parameters.AddWithValue("CodExamen", txtCodExamen.Text);

comanda.Connection = conexiune;
comanda.ExecuteNonQuery();
MessageBox.Show("La examenul " + txtDenExamen.Text + " a fost schimbata
denumirea ");
}
catch (Exception eroare)
{
MessageBox.Show("A aparut o eroare " + eroare.Message.ToString());
if (conexiune.State == ConnectionState.Open)
conexiune.Close();
}

4
Problemă: 7

Preluați de la utilizator mai multe valori numerice. Realizați o secvență de program care
să afișeze suma pătratelor acelor valori.

int n, i;
n = Int32.Parse(Interaction.InputBox("Precizati numarul elementelor"));
int[] elemente = new int[n];
for (i = 0; i < elemente.Length; i++)
elemente[i] = Int32.Parse(Interaction.InputBox("precizati elementul nr. " + (i + 1)));

int suma = 0;
int patrat;
for (i = 0; i < elemente.Length; i++)
{
patrat = elemente[i] * elemente[i];
suma = suma + patrat;
}
MessageBox.Show("suma patratelor este " + suma);
Problemă: 8

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să implementați complet operațiunea de ștergere a unei
mașini de către utilizator.

OleDbConnection conexiune;
conexiune = new OleDbConnection();
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\masini.accdb;Persist Security Info=False;";
conexiune.ConnectionString = sirConectare;
Try
{
conexiune.Open();
OleDbCommand comanda;
comanda = new OleDbCommand();
comanda.CommandText = "DELETE FROM masini WHERE
CodMasina=@CodMasina";
comanda.Parameters.AddWithValue("CodMasina", txtCodMasina.Text);

comanda.Connection = conexiune;
comanda.ExecuteNonQuery();
5
MessageBox.Show("Am sters masina din BD");
int nrInregistrariAfectate;
nrInregistrariAfectate = comanda.ExecuteNonQuery();
if (nrInregistrariAfectate > 0)

MessageBox.Show("Am sters " + nrInregistrariAfectate);


Else
MessageBox.Show("Nu a fost cazul sa stergem");
}
catch (Exception eroare)
{
MessageBox.Show("A aparut o eroare " + eroare.Message.ToString());
if (conexiune.State == ConnectionState.Open)
conexiune.Close();
}
Problemă: 9

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să implementați complet operațiunea de navigare prin setul
de înregistrări.

public partial class Form1 : Form


{
public Form1()
{
InitializeComponent();
}
OleDbConnection conexiune;
OleDbCommand comanda;
DataSet dsDate;
OleDbDataReader cititor;
DataTable tblmasini;
int linieCurenta;
public void initializareDate()
{
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\masini.accdb;Persist Security Info=False;";
conexiune = new OleDbConnection();
conexiune.ConnectionString = sirConectare;
conexiune.Open();
comanda = new OleDbCommand();
6
comanda.CommandText = "SELECT CodMasina, DenMasina, Marca, Pret
FROM masini";
comanda.Connection = conexiune;
cititor = comanda.ExecuteReader();
tblmasini = new DataTable("m");
tblmasini.Load(cititor);
dsDate = new DataSet();
dsDate.Tables.Add(tblmasini);
conexiune.Close();
}

private void btnPrecedentul_Click(object sender, EventArgs e)


{
if (linieCurenta == 0)
{
linieCurenta = dsDate.Tables["m"].Rows.Count - 1;
}
else
linieCurenta--;
txtCodMasina.Text =
dsDate.Tables["m"].Rows[linieCurenta].ItemArray[0].ToString();
txtDenMasina.Text =
dsDate.Tables["m"].Rows[linieCurenta].ItemArray[1].ToString();
txtMarca.Text =
dsDate.Tables["m"].Rows[linieCurenta].ItemArray[2].ToString();
txtPret.Text = dsDate.Tables["m"].Rows[linieCurenta].ItemArray[3].ToString();

private void Form1_Load(object sender, EventArgs e)


{
initializareDate();
linieCurenta = 0;
txtCodMasina.Text = dsDate.Tables["m"].Rows[0].ItemArray[0].ToString();
txtDenMasina.Text = dsDate.Tables["m"].Rows[0].ItemArray[1].ToString();
txtMarca.Text=dsDate.Tables["m"].Rows[0].ItemArray[2].ToString();
txtPret.Text=dsDate.Tables["m"].Rows[0].ItemArray[3].ToString();
}

private void btnUrmatorul_Click(object sender, EventArgs e)


{
if (linieCurenta == dsDate.Tables["m"].Rows.Count - 1)
7
linieCurenta = 0;
else
linieCurenta++;
txtCodMasina.Text =
dsDate.Tables["m"].Rows[linieCurenta].ItemArray[0].ToString();
txtDenMasina.Text =
dsDate.Tables["m"].Rows[linieCurenta].ItemArray[1].ToString();
txtMarca.Text =
dsDate.Tables["m"].Rows[linieCurenta].ItemArray[2].ToString();
txtPret.Text = dsDate.Tables["m"].Rows[linieCurenta].ItemArray[3].ToString();
}
Problemă: 10

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să populați un combo-box cu denumirile mașinilor din baza
de date.

OleDbCommand comanda;
OleDbConnection conexiune;
OleDbDataReader cititor;
DataSet dsDate;
DataTable tblmasini;
private void button1_Click(object sender, EventArgs e)
{
try
{
string sirConectare = "Provider = Microsoft.ACE.OLEDB.12.0;Data
Source=F:\\masini.accdb;Persist Security Info=False;";
conexiune = new OleDbConnection();
conexiune.ConnectionString = sirConectare;
conexiune.Open();
MessageBox.Show("Conexiune deschisa");
comanda = new OleDbCommand();
comanda.CommandText = "SELECT CodMasina, DenMasina, Marca, Pret
FROM masini";
comanda.Connection = conexiune;
cititor = comanda.ExecuteReader();
tblmasini = new DataTable("m");
tblmasini.Load(cititor);
dsDate = new DataSet();
dsDate.Tables.Add(tblmasini);
int codmasina;
8
string denmasina;
string marca;
int pret;
for (int i = 0; i < dsDate.Tables["m"].Rows.Count; i++)
{
codmasina =
Int32.Parse(dsDate.Tables["m"].Rows[i].ItemArray[0].ToString());
denmasina=dsDate.Tables["m"].Rows[i].ItemArray[1].ToString();
marca=dsDate.Tables["m"].Rows[i].ItemArray[2].ToString();
pret = Int32.Parse(dsDate.Tables["m"].Rows[i].ItemArray[3].ToString());
comboBox1.Items.Add(denmasina);
}
conexiune.Close();
}
catch(OleDbException eroare)
{
MessageBox.Show("Eroare " + eroare.Message.ToString());
if (conexiune.State != ConnectionState.Closed)
conexiune.Close();
}
Problemă: 11

Implementați un formular în care să se afle o casetă de text, un combo-box și un buton.


Utilizatorul introduce un text în caseta de text și acționează butonul. Dacă textul nu există
deja în combo-box, atunci se adaugă textul în combo-box. Dacă textul există deja în
combo-box, atunci se afișează un mesaj de avertizare.

private void btnAdauga_Click(object sender, EventArgs e)


{
string floare;
floare = txtFlori.Text;
if (floare == "")
MessageBox.Show("Ati uitat sa introduceti numele florii!");
else
{

bool exista;
exista = false;
for (int i = 0; i < cboFlori.Items.Count; i++)
if (floare == cboFlori .Items[i].ToString())
exista = true;
if (exista == false)
9
{
cboFlori.Items.Add(floare);
MessageBox.Show("am adaugat un nume nou");
}
else
MessageBox.Show("numele exista deja in lista");
}
Problemă: 12

Aveți o bază de date care conține tabela Examene (codExamen, denExamen,


numeProfesor, numarStudentiExaminati). Realizați un formular în care să implementați
complet operațiunea de adăugare a unui examen din baza de date, folosind comenzi
parametrizate.

OleDbConnection conexiune;
conexiune = new OleDbConnection();
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\examene.accdb;Persist Security Info=False;";
conexiune.ConnectionString = sirConectare;
try
{
conexiune.Open();
OleDbCommand comanda;
comanda = new OleDbCommand();
comanda.CommandText = "INSERT INTO examene
(CodExamen,DenExamen,NumeProfesor,NumarStudentiExaminati) VALUES
(@CodExamen,@DenExamen,@NumeProfesor,@NumarStudentiExaminati)";
comanda.Parameters.AddWithValue("CodExamen", txtCodExamen.Text);
comanda.Parameters.AddWithValue("DenExamen", txtDenExamen.Text);
comanda.Parameters.AddWithValue("NumeProfesor", txtNumeProfesor.Text);
comanda.Parameters.AddWithValue("NumarStudentiExaminati",
txtNumarStudentiExaminati.Text);
comanda.Connection = conexiune;
comanda.ExecuteNonQuery();
MessageBox.Show("Am adaugat noul examen in BD");
}
catch (Exception eroare)
{
MessageBox.Show("A aparut o eroare " + eroare.Message.ToString());
if (conexiune.State == ConnectionState.Open)
conexiune.Close();
10
}
Problemă: 13

Definiți o structură numită Telefon (codTelefon, numeTelefon, pretTelefon,


reteaTelefon).Preluați de la utilizator mai multe telefoane (într-un vector). Realizați o
secvență de program care să afișeze valoarea totală a telefoanelor dintr-o anumită rețea

public partial class Form1 : Form


{
public Form1()
{
InitializeComponent();
}
public struct Telefon
{
public int CodTelefon;
public string NumeTelefon;
public int Pret;
public string Retea;
}
private void btnAfiseaza_Click(object sender, EventArgs e)
{

Telefon[] listaTelefoane;
listaTelefoane = new Telefon [4];
for (int i = 0; i < listaTelefoane.Length; i++)
{
listaTelefoane[i].CodTelefon = i + 1;
listaTelefoane[i].NumeTelefon = Interaction.InputBox("precizati numele
telefonului nr " + listaTelefoane[i].CodTelefon);
listaTelefoane[i].Pret=Int32.Parse(Interaction.InputBox("Precizati pretul
telefonului " + listaTelefoane[i].NumeTelefon ));
listaTelefoane[i].Retea=Interaction.InputBox("precizati marca telefonlui " +
listaTelefoane[i].NumeTelefon );
}
int suma;
suma=0;
for(int i=0;i<listaTelefoane.Length;i++)
{
if(listaTelefoane[i].NumeTelefon=="Nokia")
suma=suma+listaTelefoane[i].Pret;
}
11
MessageBox.Show("suma telefoanelor nokia este " + suma);
}
Problemă: 14

Implementați un formular în care să se afle o casetă de text, un listbox și un buton.


Utilizatorul introduce un text în caseta de text și acționează butonul. Dacă textul nu există
deja în listbox, atunci se adaugă textul în listbox. Dacă textul există deja în listbox, atunci
se afișează un mesaj de avertizare.

string floare;
floare = txtFlori.Text;
if (floare == "")
MessageBox.Show("Ati uitat sa introduceti numele florii!");
Else
{

bool exista;
exista = false;
for (int i = 0; i < lstFlori.Items.Count; i++)
if (floare == lstFlori.Items[i].ToString())
exista = true;
if (exista == false)
{
lstFlori.Items.Add(floare);
MessageBox.Show("am adaugat un nume nou");
}
Else
MessageBox.Show("numele exista deja in lista");
}

Problemă: 15

Implementați un formular în care se află 2 listbox-uri (lstSursa și lstDestiantie) și un


buton de comandă (btnTransfera). Utilizatorul selectează una sau mai multe valori din
lstSursa și acționează butonul de comandă. Se adaugă în lstDestinatie doar valorile
selectate de utilizator care nu există deja în lstDestinatie.

string copiere;
copiere = lstSursa.Text;
if (copiere != "")
{
12
bool exista;

for (int i = 0; i < lstSursa.SelectedItems.Count; i++)


{
exista = false;
int j;
for (j = 0; j < lstDestinatie.Items.Count; j++)

if (lstSursa.SelectedItems[i].ToString() ==
lstDestinatie.Items[j].ToString())
{
exista = true;
MessageBox.Show("orasul exista deja");
}
if (exista == false)
{
lstDestinatie.Items.Add(lstSursa.SelectedItems[i].ToString());
MessageBox.Show("Am adaugat oras nou");
}

Problemă: 16

Aveți o bază de date care conține tabela Examene (codExamen, denExamen,


numeProfesor, numarStudentiExaminati). Realizați un formular în care să implementați
complet operațiunea de ștergere a unui examen din baza de date, folosind comenzi
parametrizate.

OleDbConnection conexiune;
conexiune = new OleDbConnection();
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\examene.accdb;Persist Security Info=False;";
conexiune.ConnectionString = sirConectare;
Try
{
conexiune.Open();
OleDbCommand comanda;
comanda = new OleDbCommand();
comanda.CommandText = "DELETE FROM examene WHERE
CodExamen=@CodExamen";
comanda.Parameters.AddWithValue("CodExamen", txtCodExamen.Text);
13
comanda.Connection = conexiune;
comanda.ExecuteNonQuery();
MessageBox.Show("Am sters un examen din BD");
}
catch (Exception eroare)
{
MessageBox.Show("A aparut o eroare " + eroare.Message.ToString());
if (conexiune.State == ConnectionState.Open)
conexiune.Close();
}

Problemă: 17

Preluați de la utilizator o serie de nume (șiruri de caractere). Realizați o secvență de


program care să sorteze descrescător acele nume și care să afișeze apoi numele în noua
ordine.

int n, i;
n = Int32.Parse(Interaction.InputBox("Precizati numarul elementelor"));
string[] elemente = new string [n];

for (i = 0; i < elemente.Length; i++)


elemente[i] = Interaction.InputBox("precizati elementul nr. " + (i + 1));

foreach (var item in elemente.OrderByDescending(x => x))


{

MessageBox.Show("noua ordine este " + item);


}
Problemă: 18

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să afișați valoarea totală a mașinilor care au prețul mai mare
de 15000.

OleDbConnection conexiune;
OleDbCommand comanda;
OleDbDataReader cititor;
14
DataSet dsDate;
DataTable tblmasini;
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\masini.accdb;Persist Security Info=False;";
conexiune = new OleDbConnection();
conexiune.ConnectionString = sirConectare;
Try
{
conexiune.Open();
comanda = new OleDbCommand();
comanda.CommandText = "SELECT CodMasina, DenMasina, Marca, Pret
FROM masini";
comanda.Connection = conexiune;
cititor = comanda.ExecuteReader();
dsDate = new DataSet();
tblmasini = new DataTable("m");
tblmasini.Load(cititor);
dsDate.Tables.Add(tblmasini);
int CodMasina;
string DenMasina;
string Marca;
int Pret;
int suma;
suma = 0;
for (int i = 0; i < dsDate.Tables["m"].Rows.Count; i++)
{
CodMasina =
int.Parse(dsDate.Tables["m"].Rows[i].ItemArray[0].ToString());
DenMasina = dsDate.Tables["m"].Rows[i].ItemArray[1].ToString();
Marca = dsDate.Tables["m"].Rows[i].ItemArray[2].ToString();
Pret = int.Parse(dsDate.Tables["m"].Rows[i].ItemArray[3].ToString());

if (Pret > 1500)


suma += Pret;
}
MessageBox.Show("suma masinilor cu pret mai mare de 1500 este egala cu
" + suma);

}
15
catch (OleDbException eroare)
{
MessageBox.Show("eroare la conectare " + eroare.Message.ToString());
if (conexiune.State != ConnectionState.Closed)
conexiune.Close();
}

Problemã: 19

Definiţi o structurã numitã OrdinDePlata (nrOP, platitorOP, beneficiarOP,


valoareOP).Preluaţi de la utilizator mai multe ordine de platã (într-un vector). Preluaţi
apoi un nume într-o variabilã de tip string. Afişaţi valoarea totalã a ordinelor de platã care
au ca platitor persoana cu numele din variabilã.

Problemă: 20

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să preluați de la utilizator o denumire de Marca și apoi să
afișați mașinile aparținând acelei mărci.

OleDbConnection conexiune;
OleDbCommand comanda;
OleDbDataReader cititor;
DataSet dsDate;
DataTable tblmasini;
string sirConectare;
sirConectare = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=E:\\masini.accdb;Persist Security Info=False;";
conexiune = new OleDbConnection();
conexiune.ConnectionString = sirConectare;
Try
{
conexiune.Open();
comanda = new OleDbCommand();
comanda.CommandText = "SELECT CodMasina, DenMasina, Marca, Pret
FROM masini WHERE Marca=@Marca";
comanda.Parameters.AddWithValue("Marca", txtMarca.Text);
comanda.Connection = conexiune;
cititor = comanda.ExecuteReader();
dsDate = new DataSet();
tblmasini = new DataTable("m");
tblmasini.Load(cititor);
16
dsDate.Tables.Add(tblmasini);
int CodMasina;
string DenMasina;
string Marca;
int Pret;

for (int i = 0; i < dsDate.Tables["m"].Rows.Count; i++)


{
CodMasina =
int.Parse(dsDate.Tables["m"].Rows[i].ItemArray[0].ToString());
DenMasina = dsDate.Tables["m"].Rows[i].ItemArray[1].ToString();
Marca = dsDate.Tables["m"].Rows[i].ItemArray[2].ToString();
Pret = int.Parse(dsDate.Tables["m"].Rows[i].ItemArray[3].ToString());

MessageBox.Show("masina cu marca " + txtMarca.Text + "este " +


DenMasina);

}
}
catch (OleDbException eroare)
{
MessageBox.Show("eroare la conectare " + eroare.Message.ToString());
if (conexiune.State != ConnectionState.Closed)
conexiune.Close();
}
Problemă: 21

Implementați un formular pe care se află un listbox cu 3 valori, un buton de comandă și


un combo-box cu 5 valori. Utilizatorul selectează o valoare din combo-box și acționează
butonul.Valoarea selectată se șterge din listbox doar dacă există deja în listă. În cazul în
care valoarea nu există în listă, se afișează un mesaj de avertizare.

Problemă: 22

Preluați de la utilizator mai multe denumiri de produse. Realizați o secvență de program


care să afișeze ultima denumire (conform ordinii alfabetice).
string[] denumire;
int n=Int32.Parse(Interaction.InputBox("N="));
denumire = new string[n];
for (int i = 0; i < n; i++)
denumire[i] = Interaction.InputBox("Dati denumirea nr" + (i + 1));
Array.Sort(denumire);
17
MessageBox.Show(denumire[n - 1]);

Problemă: 23

Aveți o bază de date care conține tabela Examene (codExamen, denExamen,


numeProfesor, numarStudentiExaminati). Realizați un formular în care să afișați
denumirile examenelor susținute de un profesor precizat de utilizator. Veți folosi comenzi
parametrizate.

Problemă: 24

Implementați un formular pe care se află un trackbar, un buton de comandă și o casetă de


text. Utilizatorul acționează trackbar-ul și apoi apasă pe buton.În caseta de text se
afișează valoarea din trackbar. Dacă valoarea este mai mare decât 5, atunci se afișează o
casetă cu un mesaj de avertizare.

private void btnAplica_Click(object sender, EventArgs e)


{
string mesaj="";
if (trkApasa.Value > 5)
mesaj += "valorea este mai mare decat 5";
txtAfiseaza.Text = mesaj;

private void trackBar1_Scroll(object sender, EventArgs e)


{
MessageBox.Show("valoarea curenta este " + trkApasa.Value);
}

Problemã: 25

Definiţi o structurã numitã OrdinDePlata (nrOP, platitorOP, beneficiarOP,


valoareOP).Preluaţi de la utilizator mai multe ordine de platã (într-un vector). Preluaţi
apoi un nume într-o variabilã de tip string. Afişaţi toate ordinele de platã care au ca
beneficiar persoana cu numele din variabilã.

Problemă: 26

18
Implementați un formular pe care se află un control de tip NumericUpDown, o casetă de
text și un buton de comandă. Utilizatorul acționează NumericUpDown și apoi apasă pe
buton. În caseta de text se afișează valoarea din NumericUpDown. Dacă valoarea este
mai mare decât 10, atunci se afișează o casetă cu un mesaj de avertizare.

Problemă: 27

Aveți o bază de date în care se află tabela Masini (codMasina, denMasina, Marca, Pret).
Realizați un formular în care să implementați complet operațiunea de modificare a
datelor unei mașini.

Problemă: 28

Implementați un formular pe care se află un listbox cu 3 valori, un buton de comandă și


un combo-box cu 5 valori. Utilizatorul selectează o valoare din combo-box și acționează
butonul.Valoarea selectată se adaugă în listbox, doar dacă nu există deja în listă. În cazul
în care valoarea deja există în listă, se afișează un mesaj de avertizare.

Problemă: 29

public Form1()
{
InitializeComponent();
}
public int calculeazaTotalPreturi(double [] preturi)
{
double discount;
for (int i = 0; i < preturi.Length; i++)
{
if (preturi[i] > 300 && preturi[i]<500)
discount = 0.12 * preturi[i];
Else
if (preturi[i] > 500 && preturi[i] < 700)
discount = 0.15 * preturi[i];
else
discount = 0.20 * preturi[i];
}
return discount;
}

private void btnDiscount_Click(object sender, EventArgs e)


{
19
int n;
double discount;
n = Int32.Parse(Interaction.InputBox("precizati numarul preturilor"));
double [] preturile;
preturile = new double[n];
for (int i = 0; i < preturile.Length; i++)
{
preturile[i] = Double.Parse(Interaction.InputBox("precizati pretul cu nr " + (i +
1)));
discount = calculeazaTotalPreturi(preturile);

MessageBox.Show("afiseaza discount pret nr " + i + discount);


}

Realizați o mini-aplicație în care să preluați de la utilizator o listă de prețuri.


Implementați funcție care să returneze valoarea discount-ului în funcție de valoarea
prețului (pe tranșe de valori). Parcurgeți lista de prețuri și pentru fiecare preț apelați
funcția de calcul a discount-ului; afișați valoarea corespunzătoare a discount-ului.

Problemã: 30

Realizaţi un formular pe care se aflã douã listbox-uri. Implementaţi douã butoane care
permit adãugarea de noi valori în listbox-urile respective. Implementaţi un al treilea
buton (de comparare) care sã aibã urmãtorul comportament: afişeazã elementele comune
care se gãsesc în ambele listbox-uri. Dacã nu existã nici un astfel de element, se afişeazã
un mesaj de avertizare.

Problemă: 31

Preluați de la utilizator mai multe denumiri de produse. Realizați o secvență de program


care să afișeze prima denumire (conform ordinii alfabetice).

Problemă: 32

Definiți o structură numită Cadou (codCadou, numeCadou, pretCadou,


categorieCadou).Preluați de la utilizator mai multe cadouri (într-un vector). Realizați o
secvență de program care să afișeze toate cadourile dintr-o anumită categorie (de
exemplu, cadourile din categoria Jucării).

20
Problemă: 33

Implementați o funcție care să calculeze impozitul pe salarii, după un algoritm definit pe


tranșe de valori și deduceri. Preluați de la utilizator o listă de salarii și apoi apelați funcția
pentru fiecare dintre salarii, afișând impozitele aferente.

Problemã: 34

Aveţi o bazã de date în care se aflã tabela Apartamente (codApartament, numeProprietar,


oras, pretEstimativ). Realizaţi o secvenţã de program care sã afişeze apartamentele unui
proprietar al cãrui nume este specificat de utilizator. Folosiţi comenzi parametrizate.

Problemă: 35

Implementați un formular în care aveți un listbox și două butoane de comandă. La


acționarea primului buton de comandă, se preia un șir de caractere de la utilizator și se
adaugă în listă. La acționarea celui de-al doilea buton, se preia un șir de caractere de la
utilizator și se verifică dacă acel șir există deja în listbox. Se afișează mesaje
corespunzătoare.

Problemă: 36

Aveți o bază de date care conține tabela Examene (codExamen, denExamen,


numeProfesor, numarStudentiExaminati). Realizați un formular în care să implementați
complet operațiunea de navigare în cadrul setului de înregistrări.

Problemă: 37

Realizați un formular pe care aveți un listbox, și două butoane de comandă. Primul buton
implementează adăugarea unui nou element în listbox (doar dacă noul element preluat de
la utilizator nu există deja în listă). Al doilea buton implementează ștergerea elementelor
selectate de utilizator din listă (lista suportă selecție multiplă).

Problemã: 38

Preluaţi de la utilizator o serie de valori numerice (într-un vector).Solicitaţi apoi de la


utilizator o valoare de cãutare. Afişaţi toate poziţiile din vector la care se aflã valoarea
cãutatã. Dacã valoarea nu se aflã în vector, afişaţi un mesaj specific.

Problemă: 39

21
Să se implementeze un formular cu două listbox-uri care pot fi populate de utilizator prin
două butoane de comandă. Definiți un al treilea buton care verifică dacă toate valorile din
primul listbox se găsesc și în cel de-al doilea listbox, afișând mesaje corespunzătoare.

Problemã: 40

Definiţi un formular pe care sã fie desenate douã combobox-uri. Preluaţi de la utilizator


un şir de valori de tip text, prin casete InputBox; aceste valori sunt memorate într-un
vector. Definiţi pe formular un buton care va determina urmãtorul comportament:
valorile de pe poziţiile impare din vector sunt plasate în primul combobox, iar valorile de
pe poziţiile pare sunt plasate în cel de-al doilea combobox.

Problemã: 41

Aveţi o bazã de date în care se aflã tabela Apartamente (codApartament, numeProprietar,


oras, pretEstimativ). Realizaţi o secvenţã de program care sã afişeze costul asigurãrii
pentru fiecare apartament din baza de date, prin aplicarea de procente pe tranşe de valori.
(exemplu: pt. valoare între 0-20.000, cost asigurare=0.3% x valoare; pt. valoare între
20.001-45.000, cost asigurare=0.35% x valoare etc.)

Problemã: 42

Realizaţi un formular pe care se aflã douã listbox-uri. Implementaţi douã butoane care
permit adãugarea de noi valori în listbox-urile respective. Implementaţi un al treilea
buton (de ştergere) care sã aibã urmãtorul comportament: utilizatorul selecteazã un
element din primul listbox şi acţioneazã butonul de ştergere care va şterge elementul din
prima listã doar dacã el se aflã şi în cea de-a doua listã. În caz contrar, afişeazã un mesaj
de avertizare.

Problemã: 43

Preluaţi de la utilizator o serie de valori numerice. Verificaţi dacã şirul de valori este
ordonat crescãtor. Dacã nu este ordonat crescãtor, afişaţi un mesaj de informare. Dacã
şirul este ordonat crescãtor, solicitaţi de la utilizator o valoare şi gãsiţi poziţia acelei
valori prin algoritmul divide-et-impera.

Problemã: 44

Definiţi o structurã numitã OrdinDePlata (nrOP, platitorOP, beneficiarOP,


valoareOP).Preluaţi de la utilizator mai multe ordine de platã (într-un vector).Preluaţi

22
apoi douã valori de referinţã în variabile numerice. Afişaţi toate ordinele de platã care au
valoareOP cuprinsã între cele douã valori de referinţã.

Succes la rezolvări!!!!! 

23