Problema con STRINGS

Iniciado por kaskull, 28 Diciembre 2012, 18:08 PM

0 Miembros y 2 Visitantes están viendo este tema.

kaskull

Hola muy buenas a todos,
Estoy haciendo un pequeño programa muy simple usando strings.

El que quiero hacer es un programa el usuario inserte como máximo 20 palabras con una longitud máxima de 30 caracteres (una string [30][20]) y quiero que el programa solo lea los caracteres, que las palabras esten separadas por uno o más espacios, y se termina con un punto.
Una vez escaneadas, que el programa las imprima por pantalla.
No se porque no me funciona, gracias.
#include <string.h>
#include <stdio.h>
#include <ctype.h>
int main ()
{
char auxiliar,auxiliar3,taula_paraules_spam[31][20];
int pspam_horitzontal,pspam_vertical;
bool final,final2,comparar,spam,error;
pspam_horitzontal = 0;
pspam_vertical = 0;
final = false;
final2 = false;
comparar = false;
spam = false;
error = false;
scanf("%c",&auxiliar);
auxiliar3=auxiliar;
while (auxiliar!= '.' && pspam_vertical <= 20)
{
if (isalpha(auxiliar))
{
auxiliar=tolower(auxiliar);
taula_paraules_spam[pspam_horitzontal][pspam_vertical]=auxiliar;
pspam_horitzontal++;
scanf("%c",&auxiliar);
auxiliar3=auxiliar;
}
else
{
if (auxiliar3==auxiliar && auxiliar3 == ' ')
{
}
else
{
taula_paraules_spam[pspam_horitzontal][pspam_vertical]='/';
pspam_vertical++;
pspam_horitzontal=0;
}
scanf("%c",&auxiliar);
auxiliar3=auxiliar;
}
}
while (pspam_vertical>=0)
{
pspam_horitzontal=0;
printf("La paraula: -");
error=false;
while (error == false)
{
if (isalpha(taula_paraules_spam[pspam_horitzontal][pspam_vertical]))
{
printf("%c",taula_paraules_spam[pspam_horitzontal][pspam_vertical]);
pspam_horitzontal++;
}
else
{
printf("-\n");
error=true;
pspam_vertical--;
}
}
}
}

naderST

Citar
máximo 20 palabras con una longitud máxima de 30 caracteres (una string [30][20])

Si lo declaras string[30][20] estás diciendo que son 30 palabras de máximo 20 caracteres, ya que 30 es el número de filas y 20 el número de columnas.

kaskull

Cita de: naderST en 28 Diciembre 2012, 18:55 PM
Si lo declaras string[30][20] estás diciendo que son 30 palabras de máximo 20 caracteres, ya que 30 es el número de filas y 20 el número de columnas.
Ok grácias, no lo sabia, pero independientemente de este fallo, pero sigue sin funcionar del todo bien!