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:
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);
}
} |
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:
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) |