Jump to content

Recommended Posts

Posted

Boas, estou a fazer um programinha e está-me sempre a dar um erro que eu não estou a perceber o que tem de mal mas de certeza deve ser bem simples.

Código:

Module Module1
    Structure equipas
        Dim nr As String
        Dim nome As String
    End Structure
    Structure codigos
        Dim cod As String
    End Structure
    Dim equipa As equipas
    Dim cod(100) As codigos
    Sub menu(ByRef op As Char)
        Console.WriteLine("    MENU")
        Console.WriteLine("   1-Introduzir Equipas")
        Console.WriteLine("   2-Introduzir Jogadores")
        Console.WriteLine("   3-Alterar")
        Console.WriteLine("   4-Listar")
        Console.WriteLine("   5-Eliminar")
        Console.WriteLine()
        Console.WriteLine("Escolha uma opção")
        op = Console.ReadLine
    End Sub
    Sub regcodigos()
        ' guarda os nr das equipas num registo para depois comparar se esse número já existe
        Dim i As Integer
        If My.Computer.FileSystem.FileExists("C:\Users\Rafael Santos\Desktop\Rafael\programinhas\BD_EQUIpas_jogadores\BD_EQUIpas_jogadores\bin\Debug\equipas.txt") Then
            FileOpen(1, "C:\Users\Rafael Santos\Desktop\Rafael\programinhas\BD_EQUIpas_jogadores\BD_EQUIpas_jogadores\bin\Debug\equipas.txt", OpenMode.Random, OpenAccess.Read, , 999)
            For i = 2 To 100 Step 2
                FileGet(1, equipa.nr, i)
                cod(i).cod = equipa.nr
            Next
            FileClose(1)
        End If
    End Sub
    Sub posicaocerta(ByRef pos As Integer, ByVal pos2 As Integer)
        ' serve para por a posiçao certa de maneira a que não sobreponha as informações de outras equipas
        If My.Computer.FileSystem.FileExists("C:\Users\Rafael Santos\Desktop\Rafael\programinhas\BD_EQUIpas_jogadores\BD_EQUIpas_jogadores\bin\Debug\posicoes.txt") Then
            FileOpen(2, "C:\Users\Rafael Santos\Desktop\Rafael\programinhas\BD_EQUIpas_jogadores\BD_EQUIpas_jogadores\bin\Debug\posicoes.txt", OpenMode.Random, OpenAccess.Read, , 3)
            FileGet(2, pos2, 1)
            pos = pos2
            FileClose(2)
        End If
    End Sub
    Sub inserirequipas()
        regcodigos()
        Dim pos, i, pos2 As Integer
        Dim nr As String
        Dim test As Boolean = False
        posicaocerta(pos, pos2)
        FileOpen(1, "C:\Users\Rafael Santos\Desktop\Rafael\programinhas\BD_EQUIpas_jogadores\BD_EQUIpas_jogadores\bin\Debug\equipas.txt", OpenMode.Random, OpenAccess.Write, , 999)
        Console.WriteLine("Insira o nome da Equipa")
        equipa.nome = Console.ReadLine
        pos = pos + 1
        FilePut(1, equipa.nome, pos)
        Console.WriteLine("Insira o código respectivo à equipa")
        Do While test = False
            nr = Console.ReadLine
            For i = 2 To 100 Step 2
                If nr = cod(i).cod Then
                    Console.WriteLine("Esse número já foi introduzido")
                    test = False
                    Exit For
                Else
                    test = True
                End If
            Next
        Loop
        equipa.nr = nr
        pos = pos + 1
        FilePut(1, equipa.nr, pos)
        FileClose(1)
        FileOpen(2, "C:\Users\Rafael Santos\Desktop\Rafael\programinhas\BD_EQUIpas_jogadores\BD_EQUIpas_jogadores\bin\Debug\posicoes.txt", OpenMode.Random, OpenAccess.Write, , 1)
        pos2 = pos
        pos = 1
        FilePut(2, pos2, 1)<----- AQUI É ONDE APARECE SEMPRE O ERRO
        FileClose(2)
    End Sub
    Sub Main()
        Dim op As Char
        menu(op)
        Select Case op
            Case "1"
                inserirequipas()
        End Select
    End Sub

End Module

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.