Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Data.SqlClient;
- using System.IO;
- namespace ConDBHájek
- {
- /*Zadání projektu „Generátor rodných čísel“
- Vytvořte program, který bude generovat rodná čísla a udržovat aktuální stav databáze rodných čísel.
- Funkční požadavky:
- 1. Vstupní informace: datum narození , pohlaví, příjmení, jméno
- 2. Program bude mít možnost exportovat aktuální stav databáze do souboru
- 3. Výstupní soubor bude obsahovat vedle obsahu databáze také den a hodinu vytvoření
- 4. Používejte vhodné metody
- 5. Databáze bude na MSSQL serveru
- Odevzdání projektu:
- Program ve VS2012
- Vývojový diagram (printscreeny)
- Skripty pro vytvoření databáze (textovy soubor)
- Příklad exportního textového souboru (soubor)
- Popis ovládání programu (textový soubor)
- Odevzdat adresář příslušného příjmení např. NovakJanE2B na disk T:\....................
- V adresáři budou všechny požadované části projektu.
- Datum odevzdání: 27.3.2017*/
- class Program
- {
- static string[] ZapisDoPoleZDatabaze(string cS)
- {
- string[] pol = new string[50];
- //deklarace promennych pro pripojeni a cteni dat
- SqlConnection conn = null;
- SqlDataReader reader = null;
- try
- {
- //otevri spojeni
- conn = new SqlConnection(cS);
- conn.Open();
- //string s dotazem
- string sql = @"select RCPrijmeni from SouData";
- //PROVED DOTAZ
- SqlCommand cmd = new SqlCommand(sql, conn);
- reader = cmd.ExecuteReader();
- Console.WriteLine();
- //zpracovani vysledne sady
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write("Rodné číslo Prijmeni ");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine();
- int i = 0;
- while (reader.Read() == true)
- {
- //nacteni do pracovniho pole
- pol[i] = reader["rcPrijmeni"].ToString();
- i++;
- }
- Console.WriteLine();
- //pokr = false;
- }
- catch (Exception e)
- {
- // Console.WriteLine("Chyba" + e);
- }
- finally
- {
- //uzavrit spojeni
- if (reader != null) reader.Close();
- if (conn != null) conn.Close();
- }
- return pol;
- }
- static void ZapisDoDB(string[] pole, string cS)
- {
- SqlConnection conn = null;
- conn = new SqlConnection(cS);
- conn.Open();
- string maz = "delete from soudata"; //mazani obsahu tabulky pred nahranim aktualniho stavu
- SqlCommand cmd = new SqlCommand(maz, conn);
- cmd.ExecuteNonQuery();
- string t = "";
- for (int i = 0; i < pole.Length; i++)
- {
- t = "insert into soudata(rcPrijmeni) values ('" + pole[i] + " ')"; //nahrani obsahu polozek pole string[] do tabulky
- cmd = new SqlCommand(t, conn);
- cmd.ExecuteNonQuery();
- }
- Console.WriteLine("konec zapisu");
- if (conn != null) conn.Close();
- }
- static string genracePrava()
- {
- Random nc = new Random();
- int cis = 0;
- string cisStr = "";
- string pravaCast = "";
- cis = nc.Next(1, 10000);
- cisStr = Convert.ToString(cis);
- int Dylka = cisStr.Length;
- if (Dylka == 4) pravaCast = cisStr;
- if (Dylka == 3) pravaCast = "0" + cisStr;
- if (Dylka == 2) pravaCast = "00" + cisStr;
- if (Dylka == 1) pravaCast = "000" + cisStr;
- return pravaCast;
- }
- static int rok()
- {
- int rok;
- while (!int.TryParse(Console.ReadLine(), out rok))
- {
- Console.WriteLine("spatny parametr-zadej rok");
- }
- string neco = rok.ToString();
- neco = neco.Remove(0, 2);
- rok = Int32.Parse(neco);
- return rok;
- }
- static int datum()
- {
- int datum;
- while (!int.TryParse(Console.ReadLine(), out datum))
- {
- Console.WriteLine("spatny parametr-datum");
- }
- return datum;
- }
- static int volba()
- {
- int volba;
- while (!int.TryParse(Console.ReadLine(), out volba))
- {
- Console.WriteLine("spatny parametr-volba");
- }
- return volba;
- }
- static void pripisDoSouboru(string jmeno, string prijmeni, int datum1, string rokSt)
- {
- using (StreamWriter sw = new StreamWriter(@"soubor.txt", true,Encoding.Unicode))
- {
- sw.WriteLine(jmeno + " " + prijmeni + " " + datum1 + " " + rokSt);
- sw.Flush();
- }
- }
- static void cteniSouboru()
- {
- string[] radky = File.ReadAllLines(@"soubor.txt", Encoding.Unicode);
- foreach (string radka in radky)
- {
- Console.WriteLine(radka);
- }
- }
- static void Main(string[] args)
- {
- Console.WriteLine("GENERATOR RODNYCH CISEL");
- Console.WriteLine("--------------------------------------------------");
- start2:
- Console.WriteLine("napis jmeno");
- string jmeno = Console.ReadLine();
- Console.WriteLine("napis prijmeni");
- string prijmeni = Console.ReadLine();
- start1:
- Console.WriteLine("zadej pohlavi zena/muz");
- string pohlavi = Console.ReadLine();
- if (pohlavi != "zena" && pohlavi != "muz")
- {
- Console.WriteLine("spatny parammetr");
- goto start1;
- }
- Console.WriteLine("zadej rok");
- int rok1 = rok();
- Console.WriteLine("zadej datum ve formatu MMDD");
- int datum1 = datum();
- if (pohlavi == "zena")
- {
- string datumDny = datum1.ToString();
- datumDny = datumDny.Remove(0, 2); //ulozene dny
- string datumMes = datum1.ToString();
- datumMes = datumMes.Remove(1,3);
- int mesice = Int32.Parse(datumMes);
- mesice = mesice + 50;
- datumMes = mesice.ToString();
- string Xpe = datumMes + datumDny;
- datum1 = Int32.Parse(Xpe);
- }
- start:
- string pravacast = genracePrava();
- string datumSt = datum1.ToString();
- string rokSt = rok1.ToString();
- string RodCislo = rokSt + datum1 + pravacast;
- long RodCisOver= Convert.ToInt64(RodCislo);
- if (RodCisOver % 11 != 0)
- {
- goto start;
- }
- string RodCisFinall = RodCisOver.ToString();
- RodCisFinall = RodCisFinall.Insert(6,"/");
- //Console.WriteLine(datum1); //kontrola
- Console.WriteLine("******************************************");
- Console.WriteLine("vypis :");
- Console.WriteLine("jmeno a prijmeni : "+jmeno+" "+prijmeni);
- Console.WriteLine("datum narozeni :"+datum1+" "+rokSt);
- Console.WriteLine("rodne cislo : "+RodCisFinall);
- Console.WriteLine("******************************************");
- Console.WriteLine("pro zapsani do souboru -> 1");
- Console.WriteLine("pro cteni dej -> 2");
- Console.WriteLine("pro konec dej -> 0");
- int volba1 = volba();
- if(volba1==1)
- {
- //zapisDoSouboruNovy();
- pripisDoSouboru(jmeno, prijmeni, datum1, rokSt);
- }
- if(volba1==2)
- {
- cteniSouboru();
- }
- if(volba1==0)
- {
- Environment.Exit(volba1);
- }
- start3:
- Console.WriteLine("pokud chces koncit tak dej -> 1");
- Console.WriteLine("pokud chces na zacatek dej -> 2");
- Console.WriteLine("pokud chces cist dej -> 3");
- Console.WriteLine("pokud chces zapsat dej -> 4");
- int konec = int.Parse(Console.ReadLine());
- if (konec == 1)
- {
- Environment.Exit(konec);
- }
- if(konec==2) { goto start2; }
- if(konec==3) { cteniSouboru(); goto start3; }
- if (konec == 4) { pripisDoSouboru(jmeno, prijmeni, datum1, rokSt); goto start3; }
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement