elekid Δημοσ. 4 Απριλίου 2011 Δημοσ. 4 Απριλίου 2011 >#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #define N 10 int pop(void); void push(int); int Array[N],head,check; int main(int argc, char* argv[]) { int selection,num,counterpush=0,counterpop=0; printf("\nPRESS 1 TO ADD NUMBER IN STACK (PUSH)"); printf("\nPRESS 2 TO TAKE A NUMBER FROM STACK (POP)"); printf("\nPRESS 3 TO END \n"); do { do { printf("\n\n\tENTER YOUR CHOICE FROM 1 OR 2 OR 3: "); scanf("%d",&selection); } while (selection>3 || selection<1); switch (selection) { case 1 : { printf("\n\tGIVE ME THE NUMBER FOR STACK : "); scanf("%d", &num); push(num); if (check == 0) { printf("\n\tNUMBER %d ENTERED IN STACK SUCCESSFULLY\n",num); counterpush++; } else printf("\n\tSTACK IS FULL!!!\n"); break; } case 2 : { num=pop(); if (check == 0) { printf("\n\tPOP NUMBER : %d FROM STACK SUCCESSFULLY\n",num); counterpop++; } else printf("\n\tSTACK IS EMPTY!!!\n"); break; } } } while (selection!=3); printf("\n\tBUMBERS PUSHED SUCCESFULLY : %d",counterpush); printf("\n\tBUMBERS POPED SUCCESFULLY : %d\n\n",counterpop); return 0; } void push(int x) { if(head<N) { head+=1; Array[head]=x; check=0; } else check=1; } int pop(void) { int x; if (head>0) { x=Array[head]; head-=1; check=0; return x; } else check=1; } πως θα το κανω αυτο να τυπωνει οποιους αριθμους δινω σε οριζοντια γραμμη??? ευχαριστω!!
moukoublen Δημοσ. 4 Απριλίου 2011 Δημοσ. 4 Απριλίου 2011 Για αρχή πάντως να σημειώσουμε ότι, τουλάχιστον στον κώδικα που παραθέτεις, μιλάμε για C και όχι C++ ...
santeron Δημοσ. 4 Απριλίου 2011 Δημοσ. 4 Απριλίου 2011 Δεν ξέρω C αλλά υποθέτω κάπου έχεις βάλει ένα \n και βάζει καινούργια γραμμή όταν τυπώνει τον αριθμό...
fotis4u Δημοσ. 4 Απριλίου 2011 Δημοσ. 4 Απριλίου 2011 >case 2 : { num=pop(); if (check == 0) { printf("\n\tPOP NUMBER : %d FROM STACK SUCCESSFULLY\n",num); counterpop++; } else printf("\n\tSTACK IS EMPTY!!!\n"); break; } >printf("\n\tPOP NUMBER : %d FROM STACK SUCCESSFULLY\n",num); //Σβήσε το "\n" μετά από το SUCCESSFULLY
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.