This commit is contained in:
augustin64 2024-02-02 11:08:48 +01:00
parent abcc2498cd
commit 964df6c718
13 changed files with 258 additions and 0 deletions

BIN
TD/TD1/sujet.pdf Normal file

Binary file not shown.

5
TD/TD1/td1_lucas/ex_1/ex_1.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
[[ $1 ]] || exit 1
mkdir -p $1/ex_1/{src/{include,lib},bin,test/{script,results}}

5
TD/TD1/td1_lucas/ex_2/ex_2a.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
[[ $1 ]] || exit 1
grep "2" $1

8
TD/TD1/td1_lucas/ex_2/ex_2b.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
[[ $1 ]] || exit 1
CHARS=$(wc -c $1 | awk '{print $1}')
LINES=$(wc -l $1 | awk '{print $1}')
echo "Le fichier contient $LINES lignes et $CHARS caractères."

View File

@ -0,0 +1,89 @@
Vous visualisez la ligne 12
Vous visualisez la ligne 13
Vous visualisez la ligne 14
Vous visualisez la ligne 15
Vous visualisez la ligne 16
Vous visualisez la ligne 17
Vous visualisez la ligne 18
Vous visualisez la ligne 19
Vous visualisez la ligne 20
Vous visualisez la ligne 21
Vous visualisez la ligne 22
Vous visualisez la ligne 23
Vous visualisez la ligne 24
Vous visualisez la ligne 25
Vous visualisez la ligne 26
Vous visualisez la ligne 27
Vous visualisez la ligne 28
Vous visualisez la ligne 29
Vous visualisez la ligne 30
Vous visualisez la ligne 31
Vous visualisez la ligne 32
Vous visualisez la ligne 33
Vous visualisez la ligne 34
Vous visualisez la ligne 35
Vous visualisez la ligne 36
Vous visualisez la ligne 37
Vous visualisez la ligne 38
Vous visualisez la ligne 39
Vous visualisez la ligne 40
Vous visualisez la ligne 41
Vous visualisez la ligne 42
Vous visualisez la ligne 43
Vous visualisez la ligne 44
Vous visualisez la ligne 45
Vous visualisez la ligne 46
Vous visualisez la ligne 47
Vous visualisez la ligne 48
Vous visualisez la ligne 49
Vous visualisez la ligne 50
Vous visualisez la ligne 51
Vous visualisez la ligne 52
Vous visualisez la ligne 53
Vous visualisez la ligne 54
Vous visualisez la ligne 55
Vous visualisez la ligne 56
Vous visualisez la ligne 57
Vous visualisez la ligne 58
Vous visualisez la ligne 59
Vous visualisez la ligne 60
Vous visualisez la ligne 61
Vous visualisez la ligne 62
Vous visualisez la ligne 63
Vous visualisez la ligne 64
Vous visualisez la ligne 65
Vous visualisez la ligne 66
Vous visualisez la ligne 67
Vous visualisez la ligne 68
Vous visualisez la ligne 69
Vous visualisez la ligne 70
Vous visualisez la ligne 71
Vous visualisez la ligne 72
Vous visualisez la ligne 73
Vous visualisez la ligne 74
Vous visualisez la ligne 75
Vous visualisez la ligne 76
Vous visualisez la ligne 77
Vous visualisez la ligne 78
Vous visualisez la ligne 79
Vous visualisez la ligne 80
Vous visualisez la ligne 81
Vous visualisez la ligne 82
Vous visualisez la ligne 83
Vous visualisez la ligne 84
Vous visualisez la ligne 85
Vous visualisez la ligne 86
Vous visualisez la ligne 87
Vous visualisez la ligne 88
Vous visualisez la ligne 89
Vous visualisez la ligne 90
Vous visualisez la ligne 91
Vous visualisez la ligne 92
Vous visualisez la ligne 93
Vous visualisez la ligne 94
Vous visualisez la ligne 95
Vous visualisez la ligne 96
Vous visualisez la ligne 97
Vous visualisez la ligne 98
Vous visualisez la ligne 99
Vous visualisez la ligne 100

9
TD/TD1/td1_lucas/ex_3/ex_3a.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
[[ $1 ]] || exit 1
touch $1/ex_1/src/main.c
touch $1/ex_1/src/include/test.txt
touch $1/ex_1/bin/anotherfile.txt
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 20 > $1/ex_1/test/results/res1.txt

5
TD/TD1/td1_lucas/ex_3/ex_3b.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
[[ $1 ]] || exit 1
cd $1 && find ~+ -name '*.txt' -exec ls {} \;

View File

@ -0,0 +1,7 @@
CFLAGS = -Wall -Wextra -g -O3
ex_4: ex_4.c
gcc $^ -o $@ $(CFLAGS)
clean:
rm -f ex_4

View File

@ -0,0 +1,16 @@
#include <stdio.h>
void show(int *a, int b) {
*a = (*a) + 5;
b = b + 5;
}
int main() {
int a = 0;
int b = 0;
show(&a, b);
printf("Référence: %d, Valeur: %d\n", a, b);
return 0;
}

View File

@ -0,0 +1,7 @@
CFLAGS = -Wall -Wextra -g -O3
ex_6: ex_6.c
gcc $^ -o $@ $(CFLAGS)
clean:
rm -f ex_6

View File

@ -0,0 +1,79 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "include/ex_6.h"
#include "include/colors.h"
event_t* new_event(time_t time, char* desc) {
event_t* new = malloc(sizeof(event_t));
new->desc = malloc((strlen(desc)+1)*sizeof(char));
new->time = time;
new->next = NULL;
strcpy(new->desc, desc);
return new;
}
event_t* insert_event(time_t time, char* desc, event_t* events) {
if (events && time > events->time) {
events->next = insert_event(time, desc, events->next);
return events;
}
event_t* new = new_event(time, desc);
new->next = events;
return new;
}
void show_events(event_t* event) {
if (!event)
return;
printf("Event: " BOLD "%s" RESET "\n", event->desc);
printf("Date: " BOLD "%s" RESET "\n", ctime(&event->time));
show_events(event->next);
}
void free_events(event_t* event) {
if (!event)
return;
free_events(event->next);
free(event->desc);
free(event);
}
time_t time_of_string(char* string) {
struct tm date = {0};
if (sscanf(string, "%d-%d-%d %dh%d", &date.tm_mday, &date.tm_mon, &date.tm_year, &date.tm_hour, &date.tm_min) == 5) {
date.tm_mon--;
date.tm_year -= 1900;
return mktime(&date);
}
printf(BOLD RED "Failed to parse date !\n" RESET);
return (-1);
}
int main() {
event_t* events = NULL;
events = insert_event(time_of_string("19-03-2024 10h15"), "TP ArchiSys", events);
events = insert_event(time_of_string("21-03-2024 8h05"), "Cours ArchiSys", events);
events = insert_event(time_of_string("12-03-2024 10h15"), "TP ArchiSys", events);
show_events(events);
free_events(events);
return 0;
}

View File

@ -0,0 +1,15 @@
#ifndef DEF_COLORS_H
#define DEF_COLORS_H
#define RESET "\033[0m"
#define BLACK "\033[30m" /* Black */
#define RED "\033[31m" /* Red */
#define GREEN "\033[32m" /* Green */
#define YELLOW "\033[33m" /* Yellow */
#define BLUE "\033[34m" /* Blue */
#define MAGENTA "\033[35m" /* Magenta */
#define CYAN "\033[36m" /* Cyan */
#define WHITE "\033[37m" /* White */
#define BOLD "\033[1m" /* BOLD */
#endif

View File

@ -0,0 +1,13 @@
#ifndef DEF_EX_6_H
#define DEF_EX_6_H
#include <time.h>
typedef struct event {
time_t time;
char* desc;
struct event* next;
} event_t;
#endif