Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Data.SqlClient;
  7. using System.IO;
  8.  
  9.  
  10. namespace ConDBHájek
  11. {
  12. /*Zadání projektu „Generátor rodných čísel“
  13. Vytvořte program, který bude generovat rodná čísla a udržovat aktuální stav databáze rodných čísel.
  14. Funkční požadavky:
  15. 1. Vstupní informace: datum narození , pohlaví, příjmení, jméno
  16. 2. Program bude mít možnost exportovat aktuální stav databáze do souboru
  17. 3. Výstupní soubor bude obsahovat vedle obsahu databáze také den a hodinu vytvoření
  18. 4. Používejte vhodné metody
  19. 5. Databáze bude na MSSQL serveru
  20. Odevzdání projektu:
  21. Program ve VS2012
  22. Vývojový diagram (printscreeny)
  23. Skripty pro vytvoření databáze (textovy soubor)
  24. Příklad exportního textového souboru (soubor)
  25. Popis ovládání programu (textový soubor)
  26. Odevzdat adresář příslušného příjmení např. NovakJanE2B na disk T:\....................
  27. V adresáři budou všechny požadované části projektu.
  28. Datum odevzdání: 27.3.2017*/
  29. class Program
  30. {
  31. static string[] ZapisDoPoleZDatabaze(string cS)
  32. {
  33. string[] pol = new string[50];
  34. //deklarace promennych pro pripojeni a cteni dat
  35. SqlConnection conn = null;
  36. SqlDataReader reader = null;
  37.  
  38. try
  39. {
  40. //otevri spojeni
  41. conn = new SqlConnection(cS);
  42. conn.Open();
  43. //string s dotazem
  44. string sql = @"select RCPrijmeni from SouData";
  45. //PROVED DOTAZ
  46. SqlCommand cmd = new SqlCommand(sql, conn);
  47. reader = cmd.ExecuteReader();
  48. Console.WriteLine();
  49.  
  50. //zpracovani vysledne sady
  51. Console.ForegroundColor = ConsoleColor.Red;
  52. Console.Write("Rodné číslo Prijmeni ");
  53. Console.ForegroundColor = ConsoleColor.White;
  54. Console.WriteLine();
  55. int i = 0;
  56. while (reader.Read() == true)
  57. {
  58. //nacteni do pracovniho pole
  59. pol[i] = reader["rcPrijmeni"].ToString();
  60. i++;
  61. }
  62. Console.WriteLine();
  63. //pokr = false;
  64. }
  65. catch (Exception e)
  66. {
  67. // Console.WriteLine("Chyba" + e);
  68. }
  69. finally
  70. {
  71. //uzavrit spojeni
  72. if (reader != null) reader.Close();
  73. if (conn != null) conn.Close();
  74. }
  75. return pol;
  76. }
  77.  
  78.  
  79.  
  80. static void ZapisDoDB(string[] pole, string cS)
  81. {
  82. SqlConnection conn = null;
  83. conn = new SqlConnection(cS);
  84. conn.Open();
  85. string maz = "delete from soudata"; //mazani obsahu tabulky pred nahranim aktualniho stavu
  86. SqlCommand cmd = new SqlCommand(maz, conn);
  87. cmd.ExecuteNonQuery();
  88.  
  89. string t = "";
  90. for (int i = 0; i < pole.Length; i++)
  91. {
  92. t = "insert into soudata(rcPrijmeni) values ('" + pole[i] + " ')"; //nahrani obsahu polozek pole string[] do tabulky
  93. cmd = new SqlCommand(t, conn);
  94. cmd.ExecuteNonQuery();
  95. }
  96. Console.WriteLine("konec zapisu");
  97. if (conn != null) conn.Close();
  98.  
  99. }
  100. static string genracePrava()
  101. {
  102. Random nc = new Random();
  103. int cis = 0;
  104. string cisStr = "";
  105. string pravaCast = "";
  106. cis = nc.Next(1, 10000);
  107. cisStr = Convert.ToString(cis);
  108. int Dylka = cisStr.Length;
  109. if (Dylka == 4) pravaCast = cisStr;
  110. if (Dylka == 3) pravaCast = "0" + cisStr;
  111. if (Dylka == 2) pravaCast = "00" + cisStr;
  112. if (Dylka == 1) pravaCast = "000" + cisStr;
  113.  
  114. return pravaCast;
  115.  
  116. }
  117.  
  118.  
  119. static int rok()
  120.  
  121. {
  122. int rok;
  123.  
  124. while (!int.TryParse(Console.ReadLine(), out rok))
  125. {
  126. Console.WriteLine("spatny parametr-zadej rok");
  127. }
  128. string neco = rok.ToString();
  129. neco = neco.Remove(0, 2);
  130. rok = Int32.Parse(neco);
  131.  
  132.  
  133.  
  134. return rok;
  135.  
  136. }
  137. static int datum()
  138. {
  139. int datum;
  140. while (!int.TryParse(Console.ReadLine(), out datum))
  141. {
  142. Console.WriteLine("spatny parametr-datum");
  143. }
  144.  
  145. return datum;
  146. }
  147. static int volba()
  148. {
  149. int volba;
  150. while (!int.TryParse(Console.ReadLine(), out volba))
  151. {
  152. Console.WriteLine("spatny parametr-volba");
  153. }
  154. return volba;
  155. }
  156.  
  157. static void pripisDoSouboru(string jmeno, string prijmeni, int datum1, string rokSt)
  158. {
  159. using (StreamWriter sw = new StreamWriter(@"soubor.txt", true,Encoding.Unicode))
  160. {
  161. sw.WriteLine(jmeno + " " + prijmeni + " " + datum1 + " " + rokSt);
  162. sw.Flush();
  163. }
  164.  
  165. }
  166. static void cteniSouboru()
  167. {
  168. string[] radky = File.ReadAllLines(@"soubor.txt", Encoding.Unicode);
  169. foreach (string radka in radky)
  170. {
  171. Console.WriteLine(radka);
  172. }
  173.  
  174. }
  175. static void Main(string[] args)
  176. {
  177. Console.WriteLine("GENERATOR RODNYCH CISEL");
  178. Console.WriteLine("--------------------------------------------------");
  179. start2:
  180. Console.WriteLine("napis jmeno");
  181. string jmeno = Console.ReadLine();
  182. Console.WriteLine("napis prijmeni");
  183. string prijmeni = Console.ReadLine();
  184. start1:
  185. Console.WriteLine("zadej pohlavi zena/muz");
  186. string pohlavi = Console.ReadLine();
  187. if (pohlavi != "zena" && pohlavi != "muz")
  188. {
  189. Console.WriteLine("spatny parammetr");
  190. goto start1;
  191. }
  192.  
  193. Console.WriteLine("zadej rok");
  194.  
  195. int rok1 = rok();
  196.  
  197.  
  198. Console.WriteLine("zadej datum ve formatu MMDD");
  199.  
  200. int datum1 = datum();
  201.  
  202.  
  203. if (pohlavi == "zena")
  204. {
  205. string datumDny = datum1.ToString();
  206. datumDny = datumDny.Remove(0, 2); //ulozene dny
  207.  
  208. string datumMes = datum1.ToString();
  209. datumMes = datumMes.Remove(1,3);
  210. int mesice = Int32.Parse(datumMes);
  211. mesice = mesice + 50;
  212. datumMes = mesice.ToString();
  213. string Xpe = datumMes + datumDny;
  214. datum1 = Int32.Parse(Xpe);
  215.  
  216.  
  217. }
  218.  
  219.  
  220. start:
  221. string pravacast = genracePrava();
  222. string datumSt = datum1.ToString();
  223. string rokSt = rok1.ToString();
  224. string RodCislo = rokSt + datum1 + pravacast;
  225.  
  226.  
  227. long RodCisOver= Convert.ToInt64(RodCislo);
  228.  
  229. if (RodCisOver % 11 != 0)
  230. {
  231. goto start;
  232. }
  233. string RodCisFinall = RodCisOver.ToString();
  234. RodCisFinall = RodCisFinall.Insert(6,"/");
  235. //Console.WriteLine(datum1); //kontrola
  236.  
  237. Console.WriteLine("******************************************");
  238. Console.WriteLine("vypis :");
  239. Console.WriteLine("jmeno a prijmeni : "+jmeno+" "+prijmeni);
  240. Console.WriteLine("datum narozeni :"+datum1+" "+rokSt);
  241. Console.WriteLine("rodne cislo : "+RodCisFinall);
  242. Console.WriteLine("******************************************");
  243. Console.WriteLine("pro zapsani do souboru -> 1");
  244. Console.WriteLine("pro cteni dej -> 2");
  245. Console.WriteLine("pro konec dej -> 0");
  246. int volba1 = volba();
  247. if(volba1==1)
  248. {
  249. //zapisDoSouboruNovy();
  250. pripisDoSouboru(jmeno, prijmeni, datum1, rokSt);
  251. }
  252. if(volba1==2)
  253. {
  254. cteniSouboru();
  255. }
  256. if(volba1==0)
  257. {
  258. Environment.Exit(volba1);
  259. }
  260. start3:
  261. Console.WriteLine("pokud chces koncit tak dej -> 1");
  262. Console.WriteLine("pokud chces na zacatek dej -> 2");
  263. Console.WriteLine("pokud chces cist dej -> 3");
  264. Console.WriteLine("pokud chces zapsat dej -> 4");
  265.  
  266. int konec = int.Parse(Console.ReadLine());
  267. if (konec == 1)
  268. {
  269. Environment.Exit(konec);
  270. }
  271. if(konec==2) { goto start2; }
  272. if(konec==3) { cteniSouboru(); goto start3; }
  273. if (konec == 4) { pripisDoSouboru(jmeno, prijmeni, datum1, rokSt); goto start3; }
  274.  
  275.  
  276. Console.ReadKey();
  277.  
  278.  
  279.  
  280. }
  281. }
  282. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement