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

[C] Fonctions

Darkshoot
Darkshoot
Niveau 10
26 octobre 2011 à 14:32:58

Salut :)
Après avoir revus je sais pas combien de fois le C sur le SdZ, j'ai décider de recommencer pour bien ranger tout le bordel dans mon cerveau :noel:
J'ai fait le jeu du + ou - pour bien me remémorer tout ça, et donc j'ai créé une fonction pour générer un nombre, aucun problème.
C'est pour comparer les nombres que j'ai un problème, voici mon code

  1. include <stdio.h>
  2. include <stdlib.h>

int genereNombre(int nbMax, int MIN)
{
int nbMystere = 0;
srand(time(NULL));
nbMystere = (rand() % (nbMax - MIN + 1)) + MIN;
return nbMystere;
}

void compareNombre(int nombreEntre, int nbMyst)
(
if (nombreEntre > nbMyst)
{
printf("C'est moins\n");
}

else if (nombreEntre < nbMyst)
{
printf("C'est plus\n");
}

else
{
printf("Bravo !\nNombre de coups : %d\n", coups);
}
)

int main()
{
int nbMystere = 0, nbChoisis = 0, nbMaxi = 0, replay = 0, nbGenere;
const int mini = 1;
printf("===============\n");
printf("=Plus ou moins=\n");
printf("===============\n\n");

do
{
int compteur = 1;

printf("Nombre max?\n");
scanf("%d",&nbMaxi);
nbGenere = genereNombre(nbMaxi, mini);

printf("------------\n");
do
{
printf("Nombre mystere ?\n->");
scanf("%d", &nbChoisis);
printf("\n");

compareNombre(nbChoisis, nbGenere, compteur);

compteur ++;
}while (nbGenere != nbChoisis);

printf("------------\nRejouer ?\n1.Oui\n2.Non");
scanf("%d", &replay);

}while (replay != 2);
return 0;
}

Code block me dit
Line 14 error expected declaration specifiers or '...' before 'if'
La ligne 14, c'est " if (nombreEntre > nbMyst)", autrement dit, dans la 2e fonction

Et ligne 30 error : 'compareNombre' declared as a function returning a fonction
La ligne 30 c'est int main () ...

Merci d'avance :-)

tbop2
tbop2
Niveau 10
26 octobre 2011 à 15:11:03

Salut !

Alors en premier abord :

Un tutorial c'est pas un livre et c'est bien ce qu'on reproche ici au SDZ : te faire croire que tu le code ca s'apprend en se lisant. C'est totalement faux et pas comme ca que ca se passe (la preuve en image). Tu devrais voir un tutoriel sur developpez.com et APPRENDRE et pratiquer pas simplement survoler et recopier des bouts de code pour faire des erreurs grossieres et ne meme pas chercher a regarder ce que le compilateur te dit.

ligne 14: regarde a la ligne 13
ligne 30: regarde a la ligne 28

La prochaine fois paste ton code sur pastebin ca facilite les choses pour tout le monde :ok:

Darkshoot
Darkshoot
Niveau 10
26 octobre 2011 à 15:20:15

Ah oui l'erreur, j’avais aps vus la paranthèse :doute:
En tout cas, merci :-)
C'est vrai que le prob du SdZ, c'est qu'ils tentent de nous apprendre des choses, mais il nous faut des exemples à appliquer, et du coup, ça rentre difficilement :doute:

actuenligne
actuenligne
Niveau 6
26 octobre 2011 à 15:39:34

C'est vrai, je te conseille de faire comme te dit Tbop2.
Par exemple je n'ai vraiment compris les pointeurs qu'après des mois de pratique (et surement pas en lisant ce que les gens peuvent en dire). D'ailleurs je ne suis pas sûr d'en avoir fait le tour !
Bon courage à toi.

Darkshoot
Darkshoot
Niveau 10
26 octobre 2011 à 15:42:41

Le problème c'est que leur tuto est complètement différent, alors je vais encore devoir tout recommencer et je vais être paumé :noel:
J'ai regardé vite fait, les tutos de devellopez ont l'air compliqué :hap:

Silvermo
Silvermo
Niveau 26
26 octobre 2011 à 18:04:55

Normal ils se rapprochent un peu plus de la réalité :hap:

tbop2
tbop2
Niveau 10
26 octobre 2011 à 20:38:38

+1 Faut pas croire que le monde de la programmation est simple. Ils sont ce qu'ils sont, il y en a surement des mieux mais il y a rarement moins bon que le sdz pour faire les choses sérieusement. A toi de choisir ta voie :)

