Вы находитесь на странице: 1из 4

#include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> #include <ctype.

h> #define MAX 100 char * p[MAX]; char*crecup(void); void calmac(char* q); int spos,rpos; void intro(void), revisar(void),borrar(void); int main(void) { char s[80]; register int t; spos=0; rpos=0; for(t=0;t<MAX;++t) for(;;) { printf("\n1.-Introducir cadenas\n2.-Listar\n3.-Borrar\n4.-Salir\n"); printf("\nEscribe la opcion deseada\n"); gets(s); *s=toupper(*s); system("cls"); switch (*s)

{ case'I':intro();break; case'L':revisar();break; case'B':borrar();break; case'S':exit(0); } } getch(); return(0); } void intro (void) { int s[100]; char *p; do { printf("Introduce la cadena %d: \n",spos+1); printf("(solo dar ENTER para volver al menu)\n"); scanf("%d",s); if(*s=='\0') break; //p=(char*)malloc(strlen(s)+1); if(!p) { printf("No hay memoria reservada\n"); return; }

//strcpy(p,s); calmac(p); return; } while(*s); } void revisar(void) { int t; if(rpos==spos) { printf("No hay datos\n"); return; } for(t=rpos;t<spos;t++) printf("Cadena%d:%d\n",t+1,p[t]); }

void borrar(void) { char* q; q=crecup(); if(q==NULL) { printf("No hay datosn");

return; } printf("Este es el dato recuperado y borrado: Dato numero %d\n",q); free (q); }

void calmac(char* q) { if (spos==MAX) // Control de llenado de la cola { printf("n La cola est llenan"); return; } p[spos]=q; spos ++; } char *crecup(void) { if(rpos==spos) { printf("n No hay datos\nn"); return NULL; } rpos ++; return p[rpos-1]; }

Вам также может понравиться