CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Programmation] Ubuntu & la bibliothèque stdlib

VicPi
VicPi
Niveau 5
17 juillet 2015 à 21:46:50

Bonjour, étant débutant en programmation et utilisant ubuntu (je sais c'est mal :noel:) provisoirement, j'apprends le langage C (avec sublime text + gcc). Lorsque je compile en console, j'ai droit à ce message :

victor@victor-desktop:~/Documents/programmation$ gcc *.c -o mainlireCaractere.c:2:19: fatal error: stdlib.: Aucun fichier ou dossier de ce type
 #include <stdlib.>
                   ^
compilation terminated.

Que faire .....?

Merci d'avance & bonne soirée :oui:

Pseudo supprimé
Pseudo supprimé 17 juillet 2015 à 22:10:00

#include <stdlib.h>.

(à vu de jambe)

VicPi
VicPi
Niveau 5
17 juillet 2015 à 23:01:18

C'est ce que j'ai mis ! mais étonnamment dans le message d'erreur il n'y a pas le 'h' :(

godrik
godrik
Niveau 30
17 juillet 2015 à 23:05:24

fait peter le fichier que tu utilises

VicPi
VicPi
Niveau 5
17 juillet 2015 à 23:28:15

Tout le code ?

godrik
godrik
Niveau 30
17 juillet 2015 à 23:49:29

un exemple minimal serait pas mal

VicPi
VicPi
Niveau 5
18 juillet 2015 à 00:53:49

bon, aller, voici le code dans sa totalité :

main.c

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, char const *argv[])
{

	char lettre = 0; //Stocke la lettre proposée par l'utilisateur
	char motSecret[] = "MARRON"; //le mot à trouver
	int lettreTrouvee[6] = {0}; //Tableau de booléens : 0 = lettre non trouvée, 1 = lettre trouvée
	int coupsRestants = 10; //Compteur de coups restants ( 0 = mort)
	int i = 0; // Une variable pour parcourir les tableaux
	
	printf("Bienvenue dans le Pendu\n\n");

	while(coupsRestants > 0 && !gagne(lettreTrouvee))
	{
		printf("\nIL vous reste %d coups a jouer", coupsRestants);
		printf("\nQuel est le mot secret ? ");

		for(i = 0; i < 6; i++)
		{
			if(lettreTrouvee[i])
				printf("%c", motSecret[i]);
			else
				printf("*"); //Sinon, on affiche une étoile pour les lettres non trouvées
		}

	printf("\nProposez une lettre : ");
	lettre = lireCaractere();

	if(!rechercheLettre(lettre, motSecret, lettreTrouvee))
	{
		coupsRestants--;
	}

	}

	if(gagne(lettreTrouvee))
		printf("\n\nGagné ! Le mot secret était bien : %s", motSecret);
	else
		printf("\n\nPerdu ! Le mot secret était bien : %s", motSecret);

	return 0;
}

gagne.c

#include <stdio.h>
#include <stdlib.h>

int gagne(int lettreTrouvee[])
{
    int i = 0;
    int joueurGagne = 1;

    for (i = 0 ; i < 6 ; i++)
    {
        if (lettreTrouvee[i] == 0)
            joueurGagne = 0;
    }

    return joueurGagne;
}

lireCaractere.c

#include <stdio.h>
#include <stdlib.>
#include <ctype.h>

char lireCaractere() 
{ 
    char caractere = 0;
 
    caractere = getchar(); // On lit le premier caractère
    caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà
 
    // On lit les autres caractères mémorisés un à un jusqu'au \n (pour les effacer) 
    while (getchar() != '\n');
 
    return caractere; // On retourne le premier caractère qu'on a lu 
}

rechercheLettre.c

#include <stdio.h>
#include <stdlib.h>

int rechercheLettre(char lettre, char motSecret[], int lettreTrouvee[])
{
    int i = 0;
    int bonneLettre = 0;

    // On parcourt motSecret pour vérifier si la lettre proposée y est 
    for (i = 0 ; motSecret[i] != '\0' ; i++)
    {
        if (lettre == motSecret[i]) // Si la lettre y est
        {
            bonneLettre = 1; // On mémorise que c'était une bonne lettre
            lettreTrouvee[i] = 1; // On met à 1 la case du tableau de booléens correspondant à la lettre actuelle
        }
    }

    return bonneLettre;
}

Merci :)

Pseudo supprimé
Pseudo supprimé 18 juillet 2015 à 00:56:04

Quelle est ta commande pour compiler ton projet ?

VicPi
VicPi
Niveau 5
18 juillet 2015 à 01:11:12

j'ai tout mes .c dans un même dossier puis je fais :

gcc *.c -o main

puis

./main
Pseudo supprimé
Pseudo supprimé 18 juillet 2015 à 01:19:34

essaye : gcc -Wall -Wextra -Werror --std=c99 *.c -o ./main

VicPi
VicPi
Niveau 5
18 juillet 2015 à 01:24:01

J'ai ça :

https://image.noelshack.com/fichiers/2015/29/1437175438-capture-du-2015-07-18-01-23-39.png

Pseudo supprimé
Pseudo supprimé 18 juillet 2015 à 01:50:21

Le 18 juillet 2015 à 00:53:49 VicPi a écrit :
bon, aller, voici le code dans sa totalité :
...
lireCaractere.c

#include <stdio.h>
#include <stdlib.>
#include <ctype.h>

char lireCaractere() 
{ 
    char caractere = 0;
 
    caractere = getchar(); // On lit le premier caractère
    caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà
 
    // On lit les autres caractères mémorisés un à un jusqu'au \n (pour les effacer) 
    while (getchar() != '\n');
 
    return caractere; // On retourne le premier caractère qu'on a lu 
}

...

#include <stdlib.h>, comme je le disais au début. On ne voit que ce que l'on veut voir, qu'elle disait. :noel:

VicPi
VicPi
Niveau 5
18 juillet 2015 à 14:05:12

Ah mince :rire: Merci VDD :p)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware