Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Aidez moi pour une calculette en C [ Archives / Au secours ] (pingouf)

lundi 15 mars 2004 à 10:26:22 | Aidez moi pour une calculette en C

pingouf

Bonjour, j'ai besoin d'aide pour réaliser une calculette en C. Je suis un tout jeune programmeur et le début est toujours difficile aidez moi svp.
Je dois faire la réalisation d'une calculette de 5 opérations ( addition, soustraction, multiplication, division et reste) opérant sur des données décimales stockées sous forme de chaînes de caractères (50 maximum ).
Chaque opération est réalisée par une fonction spécifique qui peut elle-même utiliser des sous-fonctions. Ces fonctions seront nommées ADD,SOUS,DIV,MUL, MOD ( modulo code % en C).
La fonction ADD sera réalisée en Assembleur et le reste en C.

Chaque zone de données est une structure DONN_DECI composée de :
- Un long NBR_OCT donnant le nombre utile d'octets de la donnée
- Un tableau de char DONN contenant la donnée en caractères décimaux.

Les arguments sont déclarés de la façon suivante dans les fonctions :
ADD(struct DONN_DECI*NBRE_1,struct DONN_DECI*NBR_2)

Le résultat est un pointeur sur une structure DONN_DECI.
Le résultat ne doit pas être une variable locale.

La fonction main doit accepter une option -c pour positionner un booléen commandant des impressions de contrôle nécessaires pour la mise au point.

Cette fonction effectue une boucle enchaînant les opérations suivantes :

Lecture du premier opérande
Lecture du code de l'opération (+ * - / %)
Lecture du deuxième opérande

Vérification des caractères de chaque opérande et du code opération
Si vérification correcte exécution et affichage du résultat
La boucle s'arrete pas Ctrl-D ou détection de la lettre q en 1ère position d'un opérande.

Il faut gérer le nombre de chiffres du résultat
Il est utile ppour faciliter les opérations ADD et SOUS d'avoir des zones de même longueur en ajoutant des "0" à gauche du plus petit (123+5 devient 123 +005)
Pour la multiplication il faut prévoir une multiplication à 1 chiffre et une addition décalée selon l'exemple (123*45=(123*4)*10+123*5

La multiplication par 10 est obtenue pas un décalage à gauche du nombre et mise d'un "0" à la fin.
La division et le modulo sont obtenus en même temps ; seul le résultat retourné change.
La division s'effectue par la suite de soustractions décalées et de comparaisons.

Merci de bien vouloir m'aider à faire ce sujet.
Si cela ne vous dérange pas me donner le programme avec des explications serait tres aimable de votre part.
Merci d'avance.
Je vous presente ici mon adresse e-mail si vous voulez bien m'envoyer le programme :
pingouf@hotmail.com



lundi 15 mars 2004 à 11:00:23 | Re : Aidez moi pour une calculette en C

BruNews

Administrateur CodeS-SourceS
J'y crois pas, de plus mal en plumeau.
Maintenant on demande son devoir fourni au complet et livre.
Au moins tu montrerais ton debut de travail et tu demanderais explications sur points precis, pas de prob pour avoir de l'aide, mais la on se fout du monde !!!

ciao...
BruNews, Admin CS, MVP Visual C++

lundi 15 mars 2004 à 11:05:56 | Re : Aidez moi pour une calculette en C

hilairenicolas


Et un café aussi ?

moi aussi, j'ai programme à faire, si vous voulez bien venir vous lever le matin pour aller bosser à ma place, ca serait bien aimable.

Sérieusement, ceci est un forum d'entraide, on est pas là pour faire ton boulot.
Entraide ca veut dire par exemple, j'ai fait une grosse partie, j'ai fait l'addition en assembleur mais je sais pas comment l'integrer dans mon code c. Et la, les entraideurs te parlent de __asm
Ou bien, j'ai regardé dans msdn, et j'ai trouvé la fonction getMachinBidule, mais là j'ai une erreur retournée par getlasterror, d'ou ca vient ?

Voila, y a un moment ou faut se sortir le poil de la main, commence à bosser, et si tu bloques sur un point précis (plus il est précis, et plus c'est facile de t'aider), c'est à ce moment là que les entraideurs rentreront en action.

Pour ton problème, pense deja à l'algo général, découpe en fonctions et affine au fur et à mesure

Cordialement

lundi 15 mars 2004 à 13:11:34 | Re : Aidez moi pour une calculette en C

ymca2003

commence par taper "calculatrice" dans la zone de recherche, tu trouvera pas mal d'exemple fait par d'autres.



Cette discussion est classé dans : fonction, résultat, multiplication, calculette, donn


Répondre à ce message

Sujets en rapport avec ce message

multiplication 32bits*32 bits, résultat dans 2 32 bits [ par magodu22 ] je simule un microprocesseur qui fonctionne en assembleur en langage C. dans ce projet, je dois executer une multiplication de 2 mots de 32 bits, et p Créer un thread et recevoir le résultat [WIN32] [ par Alx1x ] Bonjour. J'ai fait un programme sous Windows en C (avec uniquement l'API windows) avec plusieurs fonctions dont une est blocante. Je voudrais y rajout probleme de delcaration d'une fonction [ par naru ] slt, encore moi.j'ai une fonction qui renvoie pas de résultat que je déclare comme ça :void CMonProgDlg::Ausuivant()mais il me génère tout un tas d'er Multiplication sur des tableaux entiers [ par kikouk ] Salut.J'ai besoin de créer une procédure sous Visual C++ qui réalise la multiplication de 2 grands entiers (stockés dans 2 tableaux (1 dimension)) et Une fonction équivalente à la fonction Eval() sous Matlab ? [ par dark1933 ] Salut à tous!Je souhaiterais savoir s'il existe une fonction C/C++ équivalente à la fonction Eval() sous Matlab ?J'ai commencé à coder ma propre fonct pb ecriture nombre opengl [ par mat74 ] salut je suis en train de faire 1 programme en open gl et jai 1 pb.c'est 1 calculette.et qd j'affiche le résultat en déclarant la variable résultat co Keylogger, encore... [ par sebleboss2002 ] Bonjour à tous !J'ai vu que la question à déjà été soulevée sur le forum, mais je n'ai pas trouvé mon bonheur... Ma question est concrète : Je voudrai langue OS & ressources [ par hilairenicolas ] Bonjour à tous,je cherche à récupperer des chaines de caracteres en fonction de la langue de l'OS.Par exemple, je cherche à pouvoir afficher un "OUI/N Arreter fonction PlaySound [ par glipper ] Bonjour,j'utilise la fonction PlaySound() pour lire un son wav, et j'aimerais pouvoir la stopper en cours de route (sachant que je lui ai donné les pa Utilisation d'une fonction callback [ par laurentl2000 ] Bonjour, Voici une fonction callback destinée à envoyer les titres des fenêtres IE ouvertes dans une listbox... BOOL CALLBACK EnumWindowsProc(HWND hwn


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,696 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.