IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Arret du travail de programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Par défaut Arret du travail de programme
    Bonjours à tous !

    Voila quelques heurs que je suis bloquer sur un problème sans solution, et je demande votre aide !!

    Je fait un programme destiner à la gestion réseaux (bon c'est pour un projet de cours de première année).
    Mon programme sert à connaitre la classe de l'IP, le N° réseau, l'utilisateur, le N° du sous réseaux.. etc.

    Mon programme fonctionnait pleinement mais depuis quelque heurs, il a décider de s'arrêter au dernière appel de fonction, et affiche une barre clignotant comme une saisi MAIS je ne peux rien saisir.

    En utilisant le débuggage, j'ai suivit le travail du programme mais la flèche du débuggage va a coté de la fonction, et au F10 suivant (en gros le déplacement suivant) la flèche disparait totalement.

    Reboot du programme, du PC, j'ai ré-écrit la ligne d'appel mais rien n'y fait.

    Je travail sur visual studio 2010 Pro, help !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    -------------------------
    //main
    -------------------------
    int main()
    {	
    	int ip1=0, ip2=0, ip3=0, ip4=0;
    	int ma1=0, ma2=0, ma3=0, ma4=0;
    	int classe=0, test=0, bol=0;
    	entreeIp(&ip1, &ip2, &ip3, &ip4);
    	testeurClasse(&classe, ip1);
    	entreeMa(&ma1,&ma2,&ma3,&ma4,classe);
    	printf("\n\n");
    
    	printf("L'ip est le :\t\t\t\t%i.%i.%i.%i\n", ip1, ip2, ip3, ip4);
    	printf("Le masque de sous-reseau est:\t\t%i.%i.%i.%i\n\n", ma1, ma2, ma3, ma4);
    
    	trouverAdresseReseau(classe, ip1, ip2, ip3, ip4);
    	trouverAdresseUtilisateur(classe ,ip1 ,ip2 ,ip3 ,ip4);
    	printf("\n");
    
    	numeroSousReseau(ma2, ma3, ma4, ip2, ip3, ip4);
    	printf("\n");
    
    	nbrsPc(ma1, ma2, ma3, ma4);
    	compterSousReseau(ma2, ma3, ma4);//sa bloque ici 
    	system("pause");
    	return 0;
    
    -------------------------------------------
    // la fonction juste avant l'appel qui bloque
    -------------------------------------------
    void nbrsPc (int ma1,int ma2,int ma3,int ma4){
    	int nbrspc=1;
    	nbrspc*=compterPc(ma1);
    	nbrspc*=compterPc(ma2);
    	nbrspc*=compterPc(ma3);
    	nbrspc*=compterPc(ma4);
    	printf("Le nombre d'ordinateur possible est :\t %i\n", nbrspc);
    }
    -----------------------------------------
    //la fonction qui bloque
    -----------------------------------------
    {
    	int total=0, i=0;
    	if (ma2!=255 && ma2!=0){
    		total+=nbrsSousReseau(ma2);
    	}else if (ma3!=255 && ma3!=0){
    		total+=nbrsSousReseau(ma3);
    	}else if (ma4!=255 && ma4!=0){
    		total+=nbrsSousReseau(ma4);
    	}
    	for (i=1; 1<=8; i++){
    		if (total==i){
    			total=pow(2.0,i);
    		}
    	}	
    	printf("Le nombres de sous-reseau possible est:\t %i\n", total);
    }
    --------------------------------------
    
    
    }
    bon je sais que sa risque pas de vous aidez si vous n'avez pas TOUT le programme je vous le fournirais si nécessaire

    Merci d'avance pour toutes aides !! Bonne soirée

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonsoir,

    Qu'est sensé faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	for (i=1; 1<=8; i++){
    		if (total==i){
    			total=pow(2.0,i);
    		}
    	}
    Avec une aide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	for (i=1; 1<=8; i++){
    		if (total==i){
    			total=pow(2.0,i);
    		}
    	}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Par défaut
    Houla, alors sa c'est moche xD


    Merci beaucoup !

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par Arkentus Voir le message
    Houla, alors sa c'est moche xD
    C'est tellement moche que ton compilateur aurait du lancer un warning. L'a-t-il fait ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par mabu Voir le message
    C'est tellement moche que ton compilateur aurait du lancer un warning. L'a-t-il fait ?
    peut-être pas, même si il était bien réglé..

    1 est bien <= à 8...

    .

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Comme le "for" génère une boucle infinie, un compilateur bien réglé doit indiquer, au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Le nombres de sous-reseau possible est:\t %i\n", total);
    le warning suivant :
    machin.c: In function `bidule':
    machin.c:##: warning: will never be executed
    (## correspondent au numéro de ligne)

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/05/2012, 15h11
  2. Arreter un lancement pré - programmé
    Par txufo dans le forum Général VBA
    Réponses: 1
    Dernier message: 26/04/2007, 16h35
  3. Concepteur de site ? Où s'arrête son travail ?
    Par Amnesiak dans le forum Devis
    Réponses: 4
    Dernier message: 04/12/2006, 15h57
  4. Réponses: 7
    Dernier message: 09/10/2006, 16h11
  5. Réponses: 2
    Dernier message: 29/07/2005, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo