[ Foro de C++ ]

Al imprimir todo lo que introduje me pone lo de una cadena en otra y da un error extraño

04-Aug-2020 23:29
Invitado (Jesus)
0 Respuestas

Tengo el siguiente programa.
Al imprimir todo, lo que introduje en la cadena de clasificacion se pone al final de lo que puse en la cadena codigovideojuego. Por ejemplo, si puse 1234567 en codigovideojuego y en clasificacion puse T, al imprimir todo en la parte de codigo imprime 1234567T.
Además de esto si introduzco E+10, lo imprime como E+1010, y de igual forma lo imprime al final de codigo.

Gracias por su ayuda.

#include <iostream>
#include<conio.h>
#include<string.h>

using namespace std;

void main() {

struct
{
char nombrevideojuego[100];
char codigovideojuego[7];
char clasificacion[4];
char precio[8];
char rentaoventa[5];
} videojuegos[500];

int opcionmenu, i=0;

cout << "Tienda de videojuegos" << endl << endl;
cout << "Ingrese 1 para agregar un videojuego" << endl;
cout << "Ingrese 2 para ver todos los videojuegos dados de alta" << endl;
cout << "Ingrese 3 para salir" << endl;
cin >> opcionmenu;
cin.ignore();
system("CLS");

switch (opcionmenu) {

case 1:

cout << "Introduzca el codigo del videojuego" << endl;
cin.getline(videojuegos[i].codigovideojuego, 8, '\n');


cout << endl << endl;

cout << "Introduzca el nombre del videojuego" << endl;
cin.getline(videojuegos[i].nombrevideojuego, 100, '\n');

cout << endl << endl;

cout << "Introduzca la clasificacion" << endl;
cout << "E: Todos, E+10: Todos +10, T: Adolescentes, M: Maduro +17, Ao: Adultos unicamente +18, RP: Aun sin clasificar" << endl;
cin.getline(videojuegos[i].clasificacion, 5, '\n');

cout << endl << endl;

cout << "Introduzca el precio" << endl;
cin.getline(videojuegos[i].precio, 9, '\n');

cout << endl << endl;

cout << "Introduzca si es venta o renta" << endl;
cin.getline(videojuegos[i].rentaoventa, 6, '\n');


system("CLS");

cout << "Videojuego agregado correctamente" << endl << endl;
cout << "Codigo del videojuego: " << videojuegos[i].codigovideojuego << endl;
cout << "Videojuego: " << videojuegos[i].nombrevideojuego << endl;
cout << "Clasificacion: " << videojuegos[i].clasificacion << endl;
cout << "Precio: " << videojuegos[i].precio << endl;
cout << "Es: " << videojuegos[i].rentaoventa << endl << endl << endl;
break;

case 3:
exit(0);
break;

default: cout << "No existe esa opcion" << endl;

}
system("PAUSE>null");
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)