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 :

le programme semble etre bon


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 36
    Par défaut le programme semble etre bon
    j`ai recris tout est ce que j`ai en ce moment c`est sans warning et sans faute....mais comme je l`ai dit quand la satck est vide le programme aurait du s`arreter .........
    en fait
    est du c++ je crois

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     
    struct nodetype
    {
    	int data;
    	struct nodetype *next, *prev;
    };
     
    typedef struct nodetype node;
     
    void push(node*, int);
    void pop(node*, int*);
    void showstack(node*);
     
    void push(node *header, int x)
    {
    	node *q, *p;
     
    	p = new(node);
    	p->data = x;
    	p->prev=header;
    	p->next = header->next;
    	if(header->next != NULL) header->next->prev = p;
    	header->next = p;
     
    }
     
    void pop(node *header, int *x)
    {
    	node *top,*p;
     
    	top = header->next;
    	if(top != NULL)
    	{
    		*x=top->data;
    		header->next=top->next;
    		if(top->next != NULL) top->next->prev = header;
    		free(p);
    	}
     
    	}
    void showstack(node *header)
    {
    	node *p;
     
    	p = header->next;
    	while (p != header)
    	{
    		printf("%d  ", p->data);
    		p = p->next;
    	}
    	printf("\n");
    }
    void main()
    {
    	int code, num;
    	node *header;
     
    	header = new(node);
    	header->next = header;
    	header->prev = header;
    	printf("Enter 1 for push, 2 for pop, or 0 to exit: ");
    	scanf("%d", &code);
    	while (code != 0)
    	{
    		if (code == 1) // ceci va insere un nombre dans la table
    		{
    			printf("Enter a number to be pushed: ");
    			scanf("%d", &num);
    			push(header, num);
    		}
    		if (code == 2) // ceci effacera le nombre a etre entree
    		pop(header, &num);
     
     
    		showstack(header);
    		printf("Enter 1 for insert, 2 for remove, or 0 to exit: ");
    		scanf("%d", &code);
    	}
    }

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Non non free(p) c'est bien du C

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: le programme semble etre bon
    Citation Envoyé par smalto
    j`ai recris tout est ce que j`ai en ce moment c`est sans warning et sans faute....
    T'a raison...
    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
     
    Project   : Forums
    Compiler  : GNU GCC Compiler (called directly)
    Directory : D:\dev\ed02\cb\
    --------------------------------------------------------------------------------
    Switching to target: default
    Compiling: main.c
    main.c: In function `push':
    main.c:22: error: implicit declaration of function `new'
    main.c:22: warning: nested extern declaration of `new'
    main.c:22: error: syntax error before "node"
    main.c:20: warning: unused variable `q'
    main.c: At top level:
    main.c:58: error: conflicting types for 'main_'
    D:/clib/frmwrk/inc/main.h:35: error: previous declaration of 'main_' was here
    main.c:58: error: conflicting types for 'main_'
    D:/clib/frmwrk/inc/main.h:35: error: previous declaration of 'main_' was here
    main.c: In function `main_':
    main.c:62: warning: nested extern declaration of `new'
    main.c:22: warning: redundant redeclaration of 'new'
    main.c:22: warning: previous implicit declaration of 'new' was here
    main.c:62: error: syntax error before "node"
    main.c:83:2: warning: no newline at end of file
    Process terminated with status 1 (0 minutes, 0 seconds)

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut
    t'as du oublier un include ou juste de déclarer les prototypes de tes fonctions.

  5. #5
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Par défaut
    Sous Myngwin, j'ai qu'une seule erreur, "main" doit retourner un integer.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par reggae
    Sous Myngwin, j'ai qu'une seule erreur, "main" doit retourner un integer.
    minGW. Tu es sûr que tu compiles en C et non en C++ ? L'extentions du fichier est bien .c et non .cpp ni .C ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/08/2006, 09h40
  2. bons débuts en programmation?
    Par Xtrem_noob dans le forum C
    Réponses: 33
    Dernier message: 30/04/2006, 19h01
  3. htaccess semble etre ignoré !
    Par Invité(e) dans le forum Apache
    Réponses: 8
    Dernier message: 15/02/2006, 21h37
  4. appel d un template mais sans etre ds le bon node
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/09/2005, 15h46

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