lo que ocupo hacer es que no sean numeros los que se ingresen sino palabras
Publicado por mario (3 intervenciones) el 09/06/2015 22:18:37
necesito ayuda con este programa al darle 1 dice que ingrese un numero lo almacena al darle 1 otra ves pide otro numero y asi sucesivamente! pero lo que ocupo hacer es que no sean numeros los que se ingresen sino palabras! a ver si alguien sabe
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
//ESTRUCRURA AUTO REFERENCIADA
struct nodoPila{
//APUNTADOR A nodPila
struct nodoPila *ptrSiguiente;
//DEFINE UN DATO TIPO ENTERO
int dato;
};
//SINONIMO DE LA ESTRUCTURA nodoPila
typedef struct nodoPila NodoPila;
//SINONIMO PARA NodoPila
typedef NodoPila *ptrNodoPila;
//PROTOTIPOS
void empujar(ptrNodoPila *ptrCima, int info);
int sacar(ptrNodoPila *ptrCima);
int estaVacia(ptrNodoPila ptrCima);
void imprimePila(ptrNodoPila ptrActual);
void instrucciones(void);
//LA FUNCION MAIN COMIENZA LA EJECUCION DEL PROGRAMA
int main(){
//APUNTA AL TOPE DE LA PILA
ptrNodoPila ptrPila=NULL;
//ELECCION DE MENU DEL USUARIO
int eleccion;
//ENTRADA INT DEL USUARIO
char valor;
instrucciones();//DESPLIEGA EL MENU
cout<<"?";
scanf("%d", &eleccion);
//MIENTRAS EL USUARIO NO INTRODUZCA 3
while(eleccion !=3){
switch(eleccion){
//EMPUJA EL VALOR DENTRO DE LA PILA
case 1:
cout<<("Introduzca un entero: ");
scanf("%d",&valor);
empujar(&ptrPila, valor);
imprimePila(ptrPila);
break;
//SACA EL VALRO DE LA PILA
case 2:
//SI LA PILA NO ESTA VACIA
if (!estaVacia(ptrPila)){
cout<<("El valor sacado es &d.\n", sacar(&ptrPila));
//FIN DEL IF
imprimePila(ptrPila);
break;
}
//ELECCION NO VALIDA
default:
cout<<("Eleccion no valida.\n\n");
instrucciones();
break;
}//FIN DEL SWITCH
cout<<("?");
scanf("%d", &eleccion);
}//FIN DEL WHILE
}
/*DESPLIEGA LAS INTRUCCIONES DEL
PROGRAMA PARA EL USUARIO*/
void instrucciones(void)
{
cout<<"* * * * * * * * Introduzca su eleccion: * * * * * * * *\n";
cout<<"1 Ingrese su Segundo Apellido\n";
cout<<"2 para sacar un valor de la pila\n";
cout<<"3 para terminar el programa\n";
}//FIN DE LA FUNCION INSTRUCCIONES
//INSERTA UN NODO EN LA CIMA DE LA PILA
void empujar(ptrNodoPila *ptrCima, int info)
{
//APUNTADOR AL NUEVO NODO
ptrNodoPila ptrNuevo;
//ptrNuevo=malloc(sizeof(*NodoPila));
ptrNuevo=(struct nodoPila *)malloc(sizeof(struct nodoPila));
//INSERTA EL NODO EN LA CIMA DE L APILA
if(ptrNuevo!=NULL){
ptrNuevo->dato=info;
ptrNuevo->ptrSiguiente=*ptrCima;
*ptrCima=ptrNuevo;
}//FIN DEL IF
else{//NO QUEDA ESPACIO DISPONIBLE
cout<<("%d no se inserto."
" Memoria insuficiente.\n", info);
}//FIN DEL ELSE
}//FIN DE LA INSTRUCCION EMPUJAR
//ELIMINA UN NODO DE LA CIMA DE LA PILA
int sacar(ptrNodoPila *ptrCima)
{
//APUNTADOR A UN NODO TEMPORAL
ptrNodoPila ptrTemp;
//VALOR DEL NODO
int valorElim;
//SE UTILIZA PARA LIBERAR MEMORIA INNCESARIA
ptrTemp=*ptrCima;
//PARA GUARDAR EL VALOR DEL NODO EN LA CIMA
valorElim=(*ptrCima)->dato;
//CONTIENE LA DIRECCION DEL NUEVO NODO CIMA
*ptrCima=(*ptrCima)->ptrSiguiente;
free (ptrTemp);//LIBERA LA MEMORIA APUNTADA
return valorElim;//DEVUELVE EL VALOR
}//FIN DE LA INSTRUCCION SACAR
//IMPRIME LA PILA
void imprimePila(ptrNodoPila ptrActual){
//SI LA PILA ESTA VACIA
if (ptrActual==NULL) {
printf("La pila esta vacia.\n\n");
}//FIN DEL IF
else{
printf("La Pila es:\n");
//MIENTRAS NO SEA EL FINAL DE LA PILA
while(ptrActual!=NULL){
printf("%d -> ", ptrActual->dato);
ptrActual=ptrActual->ptrSiguiente;
}//FIN DEL WHILE
printf("NULL\n\n");
}//FIN DEL ELSE
}//FIN DE IMPRIMIR FILA
//DEVUELVE 1 SI LA PILA ESTA VACIA
//DE LO CONTRARIO 0
int estaVacia(ptrNodoPila ptrCima){
return ptrCima==NULL;
}//FIN DE LA INSTRUCCION ESTA VACIA
Valora esta pregunta
0