Aller au menu - Aller au contenu

Apprenez à programmer en C !

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  ...  35  36  37  38  39  40  41  Suivante
Pseudo Commentaire
Page Précédente  1  2  3  ...  35  36  37  38  39  40  41  Suivante
Hors ligne houda98 # Posté le 30/12/2011 à 12:39:25
Avatar

Merci, c'est exactement ce que je cherchais ,Mais j'ai toujours des problèmes pour executer les programmes de tri

et merci beaucoup
Hors ligne wilfried9 # Posté le 31/12/2011 à 01:23:50

comme tu dis que souvent ca marche souvent ca ne marche pas c'est que tu les prends mal.
dans le cas ou tu es sur d'avoir bien pris tu n'as qu'a les corriger grace a ton debug(informations sur les erreurs)
Hors ligne wilfried9 # Posté le 01/01/2012 à 23:39:46

margottine tes erreurs sont:
--->tu as ajoutée un "&" a la variable "majeur" dans l'instruction "printf" donc c'est l 'adresse qu'occupe "majeur" dans la mémoire qu'affichera le printf.donc enlève-le:
Code : C
1
printf(" Valeur majeur : %d\n",majeur);

--->bon même si tu l'enlève l'instruction affichera:

Code : Console
valeur majeur : 0

cette égalité est fausse,tu as ajouté un "=" de plus
Code : C
1
majeur = age==18;
Code : C
1
majeur = age=18;
je ne sais pas vraiment ce que tu veux faire avec cette instruction
Hors ligne tritheone # Posté le 02/01/2012 à 16:15:48

Bonjour, j'ai un très gros problème avec Code::Blocks... quand je pèse sur f9, il m'apparait un message

-> "monprogramme - Debug" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done.

Que dois-je faire?

Merci Beaucoup!
Hors ligne billounet95 # Posté le 04/01/2012 à 10:39:51

A la fin du chapitre les conditions, on propose de faire une calculatrice
j'ai essaye et ça me donne ça :


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

int main()
{
int choix = 0;
double nombre, resultat2, nombre1 = 0.0, nombre2 = 0.0, resultat = 0.0;
printf("=== Menu === \n\n");
printf("1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Carre\n");
printf("6. Racine Carre\n\n");
printf("Quel est votre choix ?\n");
scanf("%d", &choix);
switch(choix)
{
case 1:
printf("\nEntrez le premier nombre\n");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre\n");
scanf("%lf", &nombre2);
resultat=nombre1+nombre2;
printf("\n%f+%f=%f\n\n", nombre1, nombre2, resultat);
break;
case 2:
printf("\nEntrez le premier nombre\n");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre\n");
scanf("%lf", &nombre2);
resultat=nombre1-nombre2;
printf("\n%f-%f=%f\n\n", nombre1, nombre2, resultat);
break;
case 3:
printf("\nEntrez le premier nombre\n");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre\n");
scanf("%lf", &nombre2);
resultat=nombre1*nombre2;
printf("\n%f*%f=%f\n\n", nombre1, nombre2, resultat);
break;
case 4:
printf("\nEntrez le premier nombre\n");
scanf("%lf", &nombre1);
printf("\nEntrez le deuxieme nombre\n");
scanf("%lf", &nombre2);
resultat=nombre1/nombre2;
printf("\n%f/%f=%f\n\n", nombre1, nombre2, resultat);
break;
case 5:
printf("\nEntrez le nombre\n");
scanf("%lf", &nombre);
resultat= pow(nombre, 2);
printf("\nLe carre de %f est %f\n\n", nombre, resultat2);
break;
case 6:
printf("\nEntrez le nombre\n");
scanf("%lf", &nombre);
resultat = sqrt(nombre);
printf("\nRacine Carre de %f est %f\n\n", nombre, resultat2);
break;
}
return 0;
}

Le problème est le carre et la racine carre, cela ne marche pas et je trouve pas le problème...

Merci de m'aider
Hors ligne Leyio78 # Posté le 05/01/2012 à 18:21:02

J'ai téléchargé Code::Blocks la bonne version : mingw et pourtant lorsque je test mon programme au niveau de la partie 1 testons notre programme dans le premier chapitre le message d'erreur s'affiche tout de même .
Pouvez-vous m'aider svp? :(
Hors ligne wilfried9 # Posté le 05/01/2012 à 23:07:31

billounet95 regarde ca
Citation

