Attachment 'Uge46.cs'

Download

   1 using System;
   2 using System.Collections.Generic;
   3 using System.Text;
   4 
   5 namespace ConsoleUI
   6 {
   7 
   8     class Program
   9     {
  10         static bool skalIndeholdeStoreBogstaver;
  11         static bool skalIndeholdeLilleBogstaver;
  12         static bool skalIndeholdeTal;
  13         static bool skalIndeholdeSpecialTegn;
  14         static int antalTegn;
  15 
  16         static string storeBogstaver = "ABCDEFGHIJKLMNOPQRSTUVXYZ";
  17         static string småBogstaver = storeBogstaver.ToLower();
  18         static string specialTegn = "!%#&¤/&^*";
  19         static string tal = "0123456789";
  20 
  21         static List<char> password = new List<char>();
  22         static void Main(string[] args)
  23         {
  24             //Kodeords generator
  25             //Parameter:
  26             //-Skal der være store bogstaver
  27             //-Skal der være små bogstaver
  28             //-Skal der være tal
  29             //-Special tegn
  30             //-Ingen mellemrum
  31             //-Antal tegn
  32 
  33             //Program Flow
  34             //-Spørg efter parameter
  35             SpørgBruger();
  36 
  37 
  38             //-Udvælg char
  39 
  40             IndsætChar(skalIndeholdeStoreBogstaver, storeBogstaver, password);
  41             IndsætChar(skalIndeholdeTal, tal, password);
  42             IndsætChar(skalIndeholdeSpecialTegn, specialTegn, password);
  43 
  44             //Vi skal lave en loop for små bogstaver.
  45             //variable med antal tegn som mangler
  46             int manglendeTegn = antalTegn - password.Count;
  47 
  48             //Gentag indsættelse af lille tegn i "manglendeTegn" antal gange
  49             for (int i = 0; i < manglendeTegn; i++)
  50             {
  51                 IndsætChar(true, småBogstaver, password);
  52             }
  53 
  54             //Udskrift før "scramble/shuffel"
  55             foreach (var c in password)
  56             {
  57                 Console.Write(c);
  58             }
  59             Console.WriteLine();
  60 
  61             //-Shuffle/bland de udvalgte tegn
  62             Shuffle(password);
  63 
  64             //-Vis kodeordet til brugeren
  65             foreach (char c in password)
  66             {
  67                 Console.Write(c);
  68             }
  69             Console.WriteLine();
  70 
  71 
  72         }
  73 
  74 
  75 
  76         private static void IndsætChar(bool run, string valgmuligheder, List<char> password)
  77         {
  78             Random rnd = new Random();
  79             int indeks = 0;
  80             if (run)
  81             {
  82                 indeks = rnd.Next(0, valgmuligheder.Length);
  83                 char c = valgmuligheder[indeks];
  84                 password.Add(c);
  85             }
  86         }
  87 
  88         
  89         static void Shuffle(List<char> password)
  90         {
  91             Random rnd = new Random();
  92 
  93             int n = password.Count;
  94             for (int i = 0; i < (n - 1); i++)
  95             {
  96                 // Use Next on random instance with an argument.
  97                 // ... The argument is an exclusive bound.
  98                 //     So we will not go past the end of the array.
  99                 int r = i + rnd.Next(n - i);
 100                 char t = password[r];
 101                 password[r] = password[i];
 102                 password[i] = t;
 103             }
 104             //return array;
 105         }
 106         public static void SpørgBruger()
 107         {
 108             skalIndeholdeStoreBogstaver = BrugerInputBool("Skal kodeordet indeholde store bogstaver? (j/n):");
 109             //skalIndeholdeLilleBogstaver = BrugerInputBool("Skal kodeordet indeholde lille bogstaver? (j/n):");
 110             skalIndeholdeTal = BrugerInputBool("Skal kodeordet indeholde tal? (j/n):");
 111             skalIndeholdeSpecialTegn = BrugerInputBool("Skal kodeordet indehold special tegn? (j/n):");
 112             antalTegn = BrugerInputTal("Hvor mange tegn skal der kodeordet (tal værdi):");
 113         }
 114 
 115         private static int BrugerInputTal(string spm)
 116         {
 117             int resultat = 0;
 118             string svar; //Svar erklæres her, da vi skal bruge svar nedenfor i while delen. 
 119             do
 120             {
 121                 Console.Write(spm);
 122                 svar = Console.ReadLine();
 123 
 124             } while (!int.TryParse(svar, out resultat)); //vi bruger ! tegnet da, vi vil have løkken gentaget hvis vi ikke kan konverter 
 125 
 126             return resultat;
 127         }
 128 
 129         static bool BrugerInputBool(string spm)
 130         {
 131             bool svar = false;
 132 
 133             Console.Write(spm);
 134             string input = Console.ReadLine();
 135             if (input.ToLower() == "j")
 136             {
 137                 svar = true;
 138             }
 139             return svar;
 140         }
 141 
 142     }
 143 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2021-10-05 15:57:14, 0.3 KB) [[attachment:Benson.txt]]
  • [get | view] (2021-10-27 06:16:30, 96.2 KB) [[attachment:PasswordGenerator uge 43.zip]]
  • [get | view] (2021-11-09 16:30:59, 3.1 KB) [[attachment:Uge44.cs]]
  • [get | view] (2021-11-16 16:05:55, 4.5 KB) [[attachment:Uge46.cs]]
  • [get | view] (2021-11-30 07:36:13, 0.9 KB) [[attachment:Uge48.cs]]
  • [get | view] (2021-09-21 11:26:43, 25.2 KB) [[attachment:if_program.jpeg]]
  • [get | view] (2021-10-04 10:03:02, 200.6 KB) [[attachment:loops.jpg]]
  • [get | view] (2021-11-30 07:33:48, 0.9 KB) [[attachment:uge48.cs]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.