Ajout jour1 en C

This commit is contained in:
rick 2021-03-06 16:36:07 +01:00
commit 0c04b23c4c
Signed by: Rick
GPG key ID: 2B593F087240EE99
2 changed files with 69 additions and 0 deletions

1
jour1/input Normal file

File diff suppressed because one or more lines are too long

68
jour1/jour1.c Normal file
View file

@ -0,0 +1,68 @@
/* Fichier du jour de lAoC 2015
* @file jour1.c
* @author rick <rick@gnous.eu>
* @date 2021
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#define FILEINPUT "input"
void p_partie(FILE *file_ptr);
void d_partie(FILE *file_ptr);
int main()
{
FILE *file_ptr = fopen(FILEINPUT, "r");
if (errno)
{
perror(NULL);
return 1;
}
printf("Traitement de la première partie…\n");
p_partie(file_ptr);
fseek(file_ptr, 0, SEEK_SET); /* Pour revenir au début du fichier */
printf("Traitement de la deuxième partie…\n");
d_partie(file_ptr);
fclose(file_ptr);
return 0;
}
void p_partie(FILE *file_ptr)
{
int floor = 0;
char parenthese;
while (!feof(file_ptr))
{
parenthese = (char) fgetc(file_ptr);
if (parenthese == '(')
floor++;
else if (parenthese == ')')
floor--;
}
printf("Nous sommes à létage %d.\n", floor);
}
void d_partie(FILE *file_ptr)
{
int floor = 0, nb_char = 0;
char parenthese;
while (!feof(file_ptr) && floor >= 0)
{
parenthese = (char) fgetc(file_ptr);
if (parenthese == '(')
floor++;
else if (parenthese == ')')
floor--;
nb_char++;
}
printf("La parenthèse numéro %d nous met dans le sous sol.\n", nb_char);
}