.....
......
........
case 5:
printf("\nEntrez le nombre\n");
scanf("%lf", &nombre);
resultat= pow(nombre, 2);
printf("\nLe carre de %f est %f\n\n", nombre, resultat2);
.....
.....
.......
resultat = sqrt(nombre);
printf("\nRacine Carre de %f est %f\n\n", nombre, resultat2);
break;
}

TU AS ENREGISTRE "pow(nombre, 2)" ET "sqrt(nombre)" DANS "resultat" ET TU AFFICHE DANS PRINTF LA VALEUR DE "resultat2" AU LIEU DE "resultat" C'EST POURQUOI TU AS LA RACINE ET LE CARRE NE MARCHE PAS?
Hors ligne GrandGourou14 # Posté le 11/01/2012 à 01:13:55
Avatar

Bonjour a tous, j'ai un problème avec un programme. Le soucis c'est que avec le code suivant, le programme ne m’affiche que "je manges" ou "Tu croques" mais jamais "Je croques" par exemple. Savez vous pourquoi ? Merci


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

int main()
{
int variableSujet;
int MAXSujet=2;
int MINSujet=1;

srand(time(NULL));
variableSujet=(rand()%(MAXSujet-MINSujet+1))+MINSujet;

if (variableSujet==1)
{
printf("\n Je \n");
}

else if (variableSujet==2)
{
printf("\n Tu \n");
}

int variableVerbe;
int MAXVerbe=2;
int MINVerbe=1;


srand(time(NULL));
variableVerbe=(rand()%(MAXVerbe-MINVerbe+1))+MINVerbe;

if (variableVerbe==1)
{
printf("\n Manges \n");
}

else if (variableVerbe==2)
{
printf("\n Croques \n");
}

return 0;
}

We fight for a free culture we can't be stopped
 
Hors ligne Rafikiki # Posté le 12/01/2012 à 19:30:00
Avatar

Avis : Très bon

Je tiens à remercier M@teo21 sans qui je n'aurais jamais appris à programmer :) ,ses cours m'ont permis de réaliser des choses qui m'auraient parus impossible auparavant et j'ai même un ami ancien prof de C qui m'a dit que j'avais acquis un certain niveau professionnel alors je n'ai fait aucunes études :lol:
Hors ligne Loxo # Posté le 13/01/2012 à 01:54:53
Avatar

Citation : GrandGourou14
Bonjour a tous, j'ai un problème avec un programme. Le soucis c'est que avec le code suivant, le programme ne m’affiche que "je manges" ou "Tu croques" mais jamais "Je croques" par exemple. Savez vous pourquoi ? Merci


Bonjour,

tu appelles deux fois srand() dans ton programme.

Voici un extrait de doc :
For every different seed value used in a call to srand, the pseudo-random number generator can be expected to generate a different succession of results in the subsequent calls to rand.
Two different initializations with the same seed, instructs the pseudo-random generator to generate the same succession of results for the subsequent calls to rand in both cases.

If seed is set to 1, the generator is reinitialized to its initial value and produces the same values as before any call to rand or srand.


Sinon :
Citation : sdz

Nous vous rappelons que cet espace est réservé aux commentaires à propos des tutoriels, veillez donc à ne pas poser vos questions dans cette section.
Pour cela, rendez-vous sur le forum ! Merci.


Tu devrais aller voir sur le forum si tu as besoin de plus de précisions ou d'autre chose.

Cordialement.
Hors ligne guerrierdylan # Posté le 15/01/2012 à 14:54:08

Avis : Très bon

Voila quelque temps que je programme d'abord le c puis le lua (pour ma psp) seulement maintenant je veux faire du c pour programmer sur mon pc, seulement sous code::block ben... je bloque(désolé pour la blague pourri :D )
donc je suis sur le cours sur la sdl seulement quand j'essaye de compiler le code de depart de la sld (de test) ben ==> 33 erreur!!!! pk? aidez moi.....
Hors ligne Yumedream57 # Posté le 16/01/2012 à 23:41:46

B'soir !

Je poste ce petit message ici parce que je sais pas trop ou je pourrais le faire d'autre pour avoir une réponse fiable..
Voila, pour un projet, j'dois coder un petit jeu de plateau, rien de bien compliqué a la base. Mais a retranscrire en C, c'est un peu plus compliqué.
Le plateau se compose de 19 cases sur 19. Utilisation de tableaux oblige. Les lignes et les colonnes sont également numérotées, ce qui fait 20 cases sur 20. Pour simplifier l'écriture du code, je prends un tableau de 21 cases sur 21, a grand coups de logique vous comprendrez ce que je veux dire ;)

