CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • 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
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet résolu : exercice de 42 en C

DébutPage précedente
12
Page suivanteFin
Choualx Choualx
MP
Niveau 7
21 mai 2017 à 19:49:27

salut a tous, voila je voulais prendre de l'avance par rapport a la piscine de l'ecole 42.
Du coup je test les exercices qui sont en C et je bloque deja au premier !
En faite, impossible de le faire fonctionner, j'ai essayé sous windows et maintenant sous ubuntu et toujours une erreur dans le compilateur, je trouve pas où est le probleme, je vous met le code:
int ft_putchar(char c); void ft_print_alphabet(void) { int letter; letter = 'a'; while (letter <= 'z') { ft_putchar(letter); letter++; } }

Merci a ceux qui liront :)

Exacompta Exacompta
MP
Niveau 10
21 mai 2017 à 19:52:50

Tu peux nous donner le code en entier et le message d'erreur ? :hap:

Choualx Choualx
MP
Niveau 7
21 mai 2017 à 19:55:54

C'est le code en entier. voici l'exercice:

Fichiers à rendre : ft_print_alphabet.c

Fonctions Autorisées : ft_putchar
Remarques : n/a
• Écrire une fonction qui affiche l’alphabet en minuscule sur une seule ligne, dans
l’ordre croissant, à partir de la lettre ’a’.
• Elle devra être prototypée de la façon suivante :
void ft_print_alphabet(void);

-------------- Build: Debug in 01 (compiler: GNU GCC Compiler)---------------

g++ -o bin/Debug/01 obj/Debug/main.o
/bin/sh: 1: g++: not found
Process terminated with status 127 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))

-------------- Run: Debug in 01 (compiler: GNU GCC Compiler)---------------

Checking for existence: /home/ryzen7/Téléchargements/01/bin/Debug/01
Executing: xterm -T 01 -e /usr/bin/cb_console_runner LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. /home/ryzen7/Téléchargements/01/bin/Debug/01 (in /home/ryzen7/Téléchargements/01/.)

Message édité le 21 mai 2017 à 19:56:20 par Choualx
Exacompta Exacompta
MP
Niveau 10
21 mai 2017 à 20:06:57

En cherchant un peu ca serait parce que tu n'as pas de compilateur, il faudrait que tu lances la commande : sudo apt-get install g++ dans le terminal

Choualx Choualx
MP
Niveau 7
21 mai 2017 à 20:28:53

Toujours pareil, j'ai bien installé le compilateur et resultat:

||error: ld returned 1 exit status|

||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Sinon est ce que le code est bon sinon ?

Exacompta Exacompta
MP
Niveau 10
21 mai 2017 à 20:33:09

Bha à vrai dire je crois pas, il me semble qu'il faut une fonction main en C :)

TheRealMarco TheRealMarco
MP
Niveau 10
21 mai 2017 à 21:24:50

Bonjour à toi, enfant de Saian !

Alors déjà, dans l'exercice :

-------------- Build: Debug in 01 (compiler: GNU GCC Compiler)---------------

Ça veut dire qu'il faut utiliser le compilateur GCC.

g++ -o bin/Debug/01 obj/Debug/main.o

Or, il me semble que là tu utilises le compilateur g++.

Ensuite, en C, comme Exacompta l'a dit, il faut indiquer le point d'entrée, c'est à dire la fonction main. Et à la fin du programme, tu dois retourner à l'OS un entier. 0 si le problème se termine sans problème, sinon 1 (ou un autre en fonction du problème).

main(int argc, char *argv[]) // parametre non obligatoire
return 0; // a la fin de la fonction

Ton prototype ne correspond pas à la fonction :

int ft_putchar(char c);

 

void ft_print_alphabet(void)

Choualx Choualx
MP
Niveau 7
21 mai 2017 à 22:21:11

Le 21 mai 2017 à 21:24:50 TheRealMarco a écrit :
Bonjour à toi, enfant de Saian !

Alors déjà, dans l'exercice :

-------------- Build: Debug in 01 (compiler: GNU GCC Compiler)---------------

Ça veut dire qu'il faut utiliser le compilateur GCC.

g++ -o bin/Debug/01 obj/Debug/main.o

Or, il me semble que là tu utilises le compilateur g++.

