Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

/* Operatii asupra Listei Liniare Simplu Inlantuite */

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <alloc.h>
#include <string.h>

struct NOD
{
int cheie;
char info[10];
struct NOD *urm;
};
typedef struct NOD Tnod;
typedef Tnod *ref;

ref prim;
ref q,r,s;
int k;

void ins_cf(void) /* Insereaza un NOD in Fata Listei */


{
q=malloc(sizeof(Tnod));
printf("Introduceti cheia : "); scanf("%d",&q->cheie);
printf("Introduceti informatia : ");
fflush(stdin); scanf("%s",q->info);
q->urm=prim;
prim=q;
} /*ins_cf*/

void listare(void)
{
if(prim==NULL)
printf("Lista este vida !!!");
else
{
printf("\nElementele listei sunt :\n");
r=prim;
while(r!=NULL)
{
printf("Cheia : %d \t | \t ", r->cheie);
printf("Informatia : %s \n", r->info);
r=r->urm;
}
}
} /* Listare */

void creare(void)
{
char c;
prim=NULL;
do
{
ins_cf();
listare();
printf("Continuati ?! [D/N] : ");
fflush(stdin); scanf("%c", &c); c=toupper(c);
}while(c=='D');
} /* Creare */

void main(void)
{
char op;
char c;
prim=NULL;
clrscr();
do
{
clrscr();
printf("\t\tOperatii asupra Listei Liniare Simplu Inlantuite\n\n");
printf("\tC-Crearea \n ");
printf("\tA-Adaugarea la inceputul listei \n ");
printf("\tL-Listare \n ");
printf("\tE-Exit \n\n ");
printf("Introduceti optiunea : "); scanf("%s",&op); op=toupper(op);
printf("\n");
switch(op)
{
case 'C': creare();
break;
case 'A': ins_cf();
listare();
getch();
break;
case 'L': listare();
getch();
break;
case 'E': break;
default : printf("Optiunea e gresita !!! \n ");
getch();
break;
}
}while(op!='E');
} /* MAIN */

You might also like