teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

2022/07/07 03:59

投稿

miya0000
miya0000

スコア0

title CHANGED
File without changes
body CHANGED
@@ -1,102 +1,4 @@
1
- c#の穴埋め問題です。
2
- 問題が
3
- 【以下のようにログイン可能なユーザーとパスワードを管理する「パスワードファイル(passwd.txt)」を準備した.このファイルのデータは,1 ⾏毎に,「ユーザー識別子(ID)」と「パスワード(PW)」を「:(コロン)」で繋いで「ID:PW」の形式でデータが並んでいる.このパスワードファイルを読み込んで,ID と PW でログイン可能かどうかを調べるプログラムを作成し,以下のような実⾏結果を得た.】
4
- です。
5
1
 
6
- ドがメインメソッドとクラスに分かれています。以下がそれぞれのコドになっていて、//のあとに続く指示の通り作っていく課題なんですけど全くわからないので穴埋め部分を埋めた全体のコドを教えてほしいです。
2
+ ーーーーーーーーーーーーーーーーーー)ーー)ねね)ね))ーーーーーーーーーーーーーー
7
3
 
8
- 【メインメソッドのコード】
9
-
10
- using OOP_Rep12; // ← 自分のプロジェクト名(namespace 名)
11
-
12
- // PassWordManagement クラスのインスタンス化
13
- // パスワードファイルの読み込みに成功したら,
14
- // 繰り返し文で3~5回程度ログインのテストを行う.
15
- // ※ ログインテストは, 成功と失敗を適当に混ぜる.(キーボード入力)
16
-
17
- Console.WriteLine("\nパスワードファイルを読み込みます.");
18
- // パスワードファイル(passwd.txt)の場所は, 自分で使いやすい場所を定める.
19
- if ( ) // ファイル名を指定して LoadPWL() を呼ぶ.
20
- {
4
+
21
- // 繰り返し文を利用してログインテストを3~5回行う.
22
- }
23
-
24
-
25
- 【PassWordクラスのコード】
26
- namespace OOP_Rep12
27
- {
28
- internal class PassWord
29
- // ID と PW の組み合わせを管理するクラス
30
- {
31
- // ID を自動実装プロパティで準備
32
- // PW を自動実装プロパティで準備
33
- // コンストラクタ
34
- public PassWord(string? id, string? pw)
35
- {
36
-
37
- }
38
- // ID と PW の確認
39
- public bool MatchIDPW(string? id, string? pw)
40
- {
41
- // 与えられた id と pw が正しい組み合わせの場合は true を返し, それ以外は false を返す.
42
- if( )
43
- {
44
-
45
- }
46
- else
47
- {
48
- }
49
- }
50
- }
51
- }
52
-
53
-
54
- 【PassWordManagementクラスのコード】
55
- namespace OOP_Rep12
56
- {
57
- internal class PassWordManagement
58
- // PassWord クラスの List を管理するクラス
59
- {
60
- // PassWord クラスの List<T> をインスタンス化
61
- // filename で指定されたファイルから ID と PW の情報を読み込む
62
- public bool LoadPWL(string filename)
63
- {
64
- // try {} catch() {} でエラー対策を施す
65
- try
66
- {
67
- // パスワードファイルを開いて ID と PW の組を読み込む.
68
- // ※ パスワードファイルのパスやファイル名は filename で指定する.
69
- // ※ ID と PW は「ID:PW」の形式で1行に記載されている.
70
- // ※ ID と PW を分割して PassWord クラスのインスタンスを生成し, List に追加
71
- // ※ ↑文字列の分割(Split())の使いかを自分で調べる
72
- }
73
- catch(Exception e)
74
- {
75
- // ファイルオープンに失敗した場合の処理
76
- }
77
- }
78
- public bool CheckLogin()
79
- {
80
- // id をキーボード入力
81
- Console.Write("id ? > ");
82
- string? id = Console.ReadLine();
83
- // pw をキーボード入力
84
- Console.Write("pw ? > ");
85
- string? pw = Console.ReadLine();
86
- // 入力された id と pw でログイン可能か調べる
87
- bool ok_flag = false;
88
- foreach(PassWord idpw in pwl)
89
- {
90
- if (idpw.MatchIDPW(id, pw))
91
- {
92
- ok_flag = true;
93
- break;
94
- }
95
- }
96
- return ok_flag;
97
- }
98
- }
99
- }
100
-
101
-
102
- 実行結果とパスワードファイル(passwd.txt)は写真の通りになっています。![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-07-01/a83d89c5-e5f0-4db4-a61e-74385ef14d84.png)