Dev - C++ - ayuda

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 5 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda

Publicado por Francisco (3 intervenciones) el 31/08/2022 05:17:31
Muy buena noche, agradezco el tiempo que ocupan para ayudarnoe. La creacion del codigo es para ingresar registro de 5 autores y fechas de publicacion, mostrar las peticiones de acuerdo al menu solo hace el case 1 lo demas marca error me podrias ayudar por favor.
//librerias
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<string>

using namespace std;

int main(){
//variables
int op, y, year, n, pos, aux, i;
string autor;

cout<<"1.- Registrar libros \n";
cout<<"2.- Ver lista de libros Registrados \n";
cout<<"3.- Ordenar libros por ano\n";
cout<<"4.- Salir \n\n";
cout<<"Seleccione una opcion: ";

cin>>op;
//Estructura de seleccion
switch (op){
case 1:
cout<<"¿Cuantos registros desea Hacer?"<<endl;
cout<< "R: "; cin>>n;


for(i = 0; i < n; i ++){
fflush(stdin);

cout<<i+1 <<"- Ingrese nombre del autor: "<<endl;
getline(cin,autor);


cout<<i+1<<"- Ingrese anio de publicacion: "<<endl;
cin>>year;
}

break;
case 2:
if)(n ==0){
cout<<"lista Vacia"<<endl;
}
else{

for( i = 0; i< n; i++){

cout<<"- Autor: "<<autor[i]<<endl;
cout<<"- Anio: "<<year<<endl;
cout<<"------------------------------"<<endl;
}
}

break;

//Metodo de ordenamiento por inserccionm
case 3:
for(i = 0; i< n; i++){
pos = i;
aux = y[i];

while((pos>0)&&(y[pos-1]>aux)) {
y[pos] = y [pos-1];
pos--1;

}
y[pos]= aux;
}

for(int i = 0; i< n; i++){
cout<<autor[i]<<" "<<endl;
cout<<year[i]<<" "<<endl;
cout<<"------------------------------"<<endl;
}
case 4: break;
}



return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ayuda

Publicado por dario (718 intervenciones) el 31/08/2022 06:43:51
Hola, te ayudo con esto solo falta la opcion 3.
Salu2.
NOTA: Lee sobre ordenacion en la STL (sort), busca en google como: stl sort c++.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <vector>
 
using namespace std;
 
//Numero de registros
const int numRegistros = 3;
 
int main() {
    //variables
    vector <string> nombres;
    vector <int> publicacion;
    string autor;
    int year,op,i;
 
    do {
        cout << "1.- Registrar libros \n";
        cout << "2.- Ver lista de libros Registrados \n";
        cout << "3.- Ordenar libros por ano\n";
        cout << "4.- Salir \n\n";
        cout << "Seleccione una opcion: ";
        cin >> op; cin.ignore();
        //Estructura de seleccion
        switch (op) {
            case 1:
                //Supuestamente son 5 registros
                for(i = 0; i < numRegistros; i ++) {
                    cout << "Ingrese nombre del autor: ";
                    getline(cin,autor);
                    cout << "Ingrese anio de publicacion: ";
                    cin>>year;
                    nombres.push_back(autor);
                    publicacion.push_back(year);
                    cin.ignore();
                }
 
            break;
            case 2:
                if (nombres.empty())
                    cout << "lista Vacia" << endl;
                else {
                    for (i=0; i<numRegistros; i++) {
                        cout << nombres[i] << "  ";
                        cout << publicacion[i] << endl;
                    }
                }
            break;
        }
 
    } while (op < 4);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar