Jump to content



C#


TheHacker

Recommended Posts

Καλησπερα ,εχω ενα προγραμματακι στο πανεπιστημιο το οποιο θα μ δωσει πολλα μπονους στην εξεταστικη ,και χρειαζομαι μια μικρη βοηθεια απο καποιον. Πρεπει να φτιαξω ενα "Parse" προγραμμα (για οσους δεν καταλαβαν ειναι προγραμμα ελεγχου λαθων).

1.Πως θα ελεγχω αν ο αριθμος που εχει εισαχθει στο προγραμμα (απ το πληκτρολογιο) ειναι ακεραιος

2.αν ειναι συνδιασμος ακεραιων αριθμων χωρισμενων με κομμα

3.αν ειναι κενο συνολο

4.αν ειναι " {} " αυτο :p ...

να σημειωθει πως ειμαστε ακομη στην αρχη και δν εχουμε μαθει ακομη πολυπλοκα πραγματα οπως strings και μπλα μπλα... σκεφτηκα να τ κανω με διαιρεση του αριθμου ωστε να παρω τα ψηφια και να τα ελεγχο 1 by 1....

ευχαριστω παραα πολυ εκ των προτερων..

Link to comment
Share on other sites

Console Application υποθέτω

1.Int16.TryParse Int16.TryParse Method (System)

2.Εδώ πρέπει αρχικά να ελέγξεις αν υπάρχει τουλάχιστον 1 ή περισσότερα κόμματα στο string εισόδου.Μετα split με το κόμμα.Το split θα σου επιστρέψει ένα array απο strings με τους "αριθμούς" ελέγχεις με το 1. αν είναι ακέραιοι.Αν είναι ΟΛΟΙ ακέραιοι αποδεκτη είσοδος έστω και ένας λάθος μη αποδεκτή

String.Contains

String.Contains Method (System)

String.Split

String.Split Method (Char[]) (System)

3.String.IsNullOrEmpty

String.IsNullOrEmpty Method (System)

4.To 4 με τα παραπάνω είναι βατό και αφήνεται σαν άσκηση στον αναγνώστη.

Link to comment
Share on other sites

1.int16.tryparse? δν εχω ιδεα το παιζει με αυτο ...xD

ας πουμε οτι εχω διαβασει εναν αριθμο απ το πληκτρολογιο...και εχω συνθηκη ωστε να τερματιζει εαν υπαρχει EOF(end of file) γραφω

if int16.tryparse? δεν το πιανω :S ..κατι πιο απλο ή μια επεξηγηση :D?

Link to comment
Share on other sites

Tο λινκ το διάβασες? :p

public static bool TryParse(
string s,
out short result
)

Parameters

s
Type: System.String
A string containing a number to convert.

result
Type: System.Int16

When this method returns, contains the 16-bit signed integer value equivalent to the number contained in s, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null or String.Empty, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.

Return Value
Type: System.Boolean
true if s was converted successfully; otherwise, false.

την καλείς με 2 ορίσματα

short number;

bool result = Int16.TryParse(value, out number);

value=είσοδος από το πληκτρολόγιο.

To result είναι true αν το value είναι ακέραιος και η τιμή του σε ακέραια μορφή περιέχεται στην μεταβλητή number.

Το result είναι false αν το value δεν είναι ακέραιος και η μεταβλητή number τότε είναι ίση με το μηδέν.

οπότε ναι ένα απλό if αρκεί .Τρέξε μια και το παραδειγμα που έχει στην σελίδα.

Link to comment
Share on other sites

Βασικά μπορείς να ενώσεις τα δύο πρώτα σε ένα.

Αν κάνεις Decimal.TryParse. Σε αυτή την περίπτωση, ελέγχει και για δεκαδικά και αν είναι σωστός ο αριθμός θα πάρεις True.

Επίσης, εγώ χρησιμοποιώ την εξής σύνταξη:

Decimal.Tryparse(input_string, myNumber).

Αν το myNumber είναι 0, τότε ο χρήστης έβαλε "0" ή κάτι που δεν είναι αριθμός, το 1ο εύκολα ελέγχεται. Διαφορετικά θα πάρεις μεταβλητή τύπου Decimal με τον δεκαδικό που εισήγαγε ο χρήστης.

Link to comment
Share on other sites

κατι παω να καταλαβω αλλα παλι χανομαι στο tryparse γτ δν το εχω κανει ως "βοηθο"..ειμαστε ακομη αρχαριοι στο πανεπιστημιο ...ασε που νομιζω πως θελει κατι πιο απλο και οχι τετοιες "βοηθειες" απο την βιβλιοθηκη xD

Link to comment
Share on other sites

Για να το κανω λιγο πιο λιανα πες μ ακριβως τι πρεπει να γραψω σας κωδικα στο dev για παραδειγμα ωστε να διαβαζει απ το πληκτρολογιο 1 αριθμο και αμεσως μετα να ελεγχει αν αυτος ειναι ακεραιος και να τον εκτυπωνει αλλιως να κανει end of file.

Link to comment
Share on other sites

Θα μπορουσες να χρησιμοποιησεις regex για validation αν εχω καταλαβει ακριβως βεβαια τι θες να κανεις.

Δες μερικα παραδειγματα εδω: How to: Search Strings Using Regular Expressions (C# Programming Guide)

Link to comment
Share on other sites

Όλα στο πιάτο


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
System.Console.Out.Write("Input a number:");
var inputToTest = System.Console.In.ReadLine();

short inputAsInteger;
if(Int16.TryParse(inputToTest,out inputAsInteger))
System.Console.Out.Write("Valid number input\n");
else
System.Console.Out.Write("Not valid number input\n");

}
}
}

Δεν έχει try catch για exceptions.Και είναι Console Application.

Clopyright 50 Κιλα κωδικας A.E.B.E και ΣΙΑ 2015 :p

Link to comment
Share on other sites

ρε φιλε μου [MENTION=1215]nucleus[/MENTION] δν ειμαι προγραμματιστης ακομη στο 1ο εξαμηνο ειμαι δεν καταλαβαινω απο αυτα π μ στελνεις τπτ xD ...πρεπει να τ γραψω απλα με καποιον τροπο :p

Link to comment
Share on other sites

Για να δώ, αυτό που είναι ελληνικά και όχι C# θα το καταλάβεις;

ρε φιλε μου [MENTION=1215]nucleus[/MENTION] δν ειμαι προγραμματιστης ακομη στο 1ο εξαμηνο ειμαι δεν καταλαβαινω απο αυτα π μ στελνεις τπτ xD ...πρεπει να τ γραψω απλα με καποιον τροπο :p
MHN γράφεις με SMS συντμήσεις, γράφε ελληνικά. :whip:

Σου έχω κάνει εγώ και άλλοι mods τόσες φορές παρατήρηση.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.