Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aiuto Visual Basic

    Ciao a tutti,
    io ho creato un programma in VB per calcolare l'area e perimetro di un triangolo rettangolo (sono alle prime armi)

    Il codice è questo:

    codice:
    Module Module1
    
        Sub Main()
            'Dichiarazioni Variabili
            Dim c1, c2, i, A, P As Single
            Console.WriteLine("Programma creato per il calcolo dell'area e perimetro di un triangolo rettangolo")
            Console.WriteLine("Indicami la lunghezza del primo cateto: ")
            c1 = Console.ReadLine
            Console.WriteLine("Indicami la lunghezza del secondo cateto: ")
            c2 = Console.ReadLine
            Console.WriteLine("Indicami l'altezza dell'ipotenusa")
            i = Console.ReadLine
            If (c1 <= 0 Or c2 <= 0 Or i <= 0) Then
                Console.WriteLine("C'è un'errore nell'immessione dei dati!")
                Console.ReadLine()
            Else
                If (c1 < c2 + i And c2 < c1 + i And i < c2 + c1) Then
                    P = c1 + c2 + i
                    A = (c1 * c2) / 2
                Else
                    Console.WriteLine("I dati immessi non sono corretti, ricontrolla!")
                    Console.ReadLine()
                End If
            End If
            Console.WriteLine("Il perimetro è di {0:f1} e l'area è di {1:f1}", P, A)
            Console.ReadLine()
        End Sub
    
    End Module

    Adesso però ho due domande...
    1. Come faccio a fare apparire i due errori "C'è un'errore nell'immessione dei dati" e "I dati immessi non sono corretti, ricontrolla!" in rosso?
    2. Come si fa, una volta che appaiono i due errore, far ricominciare lo script da capo?

    Grazie per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Per il colore del testo prova cosi
    codice:
                Console.ForegroundColor = ConsoleColor.Red
                Console.WriteLine("testo in colore rosso")
                Console.ForegroundColor = ConsoleColor.White
                Console.WriteLine("testo tornato bianco")
                Console.ReadLine();
    per ripetere il programma da capo dopo i due errori potresti fare cosi

    codice:
    
    Module Module1
    
        Sub Main()
            'Dichiarazioni Variabili
            Dim c1, c2, i, A, P As Single
            Dim errori as Integer 
            Do                            'ripete finchè ci sono due errori , se c'è un solo errore non ripete
    		                  ' se vuoi che ripeta ache con un solo errore metti errori errori>=1 nella condizione
    					errori=0 'azzera gli errori 
    					Console.WriteLine("Programma creato per il calcolo dell'area e perimetro di un triangolo rettangolo")
    					Console.WriteLine("Indicami la lunghezza del primo cateto: ")
    					c1 = Console.ReadLine
    					Console.WriteLine("Indicami la lunghezza del secondo cateto: ")
    					c2 = Console.ReadLine
    					Console.WriteLine("Indicami l'altezza dell'ipotenusa")
    					i = Console.ReadLine
    					If (c1 <= 0 Or c2 <= 0 Or i <= 0) Then
    									Console.WriteLine("C'è un'errore nell'immessione dei dati!")
    									errori=errori+1
    									Console.ReadLine()
    					Else
    									If (c1 < c2 + i And c2 < c1 + i And i < c2 + c1) Then
    										P = c1 + c2 + i
    										A = (c1 * c2) / 2
    									Else
    										Console.WriteLine("I dati immessi non sono corretti, ricontrolla!")
    										 errori=errori+1
    
    										Console.ReadLine()
    									End If
    					End If
    		Loop 	while errori=2 		
    		Console.WriteLine("Il perimetro è di {0:f1} e l'area è di {1:f1}", P, A)
    		Console.ReadLine()
           
        End Sub
    
    End Module

    P.S.
    non conosco vb.net ma dovrebbe andare , mi ero accorto di un errore , avevo messo do while loop , invece andava do loop while
    Tecnologia

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Loop while errori=2
    Quindi se c'è un errore solo va bene?
    (Strano modo di indentare il codice).

    @lello467
    Nel titolo della discussione dovresti specificare di quale versione di VB si tratta e dare indicazione del problema che poni, come da regolamento.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Originariamente inviato da Grumpy
    @lello467
    Nel titolo della discussione dovresti specificare di quale versione di VB si tratta e dare indicazione del problema che poni, come da regolamento.
    Concordo e sottoscrivo.

    Qui ho corretto io il titolo, ma in futuro deve essere specificato seguendo le indicazioni riportate nel Regolamento di questa sezione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    per Grumpy

    aveva chiesto
    Quindi se c'è un errore solo va bene?
    (Strano modo di indentare il codice).
    chi ha creato la discussione ,ha chiesto :
    Come si fa, una volta che appaiono i due errore, far ricominciare lo script da capo?
    la condizione che ho posto , soddisfa questa esigenza , ma ho suggerico con un commento
    la condizione errori errori>=1 , che tiene conto anche di un singolo errore

    l'indentazione è un po esagerata ,mi è venuta cosi , ma se guardi il codice su un editor , con evidenziatore di sintassi , è chiarissimo
    Tecnologia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.