begin process at 2008 08 29 22:58:30
1 233 930 membres
450 nouveaux aujourd'hui
14 294 membres club

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 !

HOTCALCULATOR : UNE CALCULATRICE QUI ANALYSE DIRECTEMENT UNE EXPRESSION COMPLÈTE


Information sur la source

Catégorie :Maths & Algorithmes Niveau : Initié Date de création : 05/04/2004 Date de mise à jour : 05/04/2004 14:03:36 Vu / téléchargé: 1 833 / 363

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Il suffit d'entrer une expression comme "sin(30)*4+6^3" et la calculatrice sort le résultat.
Gère les parenthèses, les priorités des opérateurs, les sinus/cosinus (en radians) et les puissances(x^y). Il est facile d'ajouter d'autres fonctions (log, racine...).
L'algorythme fonctionne par séparation récursive de l'expression en deux, jusqu'a obtenir une expression facilement calculable (comme 3+4).

Merci de le tester et de me donner vos commentaires...

Spoofix.
http://video.game.free.fr

Source

  • Voir le zip joint.
  • C'est du code pour VC++ : l'interface est en Win32Api.
  • Créer un nouveau projet et ajouter les fichiers du zip dans ce projet (main.c dans source files, resource.rc dans resource files, ...).
  • Attention, pour VC++ 7, lors de la création d'un nouveau "projet Win32", il faut allez dans "Paramètres de l'application" et cliquer sur "projet vide"... Il doit y avoir une option similaire dans VC++ 6.
  • Sinon, vous pouvez facilement adapter le programme pour un mode console...
  • J'espere que tout fonctionnera bien pour vous...
Voir le zip joint.
C'est du code pour VC++ : l'interface est en Win32Api.
Créer un nouveau projet et ajouter les fichiers du zip dans ce projet (main.c dans source files, resource.rc dans resource files, ...).
Attention, pour VC++ 7, lors de la création d'un nouveau "projet Win32", il faut allez dans "Paramètres de l'application" et cliquer sur "projet vide"... Il doit y avoir une option similaire dans VC++ 6.

Sinon, vous pouvez facilement adapter le programme pour un mode console...

J'espere que tout fonctionnera bien pour vous...
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de BruNews le 05/04/2004 13:54:37 administrateur CS

    Salut,

    VS ne cree aucun fichier qu'on ne desire pas.
    Suffit de cocher 'prejet vide' avnt de tout valider, rien de change en cela a VS6.

    BruNews, Admin CS, MVP Visual C++

  • signaler à un administrateur
    Commentaire de spoofix le 05/04/2004 13:59:40

    En effet, je n'avais pas vu qu'il y avait un onglet "Paramètres de l'application" (sans etre de mauvaise fois, il faut le voir, qu'on peut cliquer dessus ! ;)...
    Mea culpa.

  • signaler à un administrateur
    Commentaire de karamimed le 12/04/2004 19:47:50

    pouvez-vous déposer le code de <windows.h> ou l'envoyer à (karamimed@yahoo.fr),merci d'avance.

  • signaler à un administrateur
    Commentaire de BruNews le 12/04/2004 19:51:02 administrateur CS

    aucun code dans <windows.h>, seulement quelques #include

    BruNews, Admin CS, MVP Visual C++

  • signaler à un administrateur
    Commentaire de karamimed le 13/04/2004 11:49:24

    puis-je avoir ces #include.

  • signaler à un administrateur
    Commentaire de BruNews le 13/04/2004 11:52:51 administrateur CS


    /*++ BUILD Version: 0001    Increment this if a change has global effects

    Copyright (c) Microsoft Corporation. All rights reserved.

    Module Name:


        windows.h

    Abstract:

        Master include file for Windows applications.

    --*/

    #ifndef _WINDOWS_
    #define _WINDOWS_


    #ifndef WINVER
    #define WINVER 0x0501
    #else
    #if defined(_WIN32_WINNT) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400)
    #error WINVER setting conflicts with _WIN32_WINNT setting
    #endif
    #endif

    #ifndef _INC_WINDOWS
    #define _INC_WINDOWS

    #if defined (_MSC_VER) && (_MSC_VER >= 1020)
    #pragma once
    #endif

    /*  If defined, the following flags inhibit definition
    *     of the indicated items.
    *
    *  NOGDICAPMASKS     - CC_*, LC_*, PC_*, CP_*, TC_*, RC_
    *  NOVIRTUALKEYCODES - VK_*
    *  NOWINMESSAGES     - WM_*, EM_*, LB_*, CB_*
    *  NOWINSTYLES       - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_*
    *  NOSYSMETRICS      - SM_*
    *  NOMENUS           - MF_*
    *  NOICONS           - IDI_*
    *  NOKEYSTATES       - MK_*
    *  NOSYSCOMMANDS     - SC_*
    *  NORASTEROPS       - Binary and Tertiary raster ops
    *  NOSHOWWINDOW      - SW_*
    *  OEMRESOURCE       - OEM Resource values
    *  NOATOM            - Atom Manager routines
    *  NOCLIPBOARD       - Clipboard routines
    *  NOCOLOR           - Screen colors
    *  NOCTLMGR          - Control and Dialog routines
    *  NODRAWTEXT        - DrawText() and DT_*
    *  NOGDI             - All GDI defines and routines
    *  NOKERNEL          - All KERNEL defines and routines
    *  NOUSER            - All USER defines and routines
    *  NONLS             - All NLS defines and routines
    *  NOMB              - MB_* and MessageBox()
    *  NOMEMMGR          - GMEM_*, LMEM_*, GHND, LHND, associated routines
    *  NOMETAFILE        - typedef METAFILEPICT
    *  NOMINMAX          - Macros min(a,b) and max(a,b)
    *  NOMSG             - typedef MSG and associated routines
    *  NOOPENFILE        - OpenFile(), OemToAnsi, AnsiToOem, and OF_*
    *  NOSCROLL          - SB_* and scrolling routines
    *  NOSERVICE         - All Service Controller routines, SERVICE_ equates, etc.
    *  NOSOUND           - Sound driver routines
    *  NOTEXTMETRIC      - typedef TEXTMETRIC and associated routines
    *  NOWH              - SetWindowsHook and WH_*
    *  NOWINOFFSETS      - GWL_*, GCL_*, associated routines
    *  NOCOMM            - COMM driver routines
    *  NOKANJI           - Kanji support stuff.
    *  NOHELP            - Help engine interface.
    *  NOPROFILER        - Profiler interface.
    *  NODEFERWINDOWPOS  - DeferWindowPos routines
    *  NOMCX             - Modem Configuration Extensions
    */

    #if defined(RC_INVOKED) && !defined(NOWINRES)

    #include <winresrc.h>

    #else

    #if defined(RC_INVOKED)
    /* Turn off a bunch of stuff to ensure that RC files compile OK. */
    #define NOATOM
    #define NOGDI
    #define NOGDICAPMASKS
    #define NOMETAFILE
    #define NOMINMAX
    #define NOMSG
    #define NOOPENFILE
    #define NORASTEROPS
    #define NOSCROLL
    #define NOSOUND
    #define NOSYSMETRICS
    #define NOTEXTMETRIC
    #define NOWH
    #define NOCOMM
    #define NOKANJI
    #define NOCRYPT
    #define NOMCX
    #endif

    #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86)
    #define _X86_
    #endif

    #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_AMD64)
    #define _AMD64_
    #endif

    #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_M68K)
    #define _68K_
    #endif

    #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_MPPC)
    #define _MPPC_
    #endif

    #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_M_IX86) && !defined(_AMD64_) && defined(_M_IA64)
    #if !defined(_IA64_)
    #define _IA64_
    #endif // !_IA64_
    #endif

    #ifndef _MAC
    #if defined(_68K_) || defined(_MPPC_)
    #define _MAC
    #endif
    #endif

    #if defined (_MSC_VER)
    #if ( _MSC_VER >= 800 )
    #ifndef __cplusplus
    #pragma warning(disable:4116)       // TYPE_ALIGNMENT generates this - move it
                                        // outside the warning push/pop scope.
    #endif
    #endif
    #endif

    #ifndef RC_INVOKED
    #if     ( _MSC_VER >= 800 )
    #pragma warning(disable:4514)
    #ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__
    #pragma warning(disable:4103)
    #endif
    #if _MSC_VER >= 1200
    #pragma warning(push)
    #endif
    #pragma warning(disable:4001)
    #pragma warning(disable:4201)
    #pragma warning(disable:4214)
    #endif
    #include <excpt.h>
    #include <stdarg.h>
    #endif /* RC_INVOKED */

    #include <windef.h>
    #include <winbase.h>
    #include <wingdi.h>
    #include <winuser.h>
    #if !defined(_MAC) || defined(_WIN32NLS)
    #include <winnls.h>
    #endif
    #ifndef _MAC
    #include <wincon.h>
    #include <winver.h>
    #endif
    #if !defined(_MAC) || defined(_WIN32REG)
    #include <winreg.h>
    #endif
    #ifndef _MAC
    #include <winnetwk.h>
    #endif

    #ifndef WIN32_LEAN_AND_MEAN
    #include <cderr.h>
    #include <dde.h>
    #include <ddeml.h>
    #include <dlgs.h>
    #ifndef _MAC
    #include <lzexpand.h>
    #include <mmsystem.h>
    #include <nb30.h>
    #include <rpc.h>
    #endif
    #include <shellapi.h>
    #ifndef _MAC
    #include <winperf.h>
    #include <winsock.h>
    #endif
    #ifndef NOCRYPT
    #include <wincrypt.h>
    #include <winefs.h>
    #include <winscard.h>
    #endif

    #ifndef NOGDI
    #ifndef _MAC
    #include <winspool.h>
    #ifdef INC_OLE1
    #include <ole.h>
    #else
    #include <ole2.h>
    #endif /* !INC_OLE1 */
    #endif /* !MAC */
    #include <commdlg.h>
    #endif /* !NOGDI */
    #endif /* WIN32_LEAN_AND_MEAN */

    #include <stralign.h>

    #ifdef _MAC
    #include <winwlm.h>
    #endif


    #ifdef INC_OLE2
    #include <ole2.h>
    #endif /* INC_OLE2 */

    #ifndef _MAC
    #ifndef NOSERVICE
    #include <winsvc.h>
    #endif

    #if(WINVER >= 0x0400)
    #ifndef NOMCX
    #include <mcx.h>
    #endif /* NOMCX */

    #ifndef NOIME
    #include <imm.h>
    #endif
    #endif /* WINVER >= 0x0400 */
    #endif

    #ifndef RC_INVOKED
    #if     ( _MSC_VER >= 800 )
    #if _MSC_VER >= 1200
    #pragma warning(pop)
    #else
    #pragma warning(default:4001)
    #pragma warning(default:4201)
    #pragma warning(default:4214)
    /* Leave 4514 disabled.  It's an unneeded warning anyway. */
    #endif
    #endif
    #endif /* RC_INVOKED */

    #endif /* RC_INVOKED */

    #endif /* _INC_WINDOWS */
    #endif /* _WINDOWS_ */

  • signaler à un administrateur
    Commentaire de karamimed le 14/04/2004 12:40:48

    merci pour le code, mais j'ai pas les codes d'aucune des include existants dans le code (excpt.h  -stdarg.h  -  winreg.h ....)

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS