Forum Des Maths
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



Maths ; Physique-Chimie ; SVT
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache Runner
69.99 € 139.99 €
Voir le deal

 

 [C] Erreur du programme à l'execution.

Aller en bas 
4 participants
AuteurMessage
Fl_0RI@/\/ 54
hyper posteur
hyper posteur
Fl_0RI@/\/ 54


Masculin
Nombre de messages : 459
Age : 32
Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle.
Date d'inscription : 29/01/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeLun 5 Juin - 17:59

Bonjour (stardeath Very Happy) ! Je suis sur un projet en C. Lorsque j'essaie de compiler le programme, mon IDE (Dev-cpp) ne m'indique aucune erreur. Pourtant, lors de l'execution, il ne fait pas les tâches escomptées. Je comprend vraiment rien. Voilà le code source:

Code:
#ifndef DEF_COM
#define DEF_COM

// Ariane v. 1.0 ________
// auteur: Florian Simon _______
// fichier: Commandes.h _______

// Structure de commandes
typedef struct CommandeStructure CommandeStructure;
struct CommandeStructure
{
      char actionCommande;
      char nomCommande;
      char descriptionCommande;
};

// lanceurDaliases
void lanceurDaliases();

// help
void help(FILE *fichier);
#endif

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Commandes.h"
// Ariane v. 1.0 ________
// auteur: Florian Simon _______
// fichier: Help.c ________

void help(FILE* fichier)
  {
  // def de var et presentation   
  printf("Menu d'aide.\n\n");
  char chaine[100] = {0}; 
  int x = 0;           
  system("CLS");
  while (fgets(chaine,1000,fichier) != NULL)
      {
          x++;
          if (x % 3 == 0)
          {
                printf("\n");
                x = 0;
          }
          printf(" %s",chaine);
      }
  printf("\n\n");
  }

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Commandes.h"
// Ariane v. 1.0 ________
// auteur: Florian Simon _______
// fichier: LanceurDaliases.c _______

void lanceurDaliases()
  {
          // Initialisation de variables         
          long i = 0;
          char commande[100] = "DEFAULT";
          int boucle = 0;         
          FILE *fichier = NULL;
          int nombreLignes = 0;
          char chaine[100] = {0};
          int nombreAliases = 0;
          char chaine2[100] = {0};
          char chaine3[100] = {0};
          char chaine4[100] = {0};
          FILE *fichier2 = NULL;
       
          // Verification de l'ouverture du fichier
          fichier = fopen("AliasList.config","r");
          if (fichier == NULL) exit(0);
         
          // Compter le nombre de lignes dans le fichier
          while (fgets(chaine,1000,fichier) != NULL)
          {
              nombreLignes++;
          }
             
          // On rewinde
          rewind(fichier); 
   
          // Nombres D'aliases
          nombreAliases = (nombreLignes / 3);
       
          // Verif du nombre d'aliases
          if (nombreLignes % 3 != 0)
          {
          printf("\nFichier d'aliases corrompu\n\n");
          system("Pause");
          exit(0);
          }
                                           
          // Boucle principale
          while (boucle = 0)
          { 
              system("CLS");
           
              // on rewinde
              rewind(fichier);
           
              // Présentation 
              printf("Bienvenue dans le lanceur d'aliases ! Entrez une commande ou tapez help pour de l'aide.\n");

              // Demande de l'user
              scanf("%s",commande);
           
              // Si on tape help
              if (strcmp(commande,"help"))
              {
              help(fichier);
              }
           
              // Si on tape quit
              if (strcmp(commande,"quit"))
              {
              help(fichier);
              }
           
              // On cherche un alias
              while (fgets(chaine,1000,fichier) != NULL || strcmp(chaine,commande) != 0)
              {
                    strcmp(chaine,commande);
              }
           
              // Dans le cas ou aucun alias n'est trouvé
              if (fgets(chaine,1000,fichier) == NULL)
              {
              system("CLS");
              printf("Alias inconnu.\n");
              }
           
              // on rewinde
              rewind(fichier);
           
              // On cherche un alias
              while (fgets(chaine,1000,fichier) != NULL || strcmp(chaine,commande) != 0)
              {
                    strcmp(chaine,commande);
              }               

           
            // Ouvrir fichier2
            fichier2 = fopen("prog.bat","w");
            if (fichier2 == NULL)
            {
                system("CLS");
                printf("Erreur de lancement de l'alias !\n\n");
                system("pause");
                exit(0);
            }
          // On récupère la commande correspondant à l'alias
          fgets(chaine,1000,fichier);
       
          // Et on l'ecrit dans le fichier
          fprintf(fichier2,"%s",chaine);
       
          // On lance le fichier, et voilà, l'alias et lancé !
          system("start C:\\Program Files\\Ariane\\prog.bat");
          }         
       
          fclose(fichier);
          fclose(fichier2);
 
    }

Code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Commandes.h"
// Ariane v. 1.0 ________
// auteur: Florian Simon _______
// fichier: Main.c ________

int main(int argc, char *argv[])
{
  // Declaration de variables
  int choixDuTypeDoperation = 0;
 
  // Présentation...
  system("CLS");
  system("COLOR 0A");
  printf("Bienvenue dans Ariane Toolkit v. 1.0 ! Que voulez vous faire ?\n\n");
  printf("  1 - Utiliser le lanceur d'aliases\n");
  printf("  2 - Gerer mes aliases\n\n");
  printf("Que choisissez-vous ? ");
  scanf("%d",&choixDuTypeDoperation);
  system("CLS");
 
  // Début du switch
  switch(choixDuTypeDoperation)
    {
          case 1:
          lanceurDaliases();
          break;
    }
  remove("C:\\Program Files\\Ariane\\prog.bat");
  system("PAUSE");   
  return 0;
}

Je précise que AliasList.config contient:

Code:
shutdown
shutdown -s
Eteindre l'ordinateur

Et comme je suis quelqu'un de très généreux (Very Happy), je vais même balancer le programme: le voilà !

Merci d'avance !!!


Dernière édition par le Mar 6 Juin - 16:51, édité 2 fois
Revenir en haut Aller en bas
stardeath
Adminimatheur
Adminimatheur
stardeath


Masculin
Nombre de messages : 1036
Classe/Métier (si enseignant, précisez) : Master 2 informatique
Localisation : bonne question ...
Loisirs : mangas, jeux videos, informatique, coding ...
Date d'inscription : 05/02/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeMar 6 Juin - 11:10

ok heu explique ce que ça doit faire, merci ^^
Revenir en haut Aller en bas
Fl_0RI@/\/ 54
hyper posteur
hyper posteur
Fl_0RI@/\/ 54


Masculin
Nombre de messages : 459
Age : 32
Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle.
Date d'inscription : 29/01/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeMar 6 Juin - 16:45

Ben en fait si t'essaie tu verras que dans la fonction lanceurDaliases() il fait pas le scanf. Je comprend vriament queu dalle !
Revenir en haut Aller en bas
Eximma
Adminimatheur
Adminimatheur
Eximma


Masculin
Nombre de messages : 1933
Age : 33
Classe/Métier (si enseignant, précisez) : mp
Localisation : St Nazaire (loire atlantique [44]) Mais Lorient en ce moment ^^
Loisirs : Plein de choseuhs
Date d'inscription : 15/12/2005

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeMar 6 Juin - 21:21

Fl_0RI@/\/ 54 a écrit:
Ben en fait si t'essaie tu verras que dans la fonction lanceurDaliases() il fait pas le scanf. Je comprend vriament queu dalle !

en fait, je pense qu'il veux savoir a quoi doit servir ton programme ^^'
Revenir en haut Aller en bas
https://math-college.jeun.fr
stardeath
Adminimatheur
Adminimatheur
stardeath


Masculin
Nombre de messages : 1036
Classe/Métier (si enseignant, précisez) : Master 2 informatique
Localisation : bonne question ...
Loisirs : mangas, jeux videos, informatique, coding ...
Date d'inscription : 05/02/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeMer 7 Juin - 11:42

tout à fait thierry ... heu sasuke
Revenir en haut Aller en bas
Fl_0RI@/\/ 54
hyper posteur
hyper posteur
Fl_0RI@/\/ 54


Masculin
Nombre de messages : 459
Age : 32
Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle.
Date d'inscription : 29/01/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeMer 7 Juin - 22:59

Ben en fait mon prog lance une action (batch) quand tu tapes une commande. Mais on m'a dit que scanf() est la fonction responsable de toutes mes erreurs de newb... Very Happy . Enfin... ^^
Revenir en haut Aller en bas
stardeath
Adminimatheur
Adminimatheur
stardeath


Masculin
Nombre de messages : 1036
Classe/Métier (si enseignant, précisez) : Master 2 informatique
Localisation : bonne question ...
Loisirs : mangas, jeux videos, informatique, coding ...
Date d'inscription : 05/02/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeJeu 8 Juin - 11:18

bon je vais regarder ton truc, par contre si je répond pas, t'inquiète pas, j'ai plein de projets à rendre (cause fin d'année), je suis un peu surbooké ^^
Revenir en haut Aller en bas
Fl_0RI@/\/ 54
hyper posteur
hyper posteur
Fl_0RI@/\/ 54


Masculin
Nombre de messages : 459
Age : 32
Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle.
Date d'inscription : 29/01/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeJeu 8 Juin - 23:55

Eh si je faisais un fclean ... ?
Revenir en haut Aller en bas
Keitaro_Ura
micro posteur
micro posteur
Keitaro_Ura


Masculin
Nombre de messages : 19
Age : 29
Classe/Métier (si enseignant, précisez) : Collègien
Localisation : Cahuzac sur vère
Date d'inscription : 17/06/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeSam 17 Juin - 18:02

Je ne vois pas de problème.
Revenir en haut Aller en bas
http://keitarouraworld.site.voila.fr/
stardeath
Adminimatheur
Adminimatheur
stardeath


Masculin
Nombre de messages : 1036
Classe/Métier (si enseignant, précisez) : Master 2 informatique
Localisation : bonne question ...
Loisirs : mangas, jeux videos, informatique, coding ...
Date d'inscription : 05/02/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeSam 17 Juin - 21:12

struct CommandeStructure
{
char actionCommande;
char nomCommande;
char descriptionCommande;
};
déjà t sur que c char?, le type char ne contient qu'un seul caractère

après tu fais while( boucle = 0 )
donc le contenu de la boucle ne s'exécute pas donc ça plante quand tu fais fclose(fichier2);

corrige déjà ça ^^
Revenir en haut Aller en bas
Fl_0RI@/\/ 54
hyper posteur
hyper posteur
Fl_0RI@/\/ 54


Masculin
Nombre de messages : 459
Age : 32
Classe/Métier (si enseignant, précisez) : T SSI spé queu dalle.
Date d'inscription : 29/01/2006

[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitimeLun 19 Juin - 20:03

Ah oui ! Merci à toi !
Revenir en haut Aller en bas
Contenu sponsorisé





[C] Erreur du programme à l'execution. Empty
MessageSujet: Re: [C] Erreur du programme à l'execution.   [C] Erreur du programme à l'execution. Icon_minitime

Revenir en haut Aller en bas
 
[C] Erreur du programme à l'execution.
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Des Maths :: Autre... :: Informatique-
Sauter vers: