Duda programa básico c++

Iniciado por thealberteitor, 10 Agosto 2016, 17:50 PM

0 Miembros y 1 Visitante están viendo este tema.

thealberteitor

Es un programa en el que tienes que ir metiendo datos hasta que se introduzca el carácter punto '.' y mostrar por pantalla cuantos saltos de linea, tabuladores y espacios se han introducido.(También hay que mostrar los números introducidos por pantalla. Tiene que ser con memoria fija por eso creo un vector de 50. El programa compila sin errores ni warning pero peta cuando introduzco el carácter punto. He pensado que como es un vector de int no puede contener un caracter que no sea un número pero no sé si es ese el error.  Alguien sabría ayudarme? Gracias de antemano





Código (cpp) [Seleccionar]
#include<iostream>

using namespace std;

int main(){

int MAX=50;
int v[MAX];
int cont=0;
int num;

cout << "Introduzca números: " << endl;
int contador2=0;

do{
cin >> num;
v[cont]=num;
cont++;
if(num == ' ' || num == '\t' ||num == '\n')
contador2++;
}while(num != '.');


for(int i=0; i<cont-1; i++)
cout << v[i] << endl;

cout << "Ha introducido " << contador2 << " tabuladores, espacios de linea..etc y también estos números: " << cont << endl;
}

   
   



Mod: Los códigos deben ir en etiquetas GeSHi

AlbertoBSD

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

thealberteitor

al poner el punto me peta el programa

engel lex

te explico, no, no somos adivinos, en general debes decir que debe hacer tu programa, mostrar tu programa indicar donde falla, que es lo que sucede cuando falla y como causar esa falla...

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

thealberteitor

He modificado el post y he mejorado mi explicación, A ver que tal ahora

AlbertoBSD

Voy a comentarte que si solo necesitas contar, no necesitas guardarlos.

La variable necesita ser char

Ahora que si necesitas guardarlos pues entonces se trata de otra cosa:

Citarmetiendo datos hasta que se introduzca el carácter punto '.'

Citartambién hay que mostrar los números introducidos por pantalla.

Son Datos o Numeros?

Codigo para solo contar caracteres independientemente si son numeros o otra cosa
#include<stdio.h>

int main(){
char c;
int cont=0;
int num;
int contador2=0;
printf("Introduzca texto: ");

do{
c = getchar();
cont++;
if(c == ' ' || c == '\t' ||c == '\n')
contador2++;
}while(c != '.');
printf("Ha introducido %i  tabuladores, espacios de linea..etc y también estos números: %i\n",contador2,cont);
}



Tu programa se cuelga por que tratas de meterle un "." a una variable Entera.

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

thealberteitor

buah tio me he estado rallando unas horas y no lo encontraba, pfff muchisimas gracias