78 lines
1.2 KiB
C
78 lines
1.2 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
struct maillon_s{
|
|
char valeur;
|
|
struct maillon_s* suivant;
|
|
};
|
|
|
|
typedef struct maillon_s maillon;
|
|
|
|
struct file{
|
|
maillon* premier;
|
|
maillon* dernier;
|
|
};
|
|
|
|
/*void clear(file* f){
|
|
|
|
}
|
|
|
|
char first(file* f){
|
|
|
|
}*/
|
|
|
|
void enqueue(file* f, char new){
|
|
maillon* m = (maillon) malloc(sizeof(maillon));
|
|
m->valeur = nouveaux;
|
|
m->suivant=NULL;
|
|
if(f->dernier!=NULL){
|
|
f->dernier->suivant = m;
|
|
}else{
|
|
f->permier = m;
|
|
}
|
|
f->dernier = m;
|
|
}
|
|
|
|
char dequeue(file* f){
|
|
maillon m = *(f->premier);
|
|
free(f->premier);
|
|
f->premier = m.suivant;
|
|
if(f->premier == NULL){
|
|
f->dernier = NULL;
|
|
}
|
|
return m.valeur;
|
|
}
|
|
|
|
int empty(const file* f){
|
|
return f->premier == NULL;
|
|
}
|
|
|
|
int main(void){
|
|
int n;
|
|
char ch[2];
|
|
struct file* f;
|
|
char val;
|
|
n = 0;
|
|
printf("Le File attends vos ordre\n");
|
|
while(n < 2){
|
|
ch[n] = getchar();
|
|
n++;
|
|
}
|
|
while(ch[0] != 'q'){
|
|
n = 0;
|
|
if(ch[0] == '+'){
|
|
val = ch[1];
|
|
enqueue(f, val);
|
|
printf("Le caractère %c a ete ajoute\n", val);
|
|
}else if(ch[0] == '-'){
|
|
val = dequeue(f);
|
|
printf("Le caractère %c a ete supprime\n", val);
|
|
}
|
|
printf(">");
|
|
while(n < 2){
|
|
ch[n] = getchar();
|
|
n++;
|
|
}
|
|
}
|
|
printf("Au revoir");
|
|
} |