JE DETESTE SCANF
This commit is contained in:
parent
38dce3951f
commit
c3fdadd6c0
38
DEV1.1/TP15/chaine.c
Normal file
38
DEV1.1/TP15/chaine.c
Normal file
@ -0,0 +1,38 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "pile.h"
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
pile *bazar;
|
||||
char input1;
|
||||
char input2;
|
||||
printf(">");
|
||||
scanf("%c%c",&input1,&input2);
|
||||
while(input1!='q')
|
||||
{
|
||||
printf("input1=%c input2=%c\n", input1,input2);
|
||||
if (input1=='+')
|
||||
{
|
||||
push(&bazar,input2);
|
||||
printf("Le charactere %c a été ajouté\n", input2);
|
||||
input1=' ';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (input1=='-')
|
||||
{
|
||||
printf("Le charactere %c a été supprimé\n",pop(&bazar));
|
||||
input1=' ';
|
||||
}
|
||||
else
|
||||
{
|
||||
printf(">");
|
||||
scanf("%c%c",&input1,&input2);
|
||||
fflush(stdin);
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("Au revoir\n");
|
||||
return 0;
|
||||
}
|
55
DEV1.1/TP15/pile.c
Normal file
55
DEV1.1/TP15/pile.c
Normal file
@ -0,0 +1,55 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
struct pile
|
||||
{
|
||||
int tete;
|
||||
char ple[10];
|
||||
};
|
||||
|
||||
typedef struct pile pile;
|
||||
|
||||
int empty(pile *p)
|
||||
{
|
||||
if(p==NULL)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return p->tete==0;
|
||||
}
|
||||
|
||||
char pop(pile **p)
|
||||
{
|
||||
(*p)->tete--;
|
||||
return (*p)->ple[(*p)->tete];
|
||||
}
|
||||
|
||||
void push(pile **p,char v)
|
||||
{
|
||||
if (*p==NULL)
|
||||
{
|
||||
pile *new=malloc(sizeof(pile));
|
||||
new->tete=0;
|
||||
*p=new;
|
||||
push(p,v);
|
||||
}else
|
||||
{
|
||||
(*p)->ple[(*p)->tete]=v;
|
||||
(*p)->tete++;
|
||||
}
|
||||
}
|
||||
|
||||
char top(pile **p)
|
||||
{
|
||||
char temp = pop(p);
|
||||
push(p,temp);
|
||||
return temp;
|
||||
}
|
||||
|
||||
void clear(pile **p)
|
||||
{
|
||||
while(!empty((*p)))
|
||||
{
|
||||
pop(p);
|
||||
}
|
||||
}
|
19
DEV1.1/TP15/pile.h
Normal file
19
DEV1.1/TP15/pile.h
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef _pile_h
|
||||
#define _pile_h
|
||||
|
||||
struct pile;
|
||||
|
||||
typedef struct pile pile;
|
||||
|
||||
int empty(pile *p);
|
||||
|
||||
char pop(pile **p);
|
||||
|
||||
void push(pile **p,char v);
|
||||
|
||||
char top(pile **p);
|
||||
|
||||
void clear(pile **p);
|
||||
|
||||
|
||||
#endif
|
75
DEV1.1/random/TD15.c
Normal file
75
DEV1.1/random/TD15.c
Normal file
@ -0,0 +1,75 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
struct pile
|
||||
{
|
||||
int tete;
|
||||
int max;
|
||||
int ple[10];
|
||||
}
|
||||
|
||||
typedef struct pile pîle;
|
||||
|
||||
int empty(pile *p)
|
||||
{
|
||||
if(*p==NULL)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return p->tete==0
|
||||
}
|
||||
|
||||
void push(pile **p,int v)
|
||||
{
|
||||
if (*p==NULL)
|
||||
{
|
||||
pile *new=malloc(sizeof(pile));
|
||||
new->tete=0;
|
||||
new->max=2;
|
||||
int *tab=calloc(2,sizeof(int));
|
||||
new->ple=tab;
|
||||
*p=new;
|
||||
push(p,v);
|
||||
}else
|
||||
{
|
||||
if ((*p)->tete==(*p)->max)
|
||||
{
|
||||
int *newtab=calloc(2*(*p)->max,sizeof(int));
|
||||
for (int i = 0; i < (*p)->max; ++i)
|
||||
{
|
||||
*(newtab+i)=*((*p)->ple+i);
|
||||
}
|
||||
int *temp=(*p)->ple;
|
||||
(*p)->max=(*p)->max*=2;
|
||||
(*p)->ple=newtab;
|
||||
free(temp);
|
||||
}
|
||||
(*p)->ple[(*p)->tete]=v;
|
||||
(*p)->tete++;
|
||||
}
|
||||
}
|
||||
|
||||
int pop(pile **p)
|
||||
{
|
||||
(*p)->tete--;
|
||||
return (*p)->ple[(*p)->tete];
|
||||
}
|
||||
|
||||
int main(int argc, char const *argv[])
|
||||
{
|
||||
pile *bordel;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
exo 3:
|
||||
1)
|
||||
(7*3+7)/7
|
||||
21,42
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
Loading…
Reference in New Issue
Block a user