Ayuda con programa en C

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
Bueeenas.

Quería saber si alguien de por aquí, con algo de tiempo extra, me pueda enseñar a cómo realizar un código en lenguaje c; para conseguir una sala de chat (con un mismo usuario del programa y el usuario que utiliza este en sí) que tenga una condición de terminar si el usuario 2 (el que utiliza el programa) diga la palabra "EXIT" jsjd

Es para una prueba, y estoy recién en mi primer año y poco se me ocurre en realidad, la idea es q pueda responder el usuario 1(el bot digamosle) a las cosas q escriba el usuario 2

Eso, si es que alguien se puede hacer el tiempo, muito agradecido.

!!Buenas Noches!!
 

hashimoto

Gold Member
Se incorporó
30 Julio 2006
Mensajes
2.416
veo lo que le piden y no entiendo, puede ser un chat de ciclos if else, while, de lectura de archivos,....
 
Upvote 0

hashimoto

Gold Member
Se incorporó
30 Julio 2006
Mensajes
2.416
igual es raro por que si nunca aprendio pseudocodigo o algoritmos y haya pasado cursos de programacion,osea no sabe lo basico
 
Upvote 0

tglaria

InExperto
Se incorporó
10 Febrero 2005
Mensajes
9.753
Al final, lo que entendí, un programa que reciba comandos hasta recibir la riatra "exit".

Me suena a if/else
 
Upvote 0

clusten

ADMIN
Miembro del Equipo
ADMIN
Se incorporó
1 Julio 2007
Mensajes
6.239
No se C, pero se programar.
Lo que entiendo es que:
Tienes que armar un input (nick) y guardarlo en una variable.

Luego recibir mensajes. Tienes que encontrar la forma de detectar el sub string “tu” en lo que se ingrese, un mensaje y llevar un contador de cuántas veces aparece (en pantalla imprimir “nick: mensaje”)

Esto es carril mío y en base a como me evaluaban a mi para no llegar al 7: Imagino que una de las claves es que tienes que analizar si basta revisar “tu” o tienes que además revisar que no esté dentro de una palabra: por ejemplo tutti frutti o hotuiti cuanta para tu contador? Yo diría que no.

Finalmente, imprimir el contador de veces que apareció la palabra tú en el chat.

Eso creo que te puede orientar.
 
  • Sad
Reactions: 0.O
Upvote 0

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
Hola, aún no puedo avanzar.

Alguien sabe cómo hacer que resconozca los "tu" dentro de una oración?

porque al escribir la palabra por si sola, la línea de while lo reconoce y me imprime el 1, pero si está dentro de una oración, muere todo ;;

1634401792185.png
 
Upvote 0

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
No se C, pero se programar.
Lo que entiendo es que:
Tienes que armar un input (nick) y guardarlo en una variable.

Luego recibir mensajes. Tienes que encontrar la forma de detectar el sub string “tu” en lo que se ingrese, un mensaje y llevar un contador de cuántas veces aparece (en pantalla imprimir “nick: mensaje”)

Esto es carril mío y en base a como me evaluaban a mi para no llegar al 7: Imagino que una de las claves es que tienes que analizar si basta revisar “tu” o tienes que además revisar que no esté dentro de una palabra: por ejemplo tutti frutti o hotuiti cuanta para tu contador? Yo diría que no.

Finalmente, imprimir el contador de veces que apareció la palabra tú en el chat.

Eso creo que te puede orientar.
ese es el tema, no sé si específicamente debe contar los tu directamente escritos o detectar cada vez que sale :c
 
Upvote 0

tglaria

InExperto
Se incorporó
10 Febrero 2005
Mensajes
9.753
Hola, aún no puedo avanzar.

Alguien sabe cómo hacer que resconozca los "tu" dentro de una oración?

porque al escribir la palabra por si sola, la línea de while lo reconoce y me imprime el 1, pero si está dentro de una oración, muere todo ;;

Ver adjunto 19029
o_O

No pongas una imagen, coloca el codigo entero (en "spoiler" o como enlace, e.g. www.codeshare.io)

Por lo que muestras, no tengo idea como corre siquiera.
¿por qué tienes puros while?
¿como sales de esos ciclos?
¿que hace un case ahí?
Recomendacion: para comparar el texto, llevalo todo a minúsculas o mayusculas y comparas ahí, o pretendes verificar todas la posibles combinaciones de "exit" (las 16?)?
 
Upvote 0

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
o_O