Ensuite, en C, comme Exacompta l'a dit, il faut indiquer le point d'entrée, c'est à dire la fonction main. Et à la fin du programme, tu dois retourner à l'OS un entier. 0 si le problème se termine sans problème, sinon 1 (ou un autre en fonction du problème).

main(int argc, char *argv[]) // parametre non obligatoire
return 0; // a la fin de la fonction

Ton prototype ne correspond pas à la fonction :

int ft_putchar(char c);

 

void ft_print_alphabet(void)

Merci mais j'ai rien compris :D

J'ai installé code:block, le compilateur avec est pas bon ?

Ensuite la je comprends rien au truc d'alphabet
sachant que la doc elle indique ça et ça marche nickel:

#include <stdio.h>

int main ()
{
  char c;
  for (c = 'A' ; c <= 'Z' ; c++) {
    putchar (c);
    }
  return 0;
89ron 89ron
MP
Niveau 10
21 mai 2017 à 22:46:49

La piscine c'est deja en mai ?

1.
g++ c'est pour le C++ et gcc pour le C.

2.
la commande pour compiler un fichier source avec GCC c'est:

gcc -o helloworld helloworld.c  

puis, pour l'executer toujours sous linux:

./helloworld 
89ron 89ron
MP
Niveau 10
21 mai 2017 à 23:03:03

3. le fichier ft_print_alphabet.c :


void ft_print_alphabet(void);

int main() 
{
    ft_print_alphabet();

    return 0;
}

void ft_print_alphabet(void)
{
    int letter;

    letter = 'a';
    while (letter <= 'z')
    {
        ft_putchar(letter);
        letter++;
    }
}


La compilation de l'executable :

 gcc -o  ft_print_alphabet  ft_print_alphabet.c  
89ron 89ron
MP
Niveau 10
21 mai 2017 à 23:11:35

4. avec le putchar fourni par C de la libriaire stdlib.h

cela donnerai :


#include <stdlib.h>

void ft_print_alphabet(void);

int main() 
{
    ft_print_alphabet();

    return 0;
}

void ft_print_alphabet(void)
{
    int letter;

    letter = 'a';
    while (letter <= 'z')
    {
        putchar(letter); 
        letter++;
    }
}
Choualx Choualx
MP
Niveau 7
21 mai 2017 à 23:15:08

merci mais ça veut toujours pas !
en faite je comprends pas où est l'erreur:
int ft_putchar(char c); void ft_print_alphabet(void) { int letter; letter = 'a'; while (letter <= 'z') { ft_putchar(letter); letter++; } }


int		ft_putchar(char c);

void	ft_print_alphabet(void)
{
	char a;

	a = 'a';
	while (a <= 'z')
	{
		ft_putchar(a);
		a++;
	}
}

Message édité le 21 mai 2017 à 23:16:30 par Choualx
89ron 89ron
MP
Niveau 10
22 mai 2017 à 00:16:43

1. Va te coucher la solution viendra d'elle même.
2. Si c'est pas le cas relis ton cour sur les fonctions / tuto / l'ennoncer a nouveau, parcequ'il manque quelque chose.

42 donne pas ca comme exo au 1er jour... (enfin d'apres les retour que j'en ai eu)

Message édité le 22 mai 2017 à 00:17:00 par 89ron
Runnymede Runnymede
MP
Niveau 10
22 mai 2017 à 02:07:25

Merci mais j'ai rien compris :D

Eh beh avec une mentalité comme ça t'es pas prêt de passer une piscine d'une école comme 42.

Ebara Ebara
MP
Niveau 12
22 mai 2017 à 09:23:35

Apprendre à recherche, c'est la première chose à faire quand on arrive dans ce monde.
Surtout quand l'erreur t'indique ce qu'il y a à faire :(

Message édité le 22 mai 2017 à 09:24:05 par Ebara
ZemmourGenie ZemmourGenie
MP
Niveau 7
22 mai 2017 à 17:15:35

Le 22 mai 2017 à 11:21:01 choualx a écrit :

Le 22 mai 2017 à 02:07:25 Runnymede a écrit :

Merci mais j'ai rien compris :D

Eh beh avec une mentalité comme ça t'es pas prêt de passer une piscine d'une école comme 42.

T'as jamais été debutant c'est vrai ... pourtant vu ta tete de gros porc
J'ai droit de rien piger a un message d'erreur non, bref, j'ai trouvé et pas grace a toi
les autres, merci pour votre aide :)

alors déjà faudrait se calmer insulter les gens qui t'aident c'est pas très malin
ensuite oui avoir une mentalité comme ça c'est pas comme cela que tu vas réussir à 42 je te l'assure
ça ne te plait pas tant pis, c'est pas une raison pour insulter les gens
va lire, va t'instruire au lieu d'essayer d'aller trop vite lit des cours sur le C car tu sais manifestement même pas ce qu'est une fonction main
reviens après

Jean-Prepucin Jean-Prepucin
MP
Niveau 7
22 mai 2017 à 22:09:01

Le 22 mai 2017 à 11:21:01 choualx a écrit :

Le 22 mai 2017 à 02:07:25 Runnymede a écrit :

Merci mais j'ai rien compris :D

Eh beh avec une mentalité comme ça t'es pas prêt de passer une piscine d'une école comme 42.

T'as jamais été debutant c'est vrai ... pourtant vu ta tete de gros porc
J'ai droit de rien piger a un message d'erreur non, bref, j'ai trouvé et pas grace a toi
les autres, merci pour votre aide :)

Pour apprendre correctement, il faut certaines notions de vocabulaires, si tu sais pas ce que "prototype" veut dire, tu utilises google et tu arrêtes de nous faire perdre notre temps à cause de ta fainéantise.

Runnymede Runnymede
MP
Niveau 10
22 mai 2017 à 23:40:22

Le 22 mai 2017 à 11:21:01 choualx a écrit :

Le 22 mai 2017 à 02:07:25 Runnymede a écrit :

Merci mais j'ai rien compris :D

Eh beh avec une mentalité comme ça t'es pas prêt de passer une piscine d'une école comme 42.

T'as jamais été debutant c'est vrai ... pourtant vu ta tete de gros porc
J'ai droit de rien piger a un message d'erreur non, bref, j'ai trouvé et pas grace a toi
les autres, merci pour votre aide :)

Je répète mon propos, les encadrants d'une école comme 42 vont te parler de la même façon dont je t'ai parlé, si tu interagis comme ça avec eux tu risque pas de faire long feu.

astoq astoq
MP
Niveau 3
23 mai 2017 à 00:41:36

etudiant de 42 : Salut, t'es une grosse ***** à vouloir TRICHE pour un concours qui doit te permettre de savoir si tu es oui ou non fait pour l'apprentissage en autonomie de façon autodidacte.
Le fait que tu ai besoin de tricher montre que tu manques de confiance en toi, parce que le staff te l'as pourtant dis, tu peux réussir (et devrait si tu es vraiment fait pour) sans aucune expérience préalable en prog.
Le but de ce concours c'est de t'éviter de te faire perdre du temps (et des sous) dans un système qui ne te conviendra pas forcément, alors joue le jeu !
En soit vouloir apprendre c'est tout bon, mais quand on veut rejoindre une école qui prône le peer to peer on envoie pas chier les gens qui te donnent des bons conseils, parce que si tu t'attends a ce que qui que ce soit là bas t'offre la moindre réponse sur un joli plateau d'argent tu te fourres le doigt bien, bien profond.

Maintenant si tu veux de vrais conseils sérieux, vasy sans pression et bien reposé, si tu aimes la prog tu vas juste t'amuse pendant un mois complet autour de gens super sympa. Si tu coules souviens toi que t'avais prévu d'y passer le mois alors va pas abandonne le premier vendredi soir. Comme te l'on indique les personnes au dessus de toi, apprendre à apprendre va t'être primordial alors quand tu sais pas, tu cherches.

Inutile de te rappelle qu'insulter t'es pairs ne jouera pas du tout en la faveur de ta candidature.

FreddyCouscous FreddyCouscous
MP
Niveau 10
23 mai 2017 à 14:17:25

Je pense que la fonction "ft_putchar" prend en paramètre un char. Toi tu lui passes un int. Du coup ça ne peut à mon sens pas fonctionner.

DébutPage précedente
12
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment