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
| subroutine recherche
use cds
implicit none
integer::flag,choix,l,i,j,k,n
character::titre_rech
do while (choix/=0)
flag=0
print*,'donner le titre de votre chanson'
read*,titre_rech
l= len_trim(titre_rech)
!connaitre le nombre de caractere de la série de mot entrée par l'utilisateur
do i=2,N+2
open(unit=1,file='collec',status='old',access='direct',form='formatted',recl=100)
read(1,rec=i,fmt='(a30)')cd%nom
!lecture des noms des albums
open(unit=2,file=cd%nom,status='new',access='direct',form='formatted',recl=30)
read(2,rec=6,fmt='(a30)')cd%n
do k=7,cd%n
!k permet de passer d un morceau a un autre
do j=0,30-l
!j represente le decalage (espaces dans une ligne, il ne doit pas dépasser 30-la taille du mot pour rester dans le format) avant chaque comparaison
read(2,rec=k,fmt='(jX,al)')cd%morceau
if ('titre_rech'=='cd%morceau') then
Read(2,rec=k,fmt='(a30)')cd%morceau
Print*,cd%morceau,'dans',cd%nom
flag=1
end if
end do
end do
end do
If (flag/=1) then
Print*,'Pas de resultat pour votre recherche'
choix=0
end if
end do
end subroutine recherche |
Partager