Bref, j'ai un peu de mal avec ce tableau.. La première case doit être vide, croisement des deux lignes comptant les cases de jeu. Ensuite, cette première ligne et la première colonne, comptent les cases de jeu, donc affichent 1, 2, ect.. Jusqu'a 19. Puis, la dernière ligne affiche un espace.

J'ai un peu de mal au niveau de la logique dans mes boucles en fait.. Si quelqu'un voit ce que je veux dire et peut m'aider.. Le cours du zéro ne parlant pas de tableaux.. Merci :D
Hors ligne m@tteo78 # Posté le 22/01/2012 à 17:05:10
Let me think about this..
Avatar

Avis : Bon

Tutoriel intéressant proposant une approche simple des pratiques de base en C. Félicitations.

Non au KikooScript - Fonctionnalités nouvelles de Javascript apparentées HTML5 - JavaScript, une longue histoire
Librairie WoST pour la création de WebOS - Twitter de WoST
___________________

« Le forum vous aide mais n'est pas un distributeur de réponses. C'est en cherchant un peu soi-même que l'on apprends. »
« Membre du clan “LdZ = LDB” »

___________________

« Le patchwork de scripts JS est fortement déconseillé ! Codez vos propres scripts. »
___________________

Mozilla Developer Network - It's the web, you drive.
 
Hors ligne anonyme # Posté le 22/01/2012 à 19:50:59

Plus que « très bon », excellent ! Merci.
Hors ligne Lucas-84 # Posté le 23/01/2012 à 17:16:09
[Tomber en marche]
Avatar

Avis : Mitigé Validateurs
Flux RSS

Ville : Uchaux
Pays : France métropolitaine

Quitte à faire une M.A.J, pourquoi ne pas corriger les horreurs qu'on retrouve que trop souvent dans ce tutoriel... ?
 
Hors ligne hussem26 # Posté le 29/01/2012 à 15:16:20
Avatar

Ville : St rambert d'albon
Pays : France métropolitaine

:p
Hors ligne Binary-file # Posté le 03/02/2012 à 20:23:20
Avatar

Ville : Montferrand le château
Pays : France métropolitaine

je commence, mais j'ai fais un *.cdbs (comics book ds) pour étudier le soir sur ma petite ds :)

Si vous le voulez envoyez moi un mp ;)
Hors ligne Lezerodusite # Posté le 04/02/2012 à 18:34:16

Avis : Très bon

super génial ce cours! super! vraiment fabuleux! je suis nouveau
en programmation et désormais je peus même me passer des cours
que me donne mon professeur en langage C

euhhhh! chui un désolé de vous apprendre que j'ai pompé votre en cours en faissant du copier-coller.
pas Faché Mr le webmaster j'espers
Hors ligne buzdig # Posté le 06/02/2012 à 12:27:17
Le verre à moitié plein.

Avis : Très bon

Études : ENSIL

Avant tout, Mateo, MERCI BEAUCOUP! Ton tuto est vraiment super bien fait :)

Je te contacte pcq j'ai un problème ds mon programme (normal?).
Voilà ce qui m'est affiché : "initializing 'int' with an expression of incompatible type 'void'"

Voici le programme :

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


void compareNombre(int nbMystere);
int genereNombre(int MIN, int MAX);


int main ( int argc, char** argv )
{
const int MAX = 100, MIN = 1;
int nbMystere = genereNombre(MIN, MAX);
int nbEntre= compareNombre(nbMystere); // "initializing 'int' with an expression of incompatible type 'void'"


do
{
printf("Quel est le nombre ? ");
scanf("%d", &nbEntre);
}

while (nbMystere != nbEntre );

return 0;
}



int genereNombre(int MIN, int MAX)
{
int nbMystere=0;

srand(time(NULL));
nbMystere = ( rand() % (MAX - MIN + 1) ) + MIN;

return nbMystere;
}


void compareNombre(int nbMystere)
{
int nbEntre=0;

if ( nbMystere > nbEntre )
printf("C'est plus\n");
else if (nbMystere<nbEntre)
printf("C'est moins\n");
else
printf("C'est le bon nombre\n");

}


Je n'arrive pas à trouver l'origine du pb, mm en ayant cherché sur internet. :s

Si tu pouvais m'éclairer, toi ou qui que ce soit d'autre, ce serait ac plaisir!
Hors ligne zion456 # Posté le 06/02/2012 à 13:47:14

slt buzdig =) tu fait "int nbEntre= compareNombre(nbMystere);" or le fonction "compareNombre" est de type void ==> elle ne renvoit pas de valeur =p dc logiquement ne peut etre conparer non ? je dit sa jdti rien x)je suis novice xDD
Hors ligne zion456 # Posté le 06/02/2012 à 13:53:13

enfin se que je veut dire c'est que une fois que ta fonction "compareNombre(nbMystere)" a finit sa tache , il renvoit rien a la fonction main...mmmm sa me fait penser a un truque (je suis dans le chapitre des tableau) utilise les pointeur ;)
Hors ligne kirk_m91 # Posté le 07/02/2012 à 20:43:45
Vive le C++ !!
Avatar

Avis : Très bon

Excellent tutoriel, merci beaucoup !!!
Hors ligne masartbenji # Posté le 07/02/2012 à 21:58:14

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

int main()
{
int choix, nombre1, nombre2, resultat;
double nombre3, nombre4, resultat2;
printf("Bonjour et bienvenu dans le menu\n");
printf("1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("Quel est votre choix(veuillez entrer le numero de la commande): ");
scanf("%d", &choix);

if(choix == 1)
{
printf("Veuillez entre votre premier nombre: ");
scanf("%d", &nombre1);
printf("Veuillez entrer votre deuxième nombre: " );
scanf("%d", &nombre2);

resultat = nombre1 + nombre2;

printf("%d + %d = %d", nombre1, nombre2, resultat);
}
else if(choix == 2)
{
printf("Veuillez entre votre premier nombre : ");
scanf("%d", &nombre1);
printf("Veuillez entre votre deuxieme nombre : ");
scanf("%d", &nombre2);

resultat = nombre1 - nombre2;

printf("%d - %d = %d", nombre1, nombre2, resultat);
}
else if(choix == 3)
{
printf("Veuillez entre votre premier nombre : ");
scanf("%lf", &nombre1);
printf("Veuillez entre votre deuxième nombre : ");
scanf("%lf", &nombre2);

resultat = nombre1 * nombre2;

printf("%d x %d = %d", nombre1, nombre2, resultat);
}
else if(choix == 4)
{
printf("Veuillez entre votre premier nombre : ");
scanf("%f", nombre3);
printf("Veuillez entre votre deuxieme nombre : ");
scanf("%f", nombre4);

resultat2 = nombre3 / nombre4;

printf("%f / %f = %f", nombre3, nombre4, resultat2);
}
return 0;
}

bonjour j'essaie de réaliser une calculatrice mais il y a quelque chose qui cloche dans le code mais je n'arrive pas a trouver quoi
Hors ligne buzdig # Posté le 08/02/2012 à 09:05:30
Le verre à moitié plein.

Avis : Très bon

Études : ENSIL

hum okk merci zion! ;)
Hors ligne buzdig # Posté le 08/02/2012 à 09:20:04
Le verre à moitié plein.

Avis : Très bon

Études : ENSIL

masartbenji,

j'ai réécrit ton programme en changeant pour la multiplication nombre1 en nombre3, nombre2 en nombre 4 et resultat en resultat2 puis j'ai mis des %lf ds le printf à la fin du 2ème else if.
Autre chose, je te conseille de mettre un dernier else pour le cas où l'utilisateur n'a pas tapé le bon numéro.

Voilà!
Hors ligne sylou98 # Posté le 09/02/2012 à 18:45:38

Avis : Très bon

Vraiment super tuto
J'aurais mis du temps a trouver un tutoriel aussi clair précis et bien faite mais sa valait vraiment la peine
Un grand merci a Mathieu Nebra!
Hors ligne Full-DOS # Posté le 10/02/2012 à 15:11:54
http://www.full-dos.net
Avatar

Avis : Très bon

@masartbenji : Salut, j'ai presque tout modifier ton code pour ta calculette, en ajoutant un else, et un while, maintenant, je l'ai tester sur mon Code::Blocks et il n'y a plus d'erreur ! ;)
Voilà le code corrigé :

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

int main()

