Buenas. Estoy haciendo un programa que me compruebe si cada 40 palabras en un fichero hay signos de puntuación. El caso es que sé hacer solo con puntos mediante la siguiente función:
ifstream fichero; int i=0; //Contador de palabras bool x=true;
string dat; fichero.open("texto.txt");
while (fichero >> dat && x==true) { if (dat == ".") { cout << "Encontrado un signo de puntuacion. " << endl; i=0;
} else { i++; if (i==40) { cout << "No hay signos de puntuacion en 40 palabras." << endl; x=false; } } }
if (i<40) cout << "El documento esta escrito correctamente" << endl; fichero.close();
Lo que está remarcado en negrita hace que compruebe si hay puntos. Sin usar if anidados, ¿como podría decirle que además de puntos, puede haber comas o puntos y comas? Es decir, el operador o lógico .
Gracias por la ayuda, y perdón por una pregunta que se me antoja fácil. Ser novato es lo que tiene
EDITO:
Al parecer Escapology se me ha adelantado por una milesima de segundo
XTRminator escribió:Sin usar if anidados,
Con esto no se muy bien que quieres decir, pero esto mismo no te valdría?
if ((dat == ".") ||(dat == ",")||(dat == ";")) O estos son los ifs anidados?
Saludox