Hice este código al momento de pedir los datos me sale bien pero después cuando quiero mostrar los datos que pedi la impresion sale mal, me podrian decir por favor que tengo que hacer para que salga bien la impresion por favor.Dejo una imagen para que vean la impresion final, solo el nombre del ultimo libro nada mas me muestra .Por favor necesito de su ayuda para resolver esto y de antemano gracias
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
void main(){
int lib;
char libro[50];
cout<<"Cantidad de libros: ";
cin>>lib;
for(int i=0;i<lib;i++){
cout<<"Nombre del libro "<<i+1<<" :";
fflush(stdin);
gets(libro);
cout<<endl;
}
for(int i=0;i<lib;i++){
cout<<"Nombre del libro "<<i+1<<" : "<<libro<<endl;
}
system("pause");
}
Tal y como ha dicoiBugquieres guardar dos libros,pero s ó lo tienes espacio para uno.
我需要 M á s libros,necesitar á s m á s espacio para libros,la soluci ó n propuesta por iBug es correcta y funcional(limitada un m á ximo de 10 libros),pero yo te evisterjo una soluci ó n m á s acorcon
Las cabeceras 在 C++ 中,您可以使用 tipo 与您的客户合作,请参见 请参见este hilo第 1 页。 没有必要使用 参考este hilo军刀 por qu é.La funci ó n<stdlib.h>
y<stdio.h>
son de C,no de C ++,si realmente needesitas usarlas (que no las needesitas) debes usar los equivalentes de C ++:<cstdlib>
y<cstdio>
.Consulta0
std::string
(accessibles tras incluir la cabecera<string>
)。std::list
(accebles tras incluir la cabecera<list>
) no conformaciones1。std::endl
,它是使用 salto de l í nea exp í cito\n
,consultaeste hilopara sabpor qu é。main
,debedevolver un valor.Consultaeste hilopara saber por por qu é.
Teniendo en cuenta todas estas correcciones tu c ó digo podr í a quedar as í:
#include <iostream>
int main(){
using lista_libros = std::list<std::string>;
lista_libros libros;
int lib;
std::cout << "Cantidad de libros: ";
std::cin >> lib;
for (int i = 0; i < lib; ++i) {
std::cout << "Nombre del libro " << i + 1 << " :";
std::string libro;
std::cin >> libro;
libros.push_back(libro);
}
lib = 0;
for (const auto &libro : libros) {
std::cout << "Nombre del libro " << ++lib << " : " << libro << '\n';
}
return 0;
}
Tambi é n conocidas comoarregloso en ingl é sarray.
Creo que debes usar un array de arrays:libro
en el buckle primero defor
por cada vez.Creo que debes usar un array de arrays:
char libro[10][50];
// ^^^^
cout<<"Cantidad de libros: ";
cin>>lib;
for(int i=0;i<lib;i++){
cout<<"Nombre del libro "<<i+1<<" :";
fflush(stdin);
gets(libro[i]);
cout<<endl;
}
for(int i=0;i<lib;i++){
cout<<"Nombre del libro "<<i+1<<" : "<<libro[i]<<endl;
}
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(56条)