Gå til innhold

Anbefalte innlegg

Har akurat skrevet et lite program , en liten kalulator med andre ord. Denne kjører to varialer som blir lagt isammen (input fra brukeren).

 

Så jeg tenkte jeg skulle ta en sjekk om det er et heltall, og da bruker jeg Regular Expression. Dette funket egentlig greit (tror jeg).

 

Så jeg skal kjøre en sjekk som gir en beskjed hvis brukeren angir et gyldig heltall, og en annen beskjed hvis det ikke er gyldig.

 

Jeg prøvde å sette opp en grei loop på dette men får det bare ikke til å fungere, så jeg håper noen kan gi en hjelpnde hånd.

 

__Code__

 

using System;
using System.Text.RegularExpressions;
using c = CalcDLL;

namespace SI.Trainee
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 [STAThread]
 static void Main(string[] args)
 {
 	int tall1 = 0;
 	int tall2 = 0;
 	int res = 0;
 	String strNumber;

 	Console.WriteLine("Skriv inn tall 1");
 	strNumber = Console.ReadLine();
 	Regex re = new Regex("[^0-9]*");
 	
 	bool test = false;
 	do
 	{
   Console.WriteLine("Skriv et tall");
   strNumber = Console.ReadLine();
 	
 	if ( re.IsMatch(strNumber))
   {
   	System.Console.WriteLine( "Du ikke har skrevet et heltall" );
   
   	
   }
   else

   	System.Console.WriteLine( "Du har skrevet heltatt");
     
   	tall1 = Convert.ToInt32(strNumber);
     test = true;
   	
   	
   	

 	}
   	
 	while (test);
   

 	
//  	data = "Goodbye World!";
//  	if ( Regex.IsMatch( data, "Hello" ) )
//  	{
//    // Sadly, this will never be reached..
//    System.Console.WriteLine( "Hello Found, joy!" );
//
//  	
 	//public bool IsWholeNumber(String strNumber)
//  	{
//    Regex objNotWholePattern=new Regex("[^0-9]");
//    return !objNotWholePattern.IsMatch(strNumber);
//  	}  


 	Console.WriteLine("Skriv inn tall2");
 	tall2 = Convert.ToInt32(Console.ReadLine());
 	Console.WriteLine("");

 
 	c.Calc _calc = new c.Calc();

 	res = _calc.Sum (tall1, tall2);

 	Console.WriteLine("summen blir " + res);
 	Console.ReadLine();


 	//
 	// TODO: Add code to start application here
 	//
 }
}
}

 

Har ikke lagt ved calDLL, da denne ikke er relevant, den retunerer bare en verdi av to tall. Jeg gjør nok en stor feil i loopen tror jeg.

 

Frankie

Lenke til kommentar
Videoannonse
Annonse

int tall1 = 0;

Console.WriteLine("Skriv inn tall 1:");

while( int.TryParse( Console.ReadLine(), out tall1) == false )

{

Console.WriteLine( "Du ikke har skrevet et heltall. Prøv igjen:" );

}

 

 

Som du ser er det bedre å bruke int.Parse/int.TryParse for å sjekke om det som er skrevet inn er et tall.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...