Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

320
Vistas
Necesito ayuda para corregir el código de tarea, entrada/salida de C++

Estoy en mi primer curso de introducción a Comp Sci. La tarea que tengo es ingresar un archivo .txt y luego generar un archivo .txt revisado. Los primeros problemas que tuve fueron solo con arreglar los directorios. Lo hice y todo salió bien con los archivos .txt , excepto que el profesor dice que tengo un error en la declaración de switch .

 #include <fstream> #include <iostream> using namespace std; int main() { int s = -2, a = 0, b = 0, NumIn; ifstream inFile("NumbersIn.txt"); if (inFile.fail()) { cout << "Unable to open file" << endl; return -1; } ofstream outFile("RevisedNumbers.txt"); while (!inFile.eof()) { inFile >> NumIn; cout << NumIn << endl; if (NumIn < 0) NumIn = -1; else if (NumIn > 0) NumIn = 1; outFile << NumIn << endl; switch (NumIn) { case -1: a += s; break; case 0: s += 1; case 1: b += s; } } outFile.close(); inFile.close(); cout << "A = " << a << endl; cout << "B = " << b << endl; cout << "S = " << s << endl; return 0; }

Producción:

 0 -2 9 14 -22 12 6 -9 12 13 -33 21 9 0 1 2 3 4 1 A = -4 B = -9 S = 0 Program ended with exit code: 0

Estoy incluyendo la pregunta de asignación aquí, así que la razón por la que usé s , a y b como números enteros:

Su programa requerirá los siguientes archivos
Archivo de entrada: NumbersIn.txt (adjunto a esta tarea)
Archivo de salida: NúmerosRevisados.txt
Su programa utilizará las siguientes variables:
int s=-2, a = 0, b = 0. NumIn;
Siempre que haya datos en el archivo de entrada, su programa leerá un número en la variable NumIn, lo imprimirá en la pantalla y luego determinará lo siguiente:
Si NumIn es negativo cámbielo a -1
Si NumIn es positivo cámbielo a +1
Si NumIn es cero, no haga nada
Escriba el nuevo valor de NumIn en el archivo de salida RevisedNumbers
Después de actualizar NumIN, use una declaración de cambio para basarse en el valor actual de NumIn
Cuando NumIn es -1, aumente el valor de A en S
Cuando NumIn es 0, incremente S en 1
Cuando NumIn es 1, aumente el valor de B en S
Cuando ya no tenga datos para leer, imprima el valor actual de A, B y S.

Envíe una copia de su programa.
La salida de pantalla
El archivo de entrada.
El archivo de salida.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tu versión:

 switch (NumIn) { case -1: a += s; break; case 0: s += 1; case 1: b += s; }

Para solucionarlo, agregue dos declaraciones de interrupción:

 switch (NumIn) { case -1: a += s; break; case 0: s += 1; break; case 1: b += s; break; }

Sin ellos, el caso 0 pasa al caso 1. En realidad, es legal hacerlo, pero se considera un error común, por lo que SIEMPRE debe hacer un comentario si su falla es intencional. Supongo que esta vez no lo es.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda