Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
al Republicii Moldova
RAPORT
despre lucrarea de laborator Nr. 6-7
la Programarea calculatoarelor
Varianta 23
A efectuat:
st. gr. CR-191 Trifan Petru
A verificat:
Lector univ. Munteanu Silvia
Chişinău – 2020
Lucrare de laborator nr.5
Tema: Prelucrarea caracterelor și a șirurilor de caractere
Codul :
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include "structure.h"
int main (void)
{
int n, a = 1, asort = 1, is, t = 4, dt = 0;
while (a)
{
if (t > 3)
{
printf ("\n\tMENIU");
printf ("\n1.Alocarea dinamica a memoriei");
printf ("\n2.Introducerea elementelor de la tastatura ");
printf ("\n3.Cautarea elemantului tabloului");
printf ("\n4.Sortarea tabloului");
printf ("\n5.Redactarea elementului a tabloului");
printf ("\n6.Adaugarea unui element nou la sfarsit");
printf ("\n7.Eliminarea elementului indicat din tablou");
printf ("\n8.Inserarea unui element nou");
printf ("\n9.Salvarea elementelor tabloului in fisier");
printf ("\n10.Citirea elementelor tabloului din fisier");
printf ("\n11.Extragerea elementelor tabloului la ecran");
printf ("\n12.Eliberarea memoriei alocate pentru tablou ");
printf ("\n*13.Interschimbarea a doua elemente indicate din tablou");
printf ("\n*14.Adaugarea unui element nou la inceputul tabloului");
printf ("\n*15.Inserarea unui element nou inainte elementului indicat al tabloului");
printf ("\n 0.Ierie din program\n");
t = 0;
}
printf ("\nAlegeti un punct din meniu\n\t");
fflush(stdin);
scanf ("%d", &a);
if (a == 0)
printf("\n\n\tAti esit din program!\n");
switch (a)
{
//alocarea
case 1:
c = alocMemory(n);
printf ("\nMemoria a fost alocata\n");
t++;
break;
//introducerea
case 2:
printf ("\nIntroduceti elementele de la tastatura ");
readtel(c, n);
printf ("\n\t\t***Introducerea elementelor este finisata***\n");
t++;
break;
//cautarea
case 3:
//sortarea
case 4:
printf("\t\tMENIU de sortare");
printf("\n\t1.Sortarea dupa memoria");
printf("\n\t2.Sortarea dupa camera");
printf("\n\t3.Sortarea dupa pretul");
printf("\n\t0.Iesirea din MENIU de sortare\n\n\t");
fflush(stdin);
scanf("%d", &asort);
if (!asort) printf("\nAti esit dim meniu de sortare\n");
switch(asort)
{
//sortarea dupa memorie
case 1:
sortByMemory(c, n);
printf("\nSortarea a fost cu succes\n");
break;
default:
printf("\nAti esit dim meniu de sortare\n");
break;
}
t++;
break;
case 5:
printf("\nIntroduceti nr-l a elementului pe care doriti sa redactati\n");
fflush(stdin);
scanf("%d", &is);
fflush(stdin);
redact(c, is);
t++;
break;
else printf("\nError\n");
t++;
break;
else printf("\nError\n");
t++;
break;
if (!readStructFromFile(&n))
{
printf("\n\n\t***Error***\n");
break;
}
else
{
c = readStructFromFile(&n);
printf("\nCitirea a elemetelor a fost cu succes\n");
}
t++;
break;
//afisarea
case 11:
printf ("\n\n\nElementele structurei :\n");
showtel(c, n);
printf ("\n\n");
t++;
break;
//eliberarea memoriei
case 12:
c = NULL;
if (!c)
printf("\nMemoria a fost eliberata\n");
else
printf("\n\n\t***Error***\n");
t++;
break;
case 13:
break;
case 14:
c = addFirstElement(c, &n);
printf("\nElementul a fost adaugat la inceput\n");
t++;
break;
case 15:
printf("\nIntroduceti nr. telefonului mobil inaintea carui va fi inserarea\n" );
fflush(stdin);
scanf("%d", &is);
is--;
c = inser(c,is,&n);
printf("\nTelefonul mobil a fost inserat\n");
t++;
break;
default:
dt++;
if (dt < 3)
{
printf("\n\n***Mai incearca***\n");
t = 4;
}
if (dt >= 3){
printf("\n\n\t***Ati esit din program***\n");
a = 0;
}
break;
}
}
getch();
return 0;
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"structure.h"
tel * alocMemory(int n)
{
tel * A = NULL;
A = (tel *) malloc (n * sizeof(tel));
if (A == NULL)
{
printf ("\n\tMEMORIA NU A FOST ALOCATA\n");
return NULL;
}
return A;
}
printf("\t\tMENIU de redactare");
printf("\n\t1.Redactarea modelului");
printf("\n\t2.Redactarea procesorului");
printf("\n\t3.Redactarea memoriei");
printf("\n\t4.Redactarea Camera");
printf("\n\t5.Redactarea pretului");
printf("\n\t0.Iesirea din MENIU de redactare\n\n\t");
while(a)
{
printf("\n\tAlegeti un punct din submeniu\n\t");
fflush(stdin);
scanf("%d",&a);
switch(a)
{
case 1:
printf("\tIntroduceti modelul:\t");
fflush(stdin);
gets (c[i].model);
printf("\tModelul a fost modificat\n");
break;
case 2:
printf("\tIntroduceti procesorul:\t");
fflush(stdin);
gets (c[i].procesor);
printf("\tProcesorul a fost modificat\n");
break;
case 3:
printf("\tIntroduceti memoria:\t");
fflush(stdin);
scanf ("%d", &c[i].memory);
printf("\tMemoria a fost modificata\n");
break;
case 4:
printf("\tIntroduceti Camera:\t");
fflush(stdin);
scanf ("%f", &c[i].camera);
printf("\tCamera a fost modificata\n");
break;
case 5:
printf("\tIntroduceti pretul:\t");
fflush(stdin);
scanf ("%f", &c[i].price);
printf("\tPretul a fost modificat\n");
break;
default:
printf("\n\t\t***Ati iesit din submeniul de redactre***\n");
a = 0;
return;
break;
}
}
return;
}
return b;
}
return b;
}
b[el-1] = temp;
*n = *n + 1;
return b;
}
fclose (f);
return 1;
}
fclose (f);
return 1;
}
i = 0;
while (fread(&temp, sizeof(tel), 1, f))
{
b[i] = temp;
i++;
}
fclose (f);
*n = pn;
return b;
}
//lucr 7
return;
}
b[0] = temp;
*n = *n + 1;
return b;
}