C++: Principiante...
Ciao ragazzi, vi scrivo perche ho un problema con un mio programma , non riesco ad eseguirlo...l'ho gia compilato e nn c'è nessun errore... non lo so...guardatelo qui (è in spagnolo....
)
#include
#include
#include
#include
void main()
{
// Declaracion de la funcion
int par(int numero);
//Declaracion de la variable
int n,resultado=0;
cout << "Programa que verifica si es par";
ifstream f_entrada;
ofstream f_salida;
f_entrada.open("leer.txt",ios::in);
if(f_entrada.fail())
cerr << "Error al abrir el archivo leer.txt" << endl;
else
while(!f_entrada.eof())
{
f_entrada >> n;
resultado= par(n);
if (resultado == 1)
{
f_salida.open("pares.txt");
f_salida << n ;
cout << "Numero par almacenado..\n" << endl;
f_salida.close();
}
f_entrada.close();
system ("PAUSE");
}// fin while
}
int par (int numero)
{
if (numero%2==0)
{
cout << "El numero es par\n";
return 1;
}
else
{
cout << "El numero es impar\n";
return 0;
}
}
Grazie di tutt

#include
#include
#include
#include
void main()
{
// Declaracion de la funcion
int par(int numero);
//Declaracion de la variable
int n,resultado=0;
cout << "Programa que verifica si es par";
ifstream f_entrada;
ofstream f_salida;
f_entrada.open("leer.txt",ios::in);
if(f_entrada.fail())
cerr << "Error al abrir el archivo leer.txt" << endl;
else
while(!f_entrada.eof())
{
f_entrada >> n;
resultado= par(n);
if (resultado == 1)
{
f_salida.open("pares.txt");
f_salida << n ;
cout << "Numero par almacenado..\n" << endl;
f_salida.close();
}
f_entrada.close();
system ("PAUSE");
}// fin while
}
int par (int numero)
{
if (numero%2==0)
{
cout << "El numero es par\n";
return 1;
}
else
{
cout << "El numero es impar\n";
return 0;
}
}
Grazie di tutt
Risposte
ho visto qua e là che ci sono istruzioni come "return 0" o "return 1"... la tua funzione main deve essere una "int" e non una "void" perché le funzioni void non possono restituire niente
"Kroldar":
ho visto qua e là che ci sono istruzioni come "return 0" o "return 1"... la tua funzione main deve essere una "int" e non una "void" perché le funzioni void non possono restituire niente
I "return" sono abbinati alla funzione "par", non alla main. Comunque è strano che non ti abbia dato errori in compile-time, dato che manca una parentesi graffa che chiude la funzione "par" e che main deve ritornare un tipo int e non void.
vero lore non ci avevo fatto caso
Grazie ragazzi per l'appunto...ho sistemato come mi avevate consigliato....ma cmq il programma non riesco a eseguirlo ...l'ho lasciato cosi...
#include
#include
#include
#include
int main()
{
// Declaracion de la funcion
int par(int numero);
//Declaracion de la variable
int n,resultado=0;
cout << "Programa que verifica si es par";
ifstream f_entrada;
ofstream f_salida;
f_entrada.open("leer.txt",ios::in);
if(f_entrada.fail())
cerr << "Error al abrir el archivo leer.txt" << endl;
else
while(!f_entrada.eof())
{
f_entrada >> n;
resultado= par(n);
if (resultado == 1)
{
f_salida.open("pares.txt");
f_salida << n ;
cout << "Numero par almacenado..\n" << endl;
f_salida.close();
}
f_entrada.close();
system ("PAUSE");
}// fin while
return 0;
}
// fin programa
int par (int numero)
{
if (numero%2==0)
{
cout << "El numero es par\n";
return 1;
}
else
{
cout << "El numero es impar\n";
return 0;
}
}// fin funcion par
....grazie ancora per l'aiuto
#include
#include
#include
#include
int main()
{
// Declaracion de la funcion
int par(int numero);
//Declaracion de la variable
int n,resultado=0;
cout << "Programa que verifica si es par";
ifstream f_entrada;
ofstream f_salida;
f_entrada.open("leer.txt",ios::in);
if(f_entrada.fail())
cerr << "Error al abrir el archivo leer.txt" << endl;
else
while(!f_entrada.eof())
{
f_entrada >> n;
resultado= par(n);
if (resultado == 1)
{
f_salida.open("pares.txt");
f_salida << n ;
cout << "Numero par almacenado..\n" << endl;
f_salida.close();
}
f_entrada.close();
system ("PAUSE");
}// fin while
return 0;
}
// fin programa
int par (int numero)
{
if (numero%2==0)
{
cout << "El numero es par\n";
return 1;
}
else
{
cout << "El numero es impar\n";
return 0;
}
}// fin funcion par
....grazie ancora per l'aiuto
2 domande:
-Che ambiente di sviluppo usi, se lo usi?
-Che errore ti dà?
-Che ambiente di sviluppo usi, se lo usi?
-Che errore ti dà?
Probabilmente non viene rilevato il file leer.txt, per cui viene emesso il messaggio di errore, ma non si ha il tempo di leggerlo, mancando un'istruzione per "fermare" l'output.
Uso Dev-C ++ versione 4, quando compilo non mi viene nessun errore.... poi nell'esecuzione ..è cosi veloce k non si legge....
Prova ad inserire questo
if(f_entrada.fail()) {
cerr << "Error al abrir el archivo leer.txt" << endl;
getchar();}
al posto di
if(f_entrada.fail())
cerr << "Error al abrir el archivo leer.txt" << endl;
per poter leggere l'eventuale errore di file non trovato che presumo venga emesso.
if(f_entrada.fail()) {
cerr << "Error al abrir el archivo leer.txt" << endl;
getchar();}
al posto di
if(f_entrada.fail())
cerr << "Error al abrir el archivo leer.txt" << endl;
per poter leggere l'eventuale errore di file non trovato che presumo venga emesso.
Ok ragazzi ci siamo...grazie per il vostro aiuto , siete stati grandi ...ho cambiato certe cose....
guardate....
#include
#include
#include
#include
int main()
{
//Declaracion de la variable
int n;
ifstream f_entrada;
ofstream f_salida;
f_entrada.open("a:\\valor.txt");// Abro file de lectura
if(!f_entrada)
{
cerr << "\nError al abrir el archivo leer.txt" << endl;
getchar();
}
cout << " PROGRAMA DE NUMEROS PARES E IMPARES CON EL USO DE ARCHIVOS\n";
do
{
f_entrada >> n;
if (n%2 == 0) // Determino si es par
{
f_salida.open("pares.txt"); // Abro el file de escritura para num.pares
f_salida << n ;
cout << "\nEl numero " << n <<" es par y esta siendo almacenado..\n";
f_salida.close(); // Cierro el file de escritura
}
if (n%2 == 1) // Determino si es impar
{
cout << "\nEl numero " << n << " es impar..\n";
}
}
while(!f_entrada.eof()); //ciclo que se ejecuta hasta el fin del file de lectura
f_entrada.close(); // cierro el file de lectura
system ("PAUSE");
return 0;
}
Alla fine è un programma semplice ... io sto imparando da poco...devo consegnare qst domani...
ciao..e grazie ancora
guardate....
#include
#include
#include
#include
int main()
{
//Declaracion de la variable
int n;
ifstream f_entrada;
ofstream f_salida;
f_entrada.open("a:\\valor.txt");// Abro file de lectura
if(!f_entrada)
{
cerr << "\nError al abrir el archivo leer.txt" << endl;
getchar();
}
cout << " PROGRAMA DE NUMEROS PARES E IMPARES CON EL USO DE ARCHIVOS\n";
do
{
f_entrada >> n;
if (n%2 == 0) // Determino si es par
{
f_salida.open("pares.txt"); // Abro el file de escritura para num.pares
f_salida << n ;
cout << "\nEl numero " << n <<" es par y esta siendo almacenado..\n";
f_salida.close(); // Cierro el file de escritura
}
if (n%2 == 1) // Determino si es impar
{
cout << "\nEl numero " << n << " es impar..\n";
}
}
while(!f_entrada.eof()); //ciclo que se ejecuta hasta el fin del file de lectura
f_entrada.close(); // cierro el file de lectura
system ("PAUSE");
return 0;
}
Alla fine è un programma semplice ... io sto imparando da poco...devo consegnare qst domani...
ciao..e grazie ancora

Il problema derivava dall'assenza del file o da cos'altro?