Programme qui rassemble plusieurs petits programmes

imanova002 Messages postés 5 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 15 octobre 2009 - 11 oct. 2009 à 17:00
imanova002 Messages postés 5 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 15 octobre 2009 - 15 oct. 2009 à 21:36
bonjour,
j suis une débutante en programmation C, a peine j'essaie de faire des programmes de comparaison d'addition d nombres ...
Mon problème c'est que je dois réaliser un programme qui rassemble 5 autres petits programmes:

1-inversion d'une chaine de caractères
2-création dune pile avec les vérifications (pile Pleine- pile Vide-empiler-dépiler)
3-conversion d l'infixé au post-fixé
4-évaluation d'une expression post fixée
5-vérification des parenthèses (si une expression est bien parenthésée ou pas)
Mais le problème essentiel . Le programme principal doit exécuter tous ces programmes:Par exemple dans mon programme principal quand je l'exécute il me donne: pour inverser une chaine d caractères tapez 1 et ainsi d suite
aidez moi SVP je sais pas comment faire. Merci à l'avance

2 réponses

Jackyzgood Messages postés 26 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 6 mars 2010
15 oct. 2009 à 20:56
Pour faire ce genre de chose il faut crée plusieurs fonctions (de préférence 1 par fichier.c c'est plus claire), ensuite tu gère les frappes de touche avec SDL_event de cette manière :

//initialisation des evenements
SDL_Event event;

//On peut aussi utiliser SDL_WaitEvent mais cette fonction attend un évenement (fonction bloquante) contrairement a SDL_PollEvent
SDL_PollEvent(event);

//switch avec event.type qui va permetre de déterminer le type d'évenement
switch((*event).type)
{

/********************************************
        ********************SOURIS*******************
        ********************************************/
case SDL_MOUSEBUTTONDOWN:

     break;


/********************************************
        ******************CLAVIER********************
        ********************************************/			
        case SDL_KEYDOWN:
        	switch ((*event).key.keysym.sym)
        	{
               		 case SDLK_KP1:
                   	 //correspond au 1 du pavé numérique on peut par exemple mettre :
                         return 1;
                         //mais ce n'est pas la seule manière de faire
                  	 break;

               		 case SDLK_KP2:
                   	 //correspond au 2 du pavé numérique
                    	 break;
                    
                	 case SDLK_KP3:
                    	 //correspond au 3du pavé numérique
                   	 break;                   
       		 }
        break;
}




Je te conseille également de faire un fichier a part pour ça. Ensuite il suffit de regrouper tout dans le main :


int main(int argc, char *argv[])
{
    int continuer 1, choix 0;
    
    while(continuer)
    {
        choix = fonction_gestion_des_evenements(variable1, variable2,.....);

        switch (choix)
        {
            case 1:
                fonction_inversion_de_caractere();
                break;

            case 2:
                fonction_creation_pile();
                break;

            //et ainsi de suite
         }
}

0
imanova002 Messages postés 5 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 15 octobre 2009
15 oct. 2009 à 21:36
Merci infiniment ton aide m'est très précieuse. En effet le prof nous a recommandé les switch cases. Merci encore
0
Rejoignez-nous