#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#define MAX 50
char *p[MAX], *pop(void);
int spos = 0;
int rpos = 0;
void insert(void), push(char *q), print(void), clear(void);
//memasukan queue....
void insert(void)
{
char s[50], *p;
printf("\n================== [ INSERT ] =================\n\n");
do {
printf("Queue %d: ", spos+1);
gets(s);
if(*s==0) {
break;
}
p = (char *) malloc(strlen(s)+1);
if(!p) {
printf("Out of memory.\n");
return;
}
strcpy(p, s);
if(*s) {
push(p);
}
} while(*s);
}
//menampilkan queue....
void print(void)
{
flushall();
int t;
printf("\n================== [ VIEW ] =================\n");
for(t=rpos; t < spos; ++t)
printf("\n%d. %s\n", t+1, p[t]);
}
//menghapus queue....
void clear(void)
{
flushall();
char *p;
printf("\n================= [ DELETING ] ================\n");
if((p=pop())==NULL) {
return;
}
printf("\n%s deleted\n", p);
}
void push(char *q)
{
if(spos==MAX) {
printf("List Full\n");
return;
}
p[spos] = q;
spos++;
}
char *pop(void)
{
if(rpos==spos) {
printf("No more.\n");
return NULL;
}
rpos++;
return p[rpos-1];
}
//program utama....
int main(void)
{
char s[50];
register int t;
for(t=0; t < MAX; ++t) {
p[t] = NULL;
}
while(1)
{
printf("\n===============================================");
printf("\n================== [ QUEUE ] ==================");
printf("\n===============================================\n");
printf("I = Insert Queue\n");
printf("P = Print Queue\n");
printf("D = Delete Queue\n");
printf("Q = Quit\n");
printf("\n===============================================\n");
printf("\nMasukan karakternya : ");gets(s);
*s = toupper(*s);
switch(*s) {
case 'I':
insert();
break;
case 'P':
print();
break;
case 'D':
clear();
break;
case 'Q':
exit(0);
}
}
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#define MAX 50
char *p[MAX], *pop(void);
int spos = 0;
int rpos = 0;
void insert(void), push(char *q), print(void), clear(void);
//memasukan queue....
void insert(void)
{
char s[50], *p;
printf("\n================== [ INSERT ] =================\n\n");
do {
printf("Queue %d: ", spos+1);
gets(s);
if(*s==0) {
break;
}
p = (char *) malloc(strlen(s)+1);
if(!p) {
printf("Out of memory.\n");
return;
}
strcpy(p, s);
if(*s) {
push(p);
}
} while(*s);
}
//menampilkan queue....
void print(void)
{
flushall();
int t;
printf("\n================== [ VIEW ] =================\n");
for(t=rpos; t < spos; ++t)
printf("\n%d. %s\n", t+1, p[t]);
}
//menghapus queue....
void clear(void)
{
flushall();
char *p;
printf("\n================= [ DELETING ] ================\n");
if((p=pop())==NULL) {
return;
}
printf("\n%s deleted\n", p);
}
void push(char *q)
{
if(spos==MAX) {
printf("List Full\n");
return;
}
p[spos] = q;
spos++;
}
char *pop(void)
{
if(rpos==spos) {
printf("No more.\n");
return NULL;
}
rpos++;
return p[rpos-1];
}
//program utama....
int main(void)
{
char s[50];
register int t;
for(t=0; t < MAX; ++t) {
p[t] = NULL;
}
while(1)
{
printf("\n===============================================");
printf("\n================== [ QUEUE ] ==================");
printf("\n===============================================\n");
printf("I = Insert Queue\n");
printf("P = Print Queue\n");
printf("D = Delete Queue\n");
printf("Q = Quit\n");
printf("\n===============================================\n");
printf("\nMasukan karakternya : ");gets(s);
*s = toupper(*s);
switch(*s) {
case 'I':
insert();
break;
case 'P':
print();
break;
case 'D':
clear();
break;
case 'Q':
exit(0);
}
}
return 0;
}
Tidak ada komentar:
Posting Komentar