Darkshoot
Darkshoot
Niveau 10
26 octobre 2011 à 21:59:13

C'est vrai qu'en fait, le SdZ, c'est juste expliqué, après y'as quelques TP.
Mais le truc, c'est que c'est expliqué assez facilement je trouve :(
(A part pour les pointeurs, tableau, les char, qui, en restant polis, m’embêtent, juste un peu beaucoup :hap: )

Silvermo
Silvermo
Niveau 26
26 octobre 2011 à 22:04:09

Le SDZ ce sont des TP qui ne seront jamais enseignés dans des écoles. Ce sont des TP qui donnent l'illusion de comprendre et apprendre quelque chose, mais qui sautent trop d'étapes

tbop2
tbop2
Niveau 10
26 octobre 2011 à 22:42:12

C'est pas de l'explication c'est de la démagogie dans ce cas-là, NUANCE !

Silvermo
Silvermo
Niveau 26
26 octobre 2011 à 22:43:52

+1

chris_27
chris_27
Niveau 10
26 octobre 2011 à 23:41:14

« Mais le truc, c'est que c'est expliqué assez facilement je trouve :( » :d) oui, et après tu es tout juste capable de refaire exactement ce qu'il y a dans le tutoriel. Donc au final, tu n'as pas appris grand chose. :(

En fait, je râle souvent après ça, mais je devrais peut-être suggéré une vraie liste d'exos à la place (surtout qu'en C/C++, je n'en manque pas).

tbop2
tbop2
Niveau 10
27 octobre 2011 à 10:20:31

"A part pour les pointeurs, tableau, les char, qui, en restant polis, m’embêtent, juste un peu beaucoup"

Ce qui represente grosso modo au bas mot plus de 50% des fonctionnalites du langage ! Tu comprends maintenant pourquoi on critique le sdz !

Lapintade
Lapintade
Niveau 30
27 octobre 2011 à 10:49:55

Pour des exercices sur le C/C++, voir ma série "NGCK" basé sur le jeu vidéo.

http://perso.numericable.fr/ckckck/NGCK.htm

"A part pour les pointeurs, tableau, les char, qui, en restant polis, m’embêtent, juste un peu beaucoup"

Chaque a son utilisé. Une fois que tu aura compris, tu sera bien content de les avoir.

Les pointeurs c'est bien pratique pour manipuler des grosses données. Les tableaux c'est bien pratique pour les stoquer, et les "char" c'est utile pour les petites valeurs.

Imagine que tu veut stocker une image. Elle fait 4096x4096. Tu crée un tableau, avec des chars (car une couleur c'est 0 à 255), et si tu veux passer ton image a une fonction, vaut mieux simplement lui passer son adresse que de recopier les 16 millions de pixels.

:ok:

Darkshoot
Darkshoot
Niveau 10
27 octobre 2011 à 15:10:19

Je comprends ce que vous êtes en train de dire.
Quand y'a un TP, j'ai l'impression d'avoir compris, mais comme ça, je suis pas autonome, j'arrive rien, j'ai toujours le site du zéro ouvert pour coder car je retiens pas :-(

+ Merci Lapintade, j'allais justement demander si qqn avait une paire d'exo :-)

tbop2
tbop2
Niveau 10
27 octobre 2011 à 15:46:15

Faut s'acrrocher mais ca finira bien par decanter un jour ne t'inquiete pas :ok:

Darkshoot
Darkshoot
Niveau 10
27 octobre 2011 à 16:51:21

J'ai un problème avec Visual C++2010 Express :(
J'ai suivis le tuto, lancé un projet NGCK, mais quand je fait F7, il ne se passe rien ...

Darkshoot
Darkshoot
Niveau 10
27 octobre 2011 à 17:04:41

Oulala mon dieux je vais détester visual C++ :malade:
Pas moyen avec codeblock ?
Parceque là, je vois pas la fenêtre avec les messages d'erreur, le fichier ex.sln veux pas s'ouvrir, il me demande e convertir, ça créer tout un tas de fichier, au final ça ouvre rien :malade:

godrik
godrik
Niveau 30
27 octobre 2011 à 17:15:30

je ne crois pas qu'il y ait un port pour code::blocks. Mais si il y en a un, ca m'interesse. Je ferrais peut etre un port a l'occasion (mais ca fait 1 an que je dis ca...)

Darkshoot
Darkshoot
Niveau 10
27 octobre 2011 à 17:26:11

Raah il me tape sur les nerfs ce visual c++, il marche qu'une fois sur deux, et j'ai TOUJOURS aps réussi à ouvrir un projet :-(( ²

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