묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
404에러
404 에러가 나와요이전 강의에서 작성했던페이지들은 잘 들어가지는데유독 지금 만든 jsp는 경로를 못찾는지 안되네요 안녕하세요제가 web폴더안에 servletmvc를 안뒀던 게 문제가 됐던거 같은데맞나요? 그렇다면 왜 그런지 궁금합니다. 주소로 매핑되서 들어가는데 web폴더 안이 아니여서 안된건지... 설명 부탁드립니다.
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
SQL
안녕하세요 강사님 강의 잘 듣고 있습니다.강의를 듣다가 궁금한 점이 있는데요,SQL이 오라클 내부에서 상세실행계획으로 변경된다고하셨는데, 혹시 이와 관련한 괜찮은 책이 뭐가 있는지여쭤봐도 될까요?SQL이 들어갔을때 내부 메커니즘이 궁금합니다.감사합니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
UE_LOG에 빨간색 밑줄이 쳐집니다.
디버깅 실습을 위해 똑같이 따라했지만 ㅠ UE_LOG에 빨간색 밑줄이 쳐지고 컴파일에 실패했습니다.. 어떻게 하면 문제를 해결할 수 있을지 여쭤보고 싶습니다..!
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
컴포저블 함수 구현에서 초기화 이유?
이부분 초기화 하는 이유가 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JPA 강의 중 SpringConfig Bean 오류
JPA 강의 중 SpringConfig에서 EntityManager 생성자를 등록하는 부분에서 오류가 납니다. 질문하기 탭에서 해당 오류와 비슷한 질문글을 찾아보았늗네 intelliJ의 버그일 수도 있다고 해서 실행을 해보니org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.5.jar:2.7.5] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-2.7.5.jar:2.7.5] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.5.jar:2.7.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.5.jar:2.7.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.5.jar:2.7.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.5.jar:2.7.5] at hello.hellospring.HelloSpringApplication.main(HelloSpringApplication.java:10) ~[main/:na]Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:175) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:173) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] ... 16 common frames omittedCaused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:138) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] ... 33 common frames omitted 위와 같은 에러가 떴습니다. 현재 파일들은 아래와 같습니다.build.gradleapplication.propertiesMemberServiceJpaMemberRepositoryMemberSpringConfig제가 수업내용중에 어떤걸 놓쳤을까요 ㅜㅜ답변 부탁드립니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
페치 조인 시 메서드 네이밍
페치 조인을 사용하는 메서드의 네이밍 컨벤션을 어떻게 가져가시는지 궁금합니다.예를 들어 Member 조회 시 Team을 페치 조인으로 가져오는 경우 메서드명을 어떻게 정하시나요?public interface MemberRepository extends JpaRepository<Member, Long> { @EntityGraph("team") Optional<Member> findByUsername(String username); }제 경우 페치 조인을 의미하는 접미사( ~Fetch() )를 붙이고 페치 조인하는 엔티티는 해당 메서드에 문서화하는 방식으로 진행 중이긴 한데, 영한님이나 서포터즈 분들은 '이 쿼리 메서드는 페치 조인을 수행한다'를 어떤 방법으로 표현하시는지 궁금합니다.
-
해결됨두고두고 써먹는 유니티 VR
Keep Selected Target Valid 질문입니다.
활성화하면 인터랙션 중인 대상이 유효해지지 않아도 인터랙션을 유지할 수 있다고 하셨는데 이게 무슨 말인지 잘 모르겠습니다.유효하지 않은 대상과 인터랙션을 할 수가 있나요?그리고 예시로 보통 텔레포테이션을 할 때 더이상 Ray Interactor가 Teleportation Anchor나 Area를 가리키지 않는 경우 인터랙션 되지 않도록 할 때 사용한다고 하셨는데 이 부분도 무슨 말인지 잘 모르겠습니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
Mesh와 MESH
안녕하세요~! 강좌에서 .h에는 Mesh라고 적고, .cpp에서는 MESH라고 적는 걸로 익혔습니다. 궁금해서 .cpp의 MESH를 MESHesgone으로 바꿔보았는데 에디터에서 해당 컴포넌트가 적용되지 않은 것으로 보였습니다. 제가 전공이 전혀 무관한 사람이라 너무 기본적인 의문을 가지는 것 같은데 왜 그런 것인지 알려주신다면 저에게 도움이 많이 될 것 같습니다. 감사합니다.
-
해결됨배달앱 클론코딩 [with React Native]
Ing component navigation type error
Ing 컴포넌트의 네비게이션 타입을 강좌에 나온대로 진행하였더니 타입에러가 발생해서 문의글 남깁니다.컴포넌트 하단부 도착 마커의 navigation.push("Complete", {}); 에서 push 관련된 타입에러가 발생하였습니다.Property 'push' does not exist on type 'NavigationProp라는 에러메세지가 발생하였는데요.우선 아래의 사진과 같이 navigation의 타입을 재선언 해주면서 해결이 되었습니다.LoggedInParamList 대신에 생성한 IngScreenPorps를 넣어봤으면 push에 대한 에러는 해결되지만 complete라는 네비게이션을 찾지 못한다는 에러가 발생하여 위와같이 해결했는데 옳바른 해결책인지 궁금해서 문의 드립니다! 그리고 추가로console.dir 을 활용하려고 하면TS2339: Property 'dir' does not exist on type 'Console'.위와 같은 에러가 발생하는데 이건 해결책이 없을까요? 혼자 찾아보려고 했으나 찾지를 못하여 문의드립니다.
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
질문이 있습니다! 컴파일 에러 관련입니다.
The .NET Core SDK cannot be located: A valid dotnet installation could not be found. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.라는 경고창이 뜨며 디버깅에 문제가 있다고 합니다.실제로 코드창에 에러를 적어도 디버깅 하고난 후에 에러는 경고 되지만 작성 중에는 컴파일러가 찾지 못합니다.
-
미해결스프링 시큐리티 OAuth2
OAuth2 로그인 구현 - Authorization Code 요청하기 - OAuth2AuthorizationRequest 객체 세션 저장 문제
안녕하세요! 좋은 강의 너무 감사드립니다! 한가지 질문 드릴께 있습니다. OAuth2 로그인 구현 - Authorization Code 요청하기26:25분내용을 보면 첫번째 인증 단계! (response type = code)OAuth2AuthorizationRequest 객체 담아서인가 서버 (keyclack 서버) 에 전달 하게 되는데요이것과 동시에 OAuth2AuthorizationRequest 객체를 sesstion 에 저장을 하게 됩니다. 그러면 사용자는 인가 서버 (keyclack 서버) 로그인을 성공적으로 해결된다면 미리 지정된 redirect url 통해Authorization Code 값을 전달해주는데요!그런 후 미리 OAuth2AuthorizationRequest 객체를 sesstion 저장된것을 가져오는데 만약 해당 서버가 1개 라서 다행이지만scale out 경우 그러니깐 서버가 2대 이상이라면 맨처음 OAuth2AuthorizationRequest 객체 저장할때가 1번 서버라면 OAuth2AuthorizationRequest 객체를 가져올때가 2번 서버라면 이때 각각 다른 서버이기 때문에 가져오지 못하는 문제가 발생되지 않나요? 이때는 어떻게 해결해야 할까요??.. OAuth2AuthorizationRequest 객체를 외부 세션 서버로 저장 할수 있도록 다시 로직을 재구현 해야 하는걸까요?
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
안녕하세요 웹팩 명령어실행중에 오류가 나서요
webpack설치를 했는데 webpack 명령어 자체를 인식하지 못해성...처음에는 ouput을 인식못하다가 이젠 webpack을 인식하지 못하네용.ㅠ도와주세용
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
travis.yml에서 배포를 할때 docker-compose를 실행하는건가요?
.travis.yml 파일을 PUSH하면 써있는대로 테스트를 먼저 진행하고테스트가 성공하면deploy에 명시된 곳으로 배포를 진행하는 것까지는 알겠습니다.그러면 deploy를 할 때 dockerfile을 참조해서 실행하는건가요 아니면 도커컴포즈 파일을 참조해서 실행하는건가요?
-
미해결핵심만 빠르게, 입문자를 위한 파이썬(Python)과 판다스(Pandas)
pandas 연습문제 4번 관련
def getManPopulation(row): man = 0 for i in row.index: if "남자" in i: man += row[i] return man sample['남자인구 합계'] = sample.apply(getManPopulation, axis=1) sample.head() 이 코드에서 정의한 getManPopulation(row): man = 0 함수에서 row.index를 하면 row는 행이고 0부터 숫자들이 쭉 적혀있는데 row의 index가 왜 column값으로 나오는지 헷갈리네요또 sample.columns는 잘 나오는데 sample.rows를 하면 데이터프레임에서는 row값이 없다고 나오는데 그 이유가 무엇인지 모르겠습니다이 문제와 비슷한 질문을 주신 분의 질문 답변에서도 확실히 이해를 하지 못해서 다시 질문합니다~
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
객체.getXXXList().add(this) 관련
안녕하세요 스프링 1년정도 공부하고 출시까지 해본 수강생입니다.새로운 프로젝트 진행중에 의문이생겼는데 하단 사진보시면,일반적으로 객체의 컬럼들을 디비에 저장해서 프로그램이 종료되더라도 그 정보가 남아있는데, 하단 네모칸의 user.getProductSellList().add(this); -> User의 List<ProductSell>에 해당 객체가 추가될텐데.따로 디비에 저장하지 않고도 어떻게 프로그램 재실행시에 해당 리스트가 보존되어 있는건가요?user를 불러올때 최적화로 인해 2번째 사진처럼 불러옵니다. 이때 어떻게 List<ProductSell>이 보존되어 있는지 궁금하네요(스프링의 어떤기능으로 보존되어있는지)너무 당연하게 생각하다가 질문드립니다 감사합니다.
-
미해결Flutter 중급 1편 - 클린 아키텍처
상태관리되는 변수들의 위치에 대해
상태관리를 viewModel에서 거의 다 하시는 것 같은데 이번 강의에서는 screen 생성자로 Note를 넘겨주셨습니다.다른 방식으로, notes_screen(목록화면)에서 노트를 클릭했을 때 ui 이벤트를 발생하여 add_edit_note_view_model에 note를 전달하고 그 값(viewModel의 note)을 add_edit_note_screen으로 전달 해서 사용 하는 것은 어떤가요?생성자로 넘겨주는 것이 훨씬 편하긴 하나 screen에 변수를 선언 안해야 될 것 같은 생각이 들어서 고민에 빠집니다. 특정 screen으로 navaigator.push 될때마다 값이 특정 값으로 초기화를 해야되는 상황에서viewModel에 값을 두고 viewModel을 계속 재성성하는지(강의에서는 노트를 새로 만들 때 배경색을 초기화하는 방법으로 설명),혹은 viewModel을 하나만 생성하고 screen이 init 될때마다 viewModel의 특정 값을 초기화 해주는지(initState에서 이벤트 발생을 하여),혹은 add_edit_note_screen의 note 변수처럼 선언해서 값을 초기화 하는지(viewModel 사용 안하는 방식)강사님의 생각이 궁금합니다.(첫번째 방식이 가장 간단하긴 하나 계속 생성된다는 것이 마음에 걸려서 2,3번째 방식을 생각하게 됐습니다.) 답이 없다는 것은 알고 있지만 어떤 것이 더 좋은 선택이고 좋은 코드가 될 수 있는지 계속 생각하게 되다보니 모호한 질문들을 하게 됐습니다. 덕분에 생각을 많이 하게 되고 플러터의 매력에 빠졌습니다.감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
임베디드 타입의 중첩
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]@AttributeOverrides를 사용해 집주소, 회사주소를 정의할 때 이 방법에는 주소 엔티티를 따로 설계하는 것이 좋은 방법일까요? 아님 강의처럼 하는 것이 좋은 방법인가요 ?저는 뭔가 데이터베이스에 컬럼들이 낭비가 될지도 모르겠다는 생각이 들어서 차라리 엔티티로 분리하여 연관관계를 설정해주는게 더 좋을 것 같아서요.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
수업자료
안녕하세요 이번 수업 자료가 없어서 문의드렸어요 저도 creo9447@naver.com 으로 수업자료 받아볼 수 있을까요
-
해결됨한 방에 끝! 빅데이터분석기사 실기 작업형
기출 문제 풀이 질문
안녕하세요! 샘 덕분에 좋은 강의 잘 들었습니다.python 초보로서 기출문제 풀이 중에 궁금한 점이 있어 문의 드립니다.기출문제 2회차 > 작업1유형 > #1번 풀이를 다르게 풀어보고싶어서 연습을 하는데요아래와 같이 코딩하면 정답이 다르게 나오는데, 무엇이 잘못된건지 알고싶습니다!감사합니다 :) ############################################################import pandas as pddf = pd.read_csv("https://raw.githubusercontent.com/leadbreak/inflearn_lecture/main/datasets/%EA%B8%B0%EC%B6%9C02/1_1.csv")#최소값min = df['CRIM'].sort_values(ascending=False)[:50].min()#최소값으로 대체 <---이 부분이 최소값으로 대체가 안되는 것 같습니다ㅠㅠdf['CRIM'].sort_values(ascending=False)[:50] = min#평균 : 7.900414294117647 (정답 : 5.009114294117647 과 다름)print( df[df['AGE'] >= 90]['CRIM'].mean() )
-
미해결홍정모의 따라하며 배우는 C언어
(강의10:01) 런타임 에러 발생하는 이유
이정도까지만 작성한 후, 처음 엔터를 입력했을 때 정상적으로 반복문을 빠져나가 프로그램을 종료하는지 알아보기 위해 실행해보았습니다.컴파일 에러는 없었고 정상적으로 빌드되어 실행되었는데,왜 런타임 에러가 발생하는지 이유를 모르겠습니다.[수정] 코드를 전체 다 작성했음에도 똑같이 런타임 에러가 발생합니다..ㅠㅠ#define CRTSECURE_NO_WARNINGS#include <stdio.h>#include <limits.h>#define MAX_TITLE 40#define MAX_AUTHOR 40#define MAX_BOOK 3char* s_gets(char* st, int n){ char* ret_val; char* find; ret_val = fgets(st, n, stdin); if (ret_val) { find = strchr(st, '\n'); if (find) * find = '\0'; else while (getchar() != '\n') continue; } return ret_val;}struct book{ char title[CHAR_MAX]; char author[CHAR_MAX]; float price;};int main(){ struct book bk[MAX_BOOK] = {"Empty", "Empty", 0.0f}; int count = 0; int i; for (i = 0; i < MAX_BOOK; i++) { printf("Input a book title or press [Enter] to stop\n"); if (s_gets(bk[i].title, MAX_TITLE) == NULL) break; //EOF를 만나 NULL을 반환했을 때 (예외처리) if (bk[i].title[0] == '\0') break; printf("Input the author.\n"); s_gets(bk[i].author, MAX_AUTHOR); printf("Input the price.\n"); int flag = scanf("%f", &bk[i].price); while (getchar() != '\n') continue; //getchar() != '\n'는 입력 버퍼 내의 개행을 지우는 역할. 꺼내어서 비교? == 버퍼에서 소거 if (i == 2) printf("No more books.\n"); count++; } if (count > 0) { printf("\nThe list of books:\n"); for (i = 0; i < count; i++) printf("\%s\" written by %s: $%.1f\n", bk[i].title, bk[i].author, bk[i].price); } else printf("No books to show.\n"); return 0;}