Depuis hier apres midi j'ai voulu me lancer dans la programmation avec le tuto du site du zero. La 1ere etape ou l'on nous demande de comimpiler et executer le projet main.c qui sert d'exemple ca ne marche pas. Je cliques et rien ne se passe, aucun message et il est ecrit dans le carre blanc 'n nothinc has done'' ou qq chose dans ce genre la ( je suis sur mon itouch)
ça veut dire que ton code à déjà été compilé, il reste plus qu'à utiliser la commande run(ou build and run).
Une fois des modifs de faites si t'arrives pas à compiler, et que t'as ce message, tu dois faire rebuild.
Merci bc , je vais essayer
Il se passe juste rien du tout Lol. Je te screen ce qui arrive quand je cliques sur build and run puis un dès que j'appuie sur run tout simplement:
Build and run:
http://img33.imageshack.us/i/problme.jpg/
run:
http://img29.imageshack.us/i/problme2.jpg/
Problème traité un bon million de fois, tu aurais pu faire une recherche sur le forum C du siteduzero.
Donc tu vas dans Settings -> Compiler and debugger -> toolchain executables et tu cliques sur auto-detect.
Bien sur inutile de te dire que si tu as téléchargé la version de codeblocks sans compilateur ça ne risque pas de fonctionner.
Je ne savais absolument pas qu'il y avait un forum pour poser ses questions sur le site du zero et j'avoue ne pas avoir chercher. J'ai telecharger le logiciel à l'aeresse donnee donc je devrait avoir un compilateur. Sinon merci beaucoup de ta réponse ;)
J'ai à nouveau un problème et non résolu.
Quand je fais ca:
include <stdio.h>
int main()
{
int age = 0;
printf("Veuillez entrer votre age: ");
scanf("%d", &age);
if(age>=18);
{
printf("Vous avez l'age requis pour rentrer sur le site: Bienvenu et bonne visite !\n");
}
else
{
printf("Je suis désoler mais vous n'avez pas l'age requis pour visiter ce site web !");
}
return 0;
}
Ca me dit "error: syntaxe error before "else" alors que c'est exactement comme ca dans l'exemple ![]()
Enlève le ; à la fin de "if(age>=18);".
C'est le genre d'erreurs bien caché qu'on vois pas forcément du premier coup d'œil, et qui peut vite devenir casse-pied à trouver quand on a pas l'habitude.
AA d'accord, merci beaucoup ;)
En effet ça remarche ;)
Encore une question
:
J'ai fait ma calculatrice qui regroupe multiplication, division etc . J'ai 2 erreurs et 20 warnings mais je ne les comprends pas, ( c'est tous les même).
Erreurs :
Syntaxe error before string constant
Les warnings :
warning: int format, long int arg (arg 2 , 3 ou 4(ca change des fois))
Quelqu'un peut sait ce que ca veut dire ? Merci
Sans ton code là ça va être un peu difficile. (même si les erreurs sont très parlantes, on peut avoir affaire à des effets de bord)
A oups désoler ^^ déjà je suis même pas sur que ce soit juste
int main()
{
int choixducalcul = 0;
printf("1.Addition");
printf("2.soustraction");
printf("3.multiplication");
printf("4.division");
scanf("%d", &choixducalcul);
switch (choixducalcul)
{
long nombre1 = 0, nombre2 = 0, resultat = 0;
case 1:
printf("veuillez mettre le 1er nombre pour l'addition: ");
scanf("%d", &nombre1);
printf"veuillez mettre le 2e nombre pour l'addition: ");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf("%d + %d = %d", nombre1, nombre2, resultat);
break;
case 2:
printf("Veuillez mettre le 1er nombre pour la soustraction: ");
scanf("%d", &nombre1);
printf("veuillez mettre le 2e nombre pour la soustraction: ");
scanf"%d", nombre2);
resultat = nombre1 - nombre2;
printf("%d - %d = %d", nombre1, nombre2, resultat);
break;
case 3:
printf("veuillez mettre le 1er nombre pour la multiplication: ");
scanf("%d", &nombre1);
printf("veuillez mettre le 2e nombre pour la multiplication: ");
scanf("%d", &nombre2);
resultat = nombre1 * nombre2;
printf("%d * %d = %d", nombre1, nombre2, resultat);
break;
case 4:
printf("veuillez mettre le 1er nombre pour la division: ");
scanf("%d", &nombre1);
printf("Veuillez mettre le 2e nombre pour la divison: ");
scanf("%d", &nombre2);
resultat = nombre1 / nombre2;
printf("%d / %d = %d", nombre1, nombre2, resultat);
}
return 0;
}
Ok, c'est tout simple.
Pour l'erreur, tu as juste oublié des parenthèses entre certain printf/scanf et la chaine de caractère. (comme l'erreur l'indique, tu dois normalement avoir la ligne avec)
Pour les warning, c'est simplement que tu dis explicitement dans ton code que tu vas afficher (ou inscrire) des entiers, alors que ce sont des long ("entiers long").
Deux solution, soit tu convertir tes long en int, soit tu gère des long int dans tes scanf et printf en utilisant "%ld" (c'est un L minuscule) au lieu de "%d".
Enfin, en C, on déclare les variables en début de bloc, donc
long nombre1 = 0, nombre2 = 0, resultat = 0;
doit se trouver sous
int choixducalcul = 0;
Sinon, tu ne respectes pas le standard (donc ton code ne compileras pas forcement sur tous les compilateurs.) et en plus, ton instruction, là ou elle est placée peut être inaccessible pour certaines portions qui en ont absolument besoin.
Merci beaucoup
En effet j'avais pas vu que j'avais oublier des parenthèses.
Sinon j'ai rien pigé sur ce que tu as dit comme quoi ça ne compilera pas. En plus c'est vrai ![]()
He bien il n'existe pas qu'un seul compilateur, Code::Blocks (qui est un environnement de développement) intègre un compilateur (MinGW il me semble), mais il existe le compilateur de microsoft, celui de IBM, celui de intel...
Pour qu'un code source soit compilable avec tout ces compilateurs, il doit respecter les normes.
La norme dit, une variable doit être déclarée en début de bloc. (il y a eu des changements mais tenons en nous à cette première règle)
Déclarer une variable c'est quand tu fais :
int variable;
J'espère que tu auras compris ^^
Bonjour je suis moi aussi débutant en programmation et j'ai eu l'idée de faire d'abort un mot de passe mais la je bloque :
int main()
{
int nombreEntre = 0;
{
if (nombreEntre == 47)
{
printf("Tapez le code ");
scanf("%d", &nombreEntre);
printf("\n\n");
printf("Bienvenu");
}
}
else
{
return 0;
}
}
Je vais mettre des programmes sous bienvenu mais en testant le programme ,ca met "error: syntaxe error before "else"
Je programme sur code blocks
Pourriez vous m'aider a résoudre ce problème
Lord-noir > Je programme en C++ donc je suis pas sûr de ce que je vais dire.
Tout d'abord, pourquoi met tu des accolades après avoir initialiser la variable nombreEntre ? Je penses que sa bloque de ce côté là donc il faut les retirer. Ensuite tu fait une vérification avant même de demander la valeur à l'utilisateur donc et comme tu as précédemment initialiser la valeur nombreEntre à 0, le programme se terminera toujours sans rien te demander.
Je te propose sa :
int main()
{
int nombreEntre = 0;
printf("Tapez le code ");
scanf("%d", &nombreEntre);
if(nombreEntre == 47)
{
printf("\n\n");
printf("Bienvenue");
}
else
{
return 0;
}
}
Si je ne me trompe pas sa devrait fonctionner
Moi aussi je programme en C++.
Tu vas morfler avec les tableaux char alors qu'on a les string
![]()
Sinon je crois pas qu'on doit mettre le return 0 dans le else.
De plus je propose (pour la fin) :
else
{
printf("\n\n Code Incorrecte");
}
return o;
}