Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - pitka

#21
yo lo hago de esta forma:

Código (cpp) [Seleccionar]

char resp;

do
{

//Todo tu codigo


cout <<"Salir? S/N ";
cin >>resp;

} while (toupper(resp) != 'S');


#22
Cita de: pablomi en  1 Diciembre 2010, 14:47 PM
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
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
#include <stdio.h>
#include <string.h>
#define BORRA_BUFFER while( getchar() != '\n');

int main()
{
       char texto[100];
       int vocales[5]; 
       int i, total=0; 
       char resp;
       do
       {
       
       for(i=0; i<5; i++) 
            vocales[i] = 0;
       system("cls");     
       printf("Introduce el texto: ");
       
       fgets(texto, 100, stdin); 
   

       for(i=0; i<strlen(texto); i++)
       {
               
            if(toupper(texto[i])=='A') 
              vocales[0]++;
            else if(toupper(texto[i])=='E')
              vocales[1]++;
            else if(toupper(texto[i])=='I')
              vocales[2]++;
            else if(toupper(texto[i])=='O')
              vocales[3]++;
            else if(toupper(texto[i])=='U')
              vocales[4]++;
       }
       
              // Calcula el total de vocales

       for(i=0; i<5; i++)
           total += vocales[i];

       if(total==0)
         {
             system("cls");           
             printf("No hay vocales");
         }
           else
           {
              system("cls");
              printf("\n____________________");
              printf("\nCantidad de vocales: %d\n\n", total);
              printf("A --> %d\n", vocales[0]);
              printf("E --> %d\n", vocales[1]);
              printf("I --> %d\n", vocales[2]);
              printf("O --> %d\n", vocales[3]);
              printf("U --> %d\n", vocales[4]);
              printf("%s", texto);
            }
         getch();
        printf("\n\nSalir? S/N ");
        scanf("%s", &resp);
        BORRA_BUFFER
        } while (toupper(resp)!='S');

        return 0;
}
#24
Programación C/C++ / Re: [DUDA] Medio-solucionado
30 Noviembre 2010, 01:14 AM
Cita de: Leber en 30 Noviembre 2010, 01:08 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.

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
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..