piscine-rush00/main.c

81 lines
1.9 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* main.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tischmid <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/18 02:09:32 by tischmid #+# #+# */
/* Updated: 2023/03/18 04:52:15 by tischmid ### ########.fr */
/* */
/* ************************************************************************** */
void rush(int x, int y);
void ft_putchar(char c);
void ft_putstr(char *str);
void ft_putnbr(int nb);
int ft_atoi(char *str);
int main(int argc, char *argv[])
{
int width;
int height;
if (argc != 3)
{
ft_putstr("\033[31mWrong number of arguments (expected 2 got ");
ft_putnbr(argc - 1);
ft_putstr(")\033[m\n");
ft_putstr("\033[32mUsage: ./rush00 [width] [height]\033[m\n");
return (1);
}
width = ft_atoi(argv[1]);
height = ft_atoi(argv[2]);
rush(width, height);
return (0);
}
void ft_putstr(char *str)
{
int i;
i = 0;
while (str[i] != 0)
ft_putchar(str[i++]);
}
void ft_putnbr(int nb)
{
char last_digit;
if (nb < 0)
{
ft_putchar('-');
if (nb == 1 << 31)
{
nb += 2e9;
ft_putchar('2');
}
nb *= -1;
}
last_digit = nb % 10 + '0';
if (nb > 9)
{
nb /= 10;
ft_putnbr(nb);
}
ft_putchar(last_digit);
}
int ft_atoi(char *str)
{
int i;
int number;
i = 0;
number = 0;
while (str[i] >= '0' && str[i] <= '9')
number = number * 10 + (str[i++] - '0');
return (number);
}