{

int choix, nombre1, nombre2, resultat, recommencer;

printf("=== CALCULETTE ===\n");

do {

printf("\n1. Addition\n");
printf("2. Soustraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");

printf("\nQuel est votre choix ? (veuillez entrer le numero de la commande) : ");
scanf("%d", &choix);


if(choix == 1)

{

printf("\nEntrez votre premier nombre : ");
scanf("%d", &nombre1);
printf("\nEntrer votre second nombre : " );
scanf("%d", &nombre2);

resultat = nombre1 + nombre2;

printf("\n%d + %d = %d\n", nombre1, nombre2, resultat);

printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non : ");
scanf("%d", &recommencer);

}

else if(choix == 2)

{

printf("\nEntrez votre premier nombre : ");
scanf("%d", &nombre1);
printf("\nEntrer votre second nombre : " );
scanf("%d", &nombre2);

resultat = nombre1 - nombre2;

printf("\n%d - %d = %d\n", nombre1, nombre2, resultat);

printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non : ");
scanf("%d", &recommencer);

}

else if(choix == 3)

{

printf("\nEntrez votre premier nombre : ");
scanf("%d", &nombre1);
printf("\nEntrer votre second nombre : " );
scanf("%d", &nombre2);

resultat = nombre1 * nombre2;

printf("\n%d * %d = %d\n", nombre1, nombre2, resultat);

printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non : ");
scanf("%d", &recommencer);

}

else if(choix == 4)

{

printf("\nEntrez votre premier nombre : ");
scanf("%d", &nombre1);
printf("\nEntrer votre second nombre : " );
scanf("%d", &nombre2);

resultat = nombre1 / nombre2;

printf("\n%d / %d = %d\n", nombre1, nombre2, resultat);

printf("\nVoulez-vous recommencer ? 0 = Oui / 1 = Non : ");
scanf("%d", &recommencer);

}

else

{
printf("Ceci est un faux numero ! Recommencer ? 0 = Oui / 1 = Non : ");
scanf("%d", &recommencer);
}

} while (recommencer == 0);


return 0;

}

Voilà comment je m'estime dans ces catégories. J'ai commencé la programmation en fin 2011 (HTML/CSS/Langage C), et le PHP/JavaScript/MySQL en mars 2012. Et pour le graphisme, j'ai commencé à créer avec The Gimp en janvier 2012 et avec Blender en début avril.


Connaissances Expérience
Programmation ... et site web
HTML ||||||||||90%
CSS ||||||||||80%
C ||||||||||50%
PHP ||||||||||40%
SQL |||||||||20%
JavaScript ||||||||||10%
C++ ||||||||||05%
Java ||||||||||01%
Autres langages... ||||||||||00%
Graphisme ... dessin et 3D
The Gimp |||||||||30%
Blender ||||||||||10%
Inkscape ||||||||||10%
PhotoFiltre ||||||||||05%
Autres logiciels... ||||||||||00%
 
Hors ligne Crystal_Boy # Posté le 12/02/2012 à 15:35:25
Avatar

Avis : Très bon

Bonjour :)
Je suis nouveau sur le site et je débute tout juste le tutoriel que je trouve très clair et plein de qualités pédagogiques. Bravo!

(J'ai juste une question sur les variables: lorsqu'on fait la déclaration de variable suivante:

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

A quoi correspondent argc et *argv[]??
Hors ligne Cajarcois # Posté le 13/02/2012 à 20:54:53
Le talent c'est d'avoir envie
Avatar

Avis : Très bon

Bonsoir Crystal_Boy,

Ça se voit que tu viens à peine de commencer le tutoriel pour poser une telle question :D

En fait ce n'est pas une déclaration de variable mais un appel d'une fonction de type int, et elle prend en paramètres int argc, char *argv[].
Mais tu le comprendras bien assez tôt si tu continues à lire le tutoriel ;)
 
Hors ligne nicoz # Posté le 13/02/2012 à 22:37:42

Avis : Très bon

salut , je suis nouveau dans le monde de l informatique .....( sa commence mal ... lol )
je tente de suivre le cours pour apprendre a programmer.
merci pour ce tutoriel tres bien expliqué.
mais pour les gros nul comme moi , j ai tenter de telecharger codeblocks
et la paf !!!! il m envoie un message derreur write protect des que je tente de faire un nouveau projet
alors je dois avoir depuis 3 ou quatre verssion differents sur mac de codeblocks et un seul m inscrie le message qui indique que je n'est pas ming
.......Grand cheff je fais quoi la???
merci de m aider
Pour accéder à cette section
Connectez-vous !
connexion_rpx