elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 [3]
21  Programación / Programación C/C++ / Re: hacer que el programa me vuelva a pedir los datos en: 5 Diciembre 2010, 13:27 pm
yo lo hago de esta forma:

Código
  1. char resp;
  2.  
  3. do
  4. {
  5.  
  6. //Todo tu codigo
  7.  
  8.  
  9. cout <<"Salir? S/N ";
  10. cin >>resp;
  11.  
  12. } while (toupper(resp) != 'S');

22  Programación / Programación C/C++ / Re: [DUDA] Contador de vocales. Medio-Solucionado xD en: 2 Diciembre 2010, 00:36 am
Para qué ese define? xD

Ni idea =X, aunque creo que limpia el buffer del teclado antes de que vuelva a dar otra vuelta, antes de que lo tuviera no funcionaba y despues que lo coloque se arreglo, es una duda que tengo planteada seria fabuloso si alguien me dijera exactamente que hace..!! aunque sirva >:D
23  Programación / Programación C/C++ / Re: [DUDA] Contador de vocales. Medio-Solucionado xD en: 1 Diciembre 2010, 00:19 am
Dejo el codigo terminado, aunque como dije, falta la parte de hacer que deje de leer el codigo al presionar una tecla determinada. Cualquier aclaracion que me quieran hacer respecto al code pues seran muy bien recibidas..!todo sea por aprender
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define BORRA_BUFFER while( getchar() != '\n');
  4.  
  5. int main()
  6. {
  7.       char texto[100];
  8.       int vocales[5];  
  9.       int i, total=0;  
  10.       char resp;
  11.       do
  12.       {
  13.  
  14.       for(i=0; i<5; i++)  
  15.            vocales[i] = 0;
  16.       system("cls");      
  17.       printf("Introduce el texto: ");
  18.  
  19.       fgets(texto, 100, stdin);  
  20.  
  21.  
  22.       for(i=0; i<strlen(texto); i++)
  23.       {
  24.  
  25.            if(toupper(texto[i])=='A')  
  26.              vocales[0]++;
  27.            else if(toupper(texto[i])=='E')
  28.              vocales[1]++;
  29.            else if(toupper(texto[i])=='I')
  30.              vocales[2]++;
  31.            else if(toupper(texto[i])=='O')
  32.              vocales[3]++;
  33.            else if(toupper(texto[i])=='U')
  34.              vocales[4]++;
  35.       }
  36.  
  37.              // Calcula el total de vocales
  38.  
  39.       for(i=0; i<5; i++)
  40.           total += vocales[i];
  41.  
  42.       if(total==0)
  43.         {
  44.             system("cls");          
  45.             printf("No hay vocales");
  46.         }
  47.           else
  48.           {
  49.              system("cls");
  50.              printf("\n____________________");
  51.              printf("\nCantidad de vocales: %d\n\n", total);
  52.              printf("A --> %d\n", vocales[0]);
  53.              printf("E --> %d\n", vocales[1]);
  54.              printf("I --> %d\n", vocales[2]);
  55.              printf("O --> %d\n", vocales[3]);
  56.              printf("U --> %d\n", vocales[4]);
  57.              printf("%s", texto);
  58.            }
  59.         getch();
  60.        printf("\n\nSalir? S/N ");
  61.        scanf("%s", &resp);
  62.        BORRA_BUFFER
  63.        } while (toupper(resp)!='S');
  64.  
  65.        return 0;
  66. }
  67.  
24  Programación / Programación C/C++ / Re: [DUDA] Medio-solucionado en: 30 Noviembre 2010, 01:14 am
Para repetir cuando el usuario quiera, tendras que hacer un bucle, con un do-while te bastaria. Comparas su entrada com por ejemplo un exit.

Código:
do {
            
         }while(strcmp(cadena_usuario, "exit") != 0)




Lo hice asi, y agregue esa funcion que encontre para borrar el buffer pero me gustaria saber exactamente como lo hace. y tambien quisiera saber como terminar el texto al presionar una tecla.. supongamos que luego de que comienzo a escribir cuando el programa lo pide "era un dia muy... @" y que el programa despues de que introduzca @ me diga las vocales son tales y tales blablabla..  sin necesidad de presionar enter si me explico? gracias de antemano

25  Programación / Programación C/C++ / [DUDA] Contador de vocales. Medio-Solucionado xD en: 29 Noviembre 2010, 13:37 pm
Buenas, llevo un tiempo leyendo el foro, y me parece espectacular y decidi registrarme ya que veo que tienen la disposicion de ayudar a personas que no saben como yo, de antemano gracias!

Entrando al tema mi duda es la siguiente, estoy aprendiendo c/c++, he estado tratando de hacer un programa que cuente las vocales de un texto ingresado por teclado lo cual he logrado, pero no puedo hacer que finalice el texto al introducir uncaracter especifico (ejemplo un "@" o ".") para finalizar sin tener que darle enter, ademas de que tambien me gustaria usar un ciclo para repetir todo mientras el usuario quiera, pero se me embasuran las variables y ni idea de como limpiarlas de nuevo, estuve leyendo aqui en busca de una funcion llama fflush, pero segun lei no es lo que necesito http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
lo que lei en ese enlace me ayudo, porque me habian dicho que necesitaba usar "gets", buen esa es mi duda ya me extendi, mucho esto es lo que llevo de codigo
por cierto me ayude con unos codigos que encontre en internet pero ninguno me dijo lo que necesitaba por eso me anime a preguntar despues de que busque  :D



 modificacion

he conseguido hacer un ciclo, y solucione lo del "embasuramiento del buffer" aunque aun no tengo muy claros los conceptos, lo arregle usando esto.. que encontre en muchas partes  #define BORRA_BUFFER while( getchar() != '\n'); y luego agregue BORRA_BUFFER al final del ciclo antes de evaluar la condicion, y se soluciona, pero me surgio una duda con respecto a esa macros.. y es que hace exactamente?? gracias..
Páginas: 1 2 [3]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines