Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: zayzed en 1 Mayo 2017, 22:26 pm



Título: ayuda este codigo no se ejecuta
Publicado por: zayzed en 1 Mayo 2017, 22:26 pm
Cuando le doy a compilar y ejecutar, el programa no abre y no me dice nada solo algunos errores que son:

permission denied
id returned 1 exit status
[build error] [AsistantBeta0.2] error1

el problema es que estoy intentando usar el
codigo:

cin.getline();

y no me funciona, claro que lo que va adentro de los paréntesis si lo pongo.

Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. char user[30];
  10. char bot[30];
  11. char ask[30];
  12. char ans[30];
  13. char pre[30];
  14. int menu;
  15. int menu2;
  16. int x = 0;
  17.  
  18. int main()
  19. {
  20.  
  21.    cout<<"Bienvenido a Base de datos Z\n\n";
  22.  
  23.    system("PAUSE");
  24.    system("CLS");
  25.  
  26.    cout<<"\nPara iniciar, elija un nombre de usuario\n\n";
  27.    cout<<"Nombre: ";
  28.    cin.getline(user,30,'\n');
  29.  
  30.    system("CLS");
  31.  
  32.    cout<<"\nTenemos su cuenta creada, pero falta el nombre de su asistente, cual es?\n\n";
  33.    cin>>bot;
  34.  
  35.    system("CLS");
  36.  
  37.    cout<<bot<<": hola "<<user;
  38.    cout<<"\n\n";
  39.  
  40.    system("PAUSE");
  41.    system("CLS");
  42.  
  43.    cout<<"\nBienvenido a la base de datos Z, me llamo "<<bot;
  44.    cout<<"\n\n";
  45.  
  46.    system("PAUSE");
  47.    system("CLS");
  48.  
  49.    cout<<"\nPero tu ya lo sabias, pues tu me lo pusiste haha.\n\n";
  50.    cout<<bot<<": bien "<<user;
  51.    cout<<"\n";
  52.  
  53.  
  54.    system("PAUSE");
  55.    system("CLS");
  56.  
  57.  
  58.  
  59.    while(x<100)
  60.    {
  61.  
  62.    cout<<"\n-----Menu Principal--------- ";
  63.    cout<<"\n\nque es lo que quieres hacer?\n\n";
  64.    cout<<"1=Programar Pregunta/Respuesta\n\n";
  65.    cout<<"2=Verificar pregunta formulada\n\n";
  66.    cout<<"3=Salir\n\n";
  67.    cin>>menu;
  68.    cout<<"\n\n";
  69.  
  70.  
  71.    switch(menu)
  72.    {
  73.  
  74.                case 1:
  75.                     cout<<"\n\nFormula la pregunta de un solo digito: \n";
  76.                     cin>>ask;
  77.                     cout<<"\n--------------";
  78.                     cout<<"\n\nFormula la respuesta: \n";
  79.                     cin>>ans;
  80.                     cout<<"\n--------------";
  81.                     cout<<"\n\nRespuesta a tu pregunta Programada con exito\n";
  82.                     cout<<"\n\n";
  83.                     break;
  84.  
  85.                case 2:
  86.                     cout<<"Cual es tu pregunta?";
  87.                     cin>>pre;
  88.                     cout<<"\n--------------";
  89.                     cout<<"\n\n";
  90.  
  91.  
  92.                     if(strcmp(ask, pre)==0)
  93.                     {
  94.                                 cout<<"\nResp: "<<ans;
  95.                                 cout<<"\n\n";
  96.                                 break;
  97.                     }
  98.                     else{
  99.                                 cout<<"La pregunta que formulaste es\nErronea";
  100.                                 cout<<"\n\n";
  101.                                 break;
  102.                     }
  103.                case 3:
  104.                     exit(0);
  105.                     break;
  106.  
  107.                }
  108.  
  109.    system("PAUSE");
  110.    system("CLS");
  111.  
  112.  
  113.  
  114.  
  115.    x++;
  116.  
  117.    }
  118.  
  119.  
  120.  
  121.  
  122.    getch();
  123.  
  124.    return 0;
  125.  
  126. }
  127.  
  128. }


Título: Re: Se puede mejorar este codigo?
Publicado por: engel lex en 1 Mayo 2017, 22:33 pm
el while no debería estar limitado, la opción 3 debería hacer salir del while en lugar de usar exít (o en lugar de exit pordría usar directamente return)


Título: Re: Se puede mejorar este codigo?
Publicado por: zayzed en 2 Mayo 2017, 01:18 am
el while no debería estar limitado, la opción 3 debería hacer salir del while en lugar de usar exít (o en lugar de exit pordría usar directamente return)

es que la opcion 3 es para salir del programa, no del while


Título: Re: Se puede mejorar este codigo?
Publicado por: 3n31ch en 2 Mayo 2017, 01:36 am
es que la opcion 3 es para salir del programa, no del while

engel lex te esta explicando que tu while se terminara acabando después de las 100 iteraciones, por tanto, es mejor que lo hagas "true" siempre y con la opción 3 puedes salir del ciclo (o directamente hacer lo que haces) pero es mas "bonito" salir del ciclo.


Título: Re: AYUDA, ESTE CODIGO NO SE EJECUTA!!
Publicado por: engel lex en 2 Mayo 2017, 01:42 am
y de todas formas si sales del ciclo, llegará al final del programa  :silbar:


titulo modificado! no escribas en mayúsculas! lee las reglas del foro

foro.elhacker.net/reglas (http://foro.elhacker.net/reglas)


Título: Re: ayuda este codigo no se ejecuta
Publicado por: MAFUS en 2 Mayo 2017, 01:48 am
Y la última llave te sobra.