No pongas una imagen, coloca el codigo entero (en "spoiler" o como enlace, e.g. www.codeshare.io)

Por lo que muestras, no tengo idea como corre siquiera.
¿por qué tienes puros while?
¿como sales de esos ciclos?
¿que hace un case ahí?
Recomendacion: para comparar el texto, llevalo todo a minúsculas o mayusculas y comparas ahí, o pretendes verificar todas la posibles combinaciones de "exit" (las 16?)?


 
Última modificación:
Upvote 0

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
En teoría, intento hacer completa la conversación pero, no logro hacer que acumule la palabra que me piden.
 
Upvote 0

wurrzag

Ciclista Jipi
Se incorporó
30 Mayo 2006
Mensajes
8.936
¿que no hay una etiqueta especial para código?
Código:
/* Inclusión de archivos */
#include <stdio.h>

/* Función principal */
int main (int argc,char **argv)
{
   /* Impresión por pantalla y salida del programa*/
   printf("Hola mundo\n");
   return 0;
}


Código:
Si, con <code> </code> entre corchetes
 
Upvote 0

EITSAEB

Team Peacemaker Hater
Se incorporó
10 Septiembre 2006
Mensajes
4.656
considerando lo que dice el enunciado, debe ser cada vez que se escriba "TU"

Forma del determinante posesivo de segunda persona del singular; indica que el nombre al que acompaña pertenece, se relaciona, está asociado, etc., con la persona a la que se habla o escribe.
"vi a tu padre y a tu madre"

Asumiendo eso, es mas fácil todo.

los pasos a seguir serian mas o menos:


C:
definir variables, nick, contador, salida, mensaje

ingresar nick
guardar nick en variable

hacer{

leer mensaje;
si mensaje contiene = "tu":
   {
     contador++;
   }
si mensaje contiene = "exit":
  {
     salida = "exit";
  }
mensaje = " ";
}mientras salida !="exit";
imprimir contador;


Mas o menos eso haría yo, mas algunos detalles, traducirlo al mejor lenguaje de programación de todos los tiempos :idolo C
 
  • Love
Reactions: 0.O
Upvote 0

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
considerando lo que dice el enunciado, debe ser cada vez que se escriba "TU"

Forma del determinante posesivo de segunda persona del singular; indica que el nombre al que acompaña pertenece, se relaciona, está asociado, etc., con la persona a la que se habla o escribe.
"vi a tu padre y a tu madre"

Asumiendo eso, es mas fácil todo.

los pasos a seguir serian mas o menos:


C:
definir variables, nick, contador, salida, mensaje

ingresar nick
guardar nick en variable

hacer{

leer mensaje;
si mensaje contiene = "tu":
   {
     contador++;
   }
si mensaje contiene = "exit":
  {
     salida = "exit";
  }
mensaje = " ";
}mientras salida !="exit";
imprimir contador;


Mas o menos eso haría yo, mas algunos detalles, traducirlo al mejor lenguaje de programación de todos los tiempos :idolo C
el tema es, cuál tipo de dato me ayuda a encontrar dentro del mensaje el tú? Ya que al utilizar el strcmp, solo sirve si escribe en singular la palabra.
 
Upvote 0

Ariadno

Pajarito Viejo
Se incorporó
5 Diciembre 2008
Mensajes
681
Pa ser mas wena onda

strstr(mensaje_cadena, subcadena)

Y tambien como dijo alguien antes, creo q la logica de los while esta como el pico, pq según no tienen como salir, y van a mostrar el print y contar hasta el infinito y mas alla, por ultimo debe tener un break. Y lo otro tb q dijeron antes, pasa todo a mayuscula o minuscula para hacer las comparaciones (tip: toupper y tolower con ctype.h)
 
Última modificación:
Upvote 0

0.O

Miembro Activo
Se incorporó
11 Marzo 2020
Mensajes
22
Pa ser mas wena onda

strstr(mensaje_cadena, subcadena)

Y tambien como dijo alguien antes, creo q la logica de los while esta como el pico, pq según no tienen como salir, y van a mostrar el print y contar hasta el infinito y mas alla, por ultimo debe tener un break. Y lo otro tb q dijeron antes, pasa todo a mayuscula o minuscula para hacer las comparaciones (tip: toupper y tolower con ctype.h)
1634520086074.png
1634520111398.png

se me repite el nombre a la primera, no sé cómo quitarlo
 
Upvote 0
Subir