Calcul en C...
Fermé
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
-
Modifié par LezardMoo le 28/10/2011 à 21:38
prypiat_child Messages postés 1343 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 10 avril 2014 - 16 nov. 2011 à 19:20
prypiat_child Messages postés 1343 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 10 avril 2014 - 16 nov. 2011 à 19:20
A voir également:
- Calcul en C...
- Calcul moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel calcul surface terrain gratuit - Télécharger - Outils professionnels
- Calcul km marche à pied gratuit - Télécharger - Sport
6 réponses
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
Modifié par prypiat_child le 28/10/2011 à 21:58
Modifié par prypiat_child le 28/10/2011 à 21:58
non, c'est bien "int main()". C'est la fonction principale. C'est "int" parce qu'elle doit retourner l'entier 0 si tout se passe bien (d'où le "return 0;" à la fin, qui manque dans ton code. Attention aussi à mettre une accolade fermante).
Tes initialisations sont... spéciales ; tes variables "Edf", etc n'ont pas de type ; étonnant que le compilateur ne dise rien...
" scanf("%lf,&Euros"); " est faux ; essaie plutôt "scanf("%lf",&Euros);" . Ce qui est entre les guillemets correspond à la "forme" de ce que l'utilisateur doit entrer au clavier. En écrivant "scanf("%lf,&Euros");", cela voudrait dire que l'utilisateur devrait entrer exactement [un double],&Euros et que le résultat ne serait stocké nulle part... (d'ailleurs, je doute que cela compile ?) Alors que tu souhaites qu'il entre uniquement un double, et que le résultat soit stocké à l'adresse de "Euros" si j'ai bien compris... D'où ma correction. (j'espère que je suis clair^^)
De même pour "printf("le total de vos payes est de &Euros, Euros\n\n");"... Ca affichera exactement ce qui est entre les guillemets et en aucun cas la valeur contenue dans la variable "euros". Enfin je te laisse réfléchir pour ca. Il faut se poser la question de ce que tu veux qu'il apparaisse à l'écran.
D'ailleurs, si tu veux faire des calculs avec ces nombres, il vaudrait mieux qu'ils soient tous de même type - sans quoi le compilateur risque de ne pas être content^^
"Il siiiiigne a la pointe de son épééééée, d'un W qui veut dire WORROOOOOO !!!!"
Tes initialisations sont... spéciales ; tes variables "Edf", etc n'ont pas de type ; étonnant que le compilateur ne dise rien...
" scanf("%lf,&Euros"); " est faux ; essaie plutôt "scanf("%lf",&Euros);" . Ce qui est entre les guillemets correspond à la "forme" de ce que l'utilisateur doit entrer au clavier. En écrivant "scanf("%lf,&Euros");", cela voudrait dire que l'utilisateur devrait entrer exactement [un double],&Euros et que le résultat ne serait stocké nulle part... (d'ailleurs, je doute que cela compile ?) Alors que tu souhaites qu'il entre uniquement un double, et que le résultat soit stocké à l'adresse de "Euros" si j'ai bien compris... D'où ma correction. (j'espère que je suis clair^^)
De même pour "printf("le total de vos payes est de &Euros, Euros\n\n");"... Ca affichera exactement ce qui est entre les guillemets et en aucun cas la valeur contenue dans la variable "euros". Enfin je te laisse réfléchir pour ca. Il faut se poser la question de ce que tu veux qu'il apparaisse à l'écran.
D'ailleurs, si tu veux faire des calculs avec ces nombres, il vaudrait mieux qu'ils soient tous de même type - sans quoi le compilateur risque de ne pas être content^^
"Il siiiiigne a la pointe de son épééééée, d'un W qui veut dire WORROOOOOO !!!!"
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
29 oct. 2011 à 14:40
29 oct. 2011 à 14:40
héhé j'ai finit le programme !!
enfin pas vraiment parceque ce ne sont pas les chiffres exact ya pas tout non plus mais ca marche j'ai plus qu'a remplacer
maintenant mon but c'est de mettre tout ca dans une vrai fenêtre (pour win et nux)
enfin pas vraiment parceque ce ne sont pas les chiffres exact ya pas tout non plus mais ca marche j'ai plus qu'a remplacer
#include <stdio.h> #include <stdlib.h> int main() { double Euros = 0.0; double Edf = 57.0; double Telephone = 30.0; double Internet = 35.0; double Transport = 50.0; double Resultat = 0.0; double Resultat1 = 0.0; double Resultat2 = 0.0; double Resultat3 = 0.0; printf("CASH: L'ARGENT DU MOIS\n\n"); printf("Entrer la somme total de vos payes\n"); scanf("%lf",&Euros); printf("le total de vos payes est de %f Euros\n\n", Euros); printf("Maintenant je soustrait l'EDF %f euros\n\n", Edf); Resultat = Euros - Edf; printf("Il reste %f euros \n\n", Resultat); printf("Déduction du téléphone %f euros\n", Telephone); Resultat1 = Resultat - Telephone; printf("Il reste %f euros\n\n",Resultat1); printf("Dédusction d'internet %f euros\n", Internet); Resultat2 = Resultat1 - Internet; printf("Il reste %f euros\n\n", Resultat2); printf("Déduction du transport %f euros\n", Transport); Resultat3 = Resultat2 - Transport; printf("Il reste %f euros\n\n", Resultat3); if (Resultat3 > 500) { printf("C'est cooooool avec %f euros vous allez pouvoir faire le mois en vous faisant plaisir héhé !! ;)", Resultat3); } else { printf("OULALA !! Il reste %f euros, il va falloir se serrer la ceinture ce mois-ci", Resultat3); } return 0; }
maintenant mon but c'est de mettre tout ca dans une vrai fenêtre (pour win et nux)
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
30 oct. 2011 à 14:35
30 oct. 2011 à 14:35
Comment je peux faire pour que ce programme apparaisse dans une fenetre plutot que dans une fentre DOS?? j'ai trouvé Qt j'ai donc recodé le petitprogramme en C++ maintenant je ne sais pas comment générer ce prog dans une fenetre...
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
Modifié par prypiat_child le 30/10/2011 à 15:05
Modifié par prypiat_child le 30/10/2011 à 15:05
ca n'est pas expliqué sur site du zéro ? Je connais en gros le C++ mais pas du tout la bibliothèque Qt donc j'aurai du mal à t'aider^^... Mais le sdz est assez complet à ce niveau non ?
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
30 oct. 2011 à 15:47
30 oct. 2011 à 15:47
uje n'ai rien vu sur sdz pour faire des fenetres en C appart avec la lib SDL qui en fait ne m'interesse pas puisque je ne suis pas entrain de créer un jeux... en C++ c'est expliqué avec Qt donc apprendre a faire des fenetrs, fenetres avec bouton barre de chargement et tout ca seulement je voudrais juste que mon prog s'affiche dans une fenetre win (apparament cest de l'API) et je n'ai rien vu la dessus...
En gros pour donner un exemple je voudrai que le scanf m affiche un rectangle de saisie... et ca je ne trouve pas
En gros pour donner un exemple je voudrai que le scanf m affiche un rectangle de saisie... et ca je ne trouve pas
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
Modifié par prypiat_child le 30/10/2011 à 16:11
Modifié par prypiat_child le 30/10/2011 à 16:11
En C++ on n'utilise pas printf/scanf mais std::cout et std::cin.^^
Et aucune de ces fonctions n'affichera le rectangle de saisie "automatiquement", c'est à toi de gérer ca et d'indiquer que tu veux un rectangle de saisie, et que l'utilisateur devra le remplir puis valider (avec un bouton par exemple). A toi après de récupérer la valeur entrée (y'a certainement une fonction getText() ou un truc semblable), de la stocker dans une variable, puis faire les calculs et d'afficher le résultat. Ca n'est pas automatique et ca demande une part de réflexion non négligeable^^
Et pour faire un rectangle de saisie avec Qt, c'est bien indiqué sur le sdz (partie "Saisir une information") : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c
Et aucune de ces fonctions n'affichera le rectangle de saisie "automatiquement", c'est à toi de gérer ca et d'indiquer que tu veux un rectangle de saisie, et que l'utilisateur devra le remplir puis valider (avec un bouton par exemple). A toi après de récupérer la valeur entrée (y'a certainement une fonction getText() ou un truc semblable), de la stocker dans une variable, puis faire les calculs et d'afficher le résultat. Ca n'est pas automatique et ca demande une part de réflexion non négligeable^^
Et pour faire un rectangle de saisie avec Qt, c'est bien indiqué sur le sdz (partie "Saisir une information") : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
Modifié par prypiat_child le 30/10/2011 à 16:22
Modifié par prypiat_child le 30/10/2011 à 16:22
Printf(), scanf() et leurs équivalents C++ servent uniquement à afficher du texte dans la console, et rien de plus. Si tu veux une appli sous forme de fenêtre Windows, il faut utiliser des labels ou des champs de saisie que tu pourra remplir et placer à ta guise dans une fenêtre que tu aura préalablement définie.
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
30 oct. 2011 à 18:31
30 oct. 2011 à 18:31
^^ je m'en suis rendu compte...
Et j'ai lu déjà un peut les cours sur Qt mais ce que je ne comprend pas c'est, est ce que je peut copier/coller mes calculs dans Qt pour qu'ensuite je les affiche dansune boite d edialogue??
Sinon j'ai vu qu'en Java il était possible de créer un fenetre directement, alors je regarde aussi de ce coté là
Et j'ai lu déjà un peut les cours sur Qt mais ce que je ne comprend pas c'est, est ce que je peut copier/coller mes calculs dans Qt pour qu'ensuite je les affiche dansune boite d edialogue??
Sinon j'ai vu qu'en Java il était possible de créer un fenetre directement, alors je regarde aussi de ce coté là
OUHHHAAAAAAAA !!!
je n'en attendais pas autant de toi mais là franchement grand MERCI, tu me retire une épine du pied considérable.
Je me sent d'attaque pour relire les cours ;)
Je vais bien tout reprendre dans l'ordre et espère arriver a mes fin, héhé MERCI
Bonne soirée ;) :) ;)
je n'en attendais pas autant de toi mais là franchement grand MERCI, tu me retire une épine du pied considérable.
Je me sent d'attaque pour relire les cours ;)
Je vais bien tout reprendre dans l'ordre et espère arriver a mes fin, héhé MERCI
Bonne soirée ;) :) ;)
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
Modifié par prypiat_child le 1/11/2011 à 11:19
Modifié par prypiat_child le 1/11/2011 à 11:19
De rien ! ^^ Bon courage ! Et en plus à moi ca m'aura permis d'apprendre les bases de Qt^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je tourne en rond et tourne en rond, jy suis presque... mais pour l'instant je tourne en rond...
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
2 nov. 2011 à 19:10
2 nov. 2011 à 19:10
Un nouveau problème ?^^
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
7 nov. 2011 à 18:05
7 nov. 2011 à 18:05
ptit UP pour dire que j'avance, mais avec le peut de temps que j'ai ca avnce doucement ;)
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
15 nov. 2011 à 21:44
15 nov. 2011 à 21:44
hey hey hey !!!!
j'ai fini le prog :D
bon je n'arrive pas a afficher le resultat final mais ca marche je rentre un nombre je clic sa calcul et hop un QMessageBox s'affiche suivant la valeur qu'il reste ^^
si concat avec des + Qt me sort une erreur comme quoi ca ne passe pas avec un double...
j'ai fini le prog :D
bon je n'arrive pas a afficher le resultat final mais ca marche je rentre un nombre je clic sa calcul et hop un QMessageBox s'affiche suivant la valeur qu'il reste ^^
si concat avec des + Qt me sort une erreur comme quoi ca ne passe pas avec un double...
prypiat_child
Messages postés
1343
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
10 avril 2014
272
Modifié par prypiat_child le 16/11/2011 à 19:22
Modifié par prypiat_child le 16/11/2011 à 19:22
ca ne passe pas avec des double ? Possible remarque... J'avoue ne jamais avoir utilisé ca avec des doubles.
essaie avec "sprintf(ton_string,"%lf",ton_double);"
Enfin, c'est pas très "c++", c'est limite niveau "propreté" mais ca marchera.
essaie avec "sprintf(ton_string,"%lf",ton_double);"
Enfin, c'est pas très "c++", c'est limite niveau "propreté" mais ca marchera.
28 oct. 2011 à 22:03
Sinon, sans rire, tu as essayé de le compiler ce code ?
28 oct. 2011 à 22:26
en faite j'ai commencé ce code ya a peu près 20 min avant de poster.
Donc je te remercie pour toutes ces remarque ;) ;) je vais rectifier ça de suite.
Mais du coup comment je fais pour récupérer la valeur entrer a au premier scanf pour ensuite déduire le reste???
parce que si je suis le code a la lettre pour l'instant il va me demander de rentrer ma paye ensuite il va me dire que ma paye est de temps et au moment de déduire il va allé chercher la variable Euros qui est initialiser a 0 non ??
Merci et tu es très clair ;)
Modifié par prypiat_child le 28/10/2011 à 22:34
Quoique tu fasses donc comme traitements avec cette variable Euro, il prendra a chaque fois la dernière valeur que tu as stockée dedans. Ici en l'occurrence celle entrée au clavier. Euro ne revaudra jamais 0 sauf si tu lui affectes cette valeur explicitement plus loin dans le code.
Enfin bon, fais des tests et tu verra^^ Il n'y a pas de risque^^
28 oct. 2011 à 22:42
28 oct. 2011 à 22:53
Bonne soirée à toi ;) je te dirais si j'ai reussi a faire ce que je veux (mais je pense que j'en suis loin, très loin...)