Dev - C++ - Ayuda deber urgente

 
Vista:

Ayuda deber urgente

Publicado por Samik (1 intervención) el 14/04/2014 20:32:29
Hola, por favor necesito ayuda con este trabajo que nos mandaron. No entiendo como hacer la opcion 3 del menu, que es crear publicaciones. La restriccion es que cada usuario puede tener un maximo de 3 publicaciones, y el numero de usuario que se creean es ilimitado. Aqui esta el codigo:


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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <iomanip>
#define NUM_PUB 3
#define NUM_USR 3   // estas son constantes 
 
using namespace std;
 
//ESTRUCTURA
struct usuario_t
{
    string nombre;
    string alias;
    int edad;
    string publicaciones[NUM_PUB]; // esto es para el numero de publicaciones      es un string y un arreglo    para poner publicacion se pone      usuario[lo que sea].publicaciones[usuarios[idx].idx_pub    esto se reemplaza usando unsa variable ocmo int tamporal =usuarios[idx].idx_pub]   ESTO NO SE USA FOR, SE METE DE UNA EN UNA
    int idx_pub; //  no se le puede poner una variable gloabal a las publicaciones porque cada usuario es individual, aqui es individual; esto sirve para ver donde se tiene que ingresar la nueva publicacion y [ara saber cuantas estan en el usuario
 
};
 
/// VARIABLES GLOBALES
 
usuario_t usuarios[NUM_USR];
int idx_usr= 0;  // esto se usa para contar los usuarios, cuando empieza el usuario para crear uno nuevo, esta en 0, se crea y cambia a 1 
 
//funciones
 
void pausar()
{
  system("Pause");
}
 
void cls()
{
    for(int i=0; i<100; i++)
    {
        cout<<endl;
    }
}
 
void imprimir_menu()
{
    cls();
 
    cout<<"Bienvenido a Fcebook en C++"<<endl;
    cout<<"---------------------------"<<endl;
    cout<<"1. Crear nuevo usuario"<<endl;
    cout<<"2. Ver perfil"<<endl;
    cout<<"3. Crear publicacion de usuario"<<endl;
    cout<<"4. Ver publicaciones de usuario"<<endl;
    cout<<"5. Salir"<<endl;
    cout<<" Ingrese una opcion: ";
}
 
void fb_crear_usuario()
{
    cls();
 
    cout<<"Crear Nuevo Usuario"<<endl;
    cout<<"-------------------"<<endl<<endl;
 
    if(idx_usr>=NUM_USR)   // AQUI SE COMPARA PARA VER SI SE PUEDE CREAR UN USUARIO (SI ES 3 YA NO PUEDEA)
    {
        cout<<"No hay espacio para nuevos usuarios. "<<endl;
        pausar();
        return;
    }
    else
    {
         cout<<"Ingrese el nombre: ";
         //cin>> usuarios[idx_usr].nombre;
         //cin.ignore(numeric_limits<streamsize>::max(), '\n');
         //getline(cin, usuarios[idx_usr].nombre);
 
         cin.ignore(numeric_limits<streamsize>::max(), '\n');   //(le esta reemplazando a esto) cin>>usuarios[idx_usr].nombre; 
         getline(cin, usuarios[idx_usr].nombre);
 
 
        cout<<"Ingrese el alias (nickname): ";
        cin>> usuarios[idx_usr].alias;
 
        cout<<"Ingrese la edad: ";
        cin>> usuarios[idx_usr].edad;   // **** por que usa [idx_usr]????
 
        idx_usr++;
 
        cout<<"Su usuario ha sido ingresado exitosamente!"<<endl;
        pausar();
    }
}
 
int buscar_usuario()   // esto tiene que salir en todas las opciones
{
 
       int idx= -1;
       string buscar;
       cout<<:Ingrese el alias a buscar: "<<endl;
       cin>>buscar;
       for (int i =0; i< NUM_USR; i++)
       {
           if(usuario[i].alias == buscar)
           {
                     idx=i;
                     break;
                     }
           }
           return idx;
}

void imprimir_usuario(int idx)  // es lo mismo que haber puesto con usuario
{
     cout<<"Perfil de usuario"<<endl;
     cout<<"----------------------"<<endl;
     cout<<"Nombre: "<< usuario[idx].nombre<<endl;
     cout<<"Alias: "<< usuario[idx].alias<<endl;
     cout<<"Edad: "<< usuario[idx].edad<<endl;
}

void fb_ver_usuario()
{
     cls;
     
     cout<<"Ver perfil de usuario"<<endl;
     cout<<"------------------------"<<endl;
     
     int idx = buscar_usuario();   
     
     if (idx >= 0)
     {
             imprimir_usuario(idx);
     }
     else
     {
         cour<<"Usuario No encontrado."<<endl;
     }
     pausar();
}

void procesar_opcion(int op)
{
    switch (op)
    {
        case 1:
        fb_crear_usuario();
        break;
        
        case 2:
        fb_ver_perfil();
        pausar();
        break;
        
        case 5:
        cout<<endl<<"Gracias por usuar el programa"<<endl;
        pausar();
        break;
        
        default:
        cout<< "Opcion invalida!!!... "<<endl;
        pausar();
        break;
    }
}


int main()
{
    int op=0;
    
    do
    {
        imprimir_menu();
        cin>> op;
        procesar_opcion(op);
    }while (op!=5);

    system("PAUSE");
    return EXIT_SUCCESS;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder