- ベストアンサー
C#の列挙型
C#の勉強をしています. 次の列挙型があるとします. enum Cat { Pochi, Tama, Mike } Cat.Tamaで2を取得できるそうですが, 標準入力からTamaという文字列を受け取ったときに, Tamaが2というのをどう取得すればいいですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- nagaimoken
- ベストアンサー率0% (0/3)
- himajin100000
- ベストアンサー率54% (1660/3060)
関連するQ&A
- enum列挙子に使える文字列と使えない文字列
enum Ok{A,A,月1,月1,_,?} enum Ng{1月,1月,→,!,☆} public class Main{public static void main(String[] args){ System.out.println("あああああ"); }}//終わり このJavaプログラムはエラーになります。何故ですか? 要するに、enumに使える列挙子の法則性に興味があります。「?」は通って「!」はエラーって、コンパイルを試みた後に結果を知ると、色々とムカつきます。 「!」は通って「?」はエラーだと嘘が書物に書いてあると、騙されます。 enumで使える列挙子(要素)のタイプが載ってるサイト、enumの列挙子に使うとエラーになってしまう例が載ってるサイトなどを紹介してくれるとありがたいです。 どんな文字列でもenumに使えて、何でもOKなら親切だと思うのに・・・
- ベストアンサー
- Java
- 列挙体(enum)と関数教えてください。
下記、勉強中の本から抜粋したものです。 main関数の中のenum animal selected;が呼び出されたあと、 どのように読んで?進んでいったらよいのでしょうか? enum(列挙体)のenum animal { Dog, Cat, Monkey, Invalid };が 0,1,2,3,の働きをするということは、enum animal select(void)関数 に続くということでしょうか? 本の中に、enum animalが型名、 selectedが変数の宣言となってることも わかりません。ただmain関数で宣言しているだけなのでしょうか? switch文の中の (selected = select())もどういう意味なのでしょうか? enum(列挙体)とenum animal select(void)関数の関係や、 main関数の中のenum animal selected;、 switch文の中の (selected = select())などの説明していただける方 教えてください。よろしくお願いします。 #include <stdio.h> enum animal { Dog, Cat, Monkey, Invalid }; void dog(void) { puts("ワンワン!!"); } void cat(void) { puts("ニャ~オ!!"); } void monkey(void) { puts("キッキッ!!"); } enum animal select(void) { int tmp; do { printf("0…犬 1…猫 2…猿 3…終了:"); scanf("%d", &tmp); } while (tmp < Dog || tmp > Invalid); return (tmp); } int main(void) { enum animal selected; do { switch (selected = select()) { case Dog : dog(); break; case Cat : cat(); break; case Monkey: monkey();break; } } while (selected != Invalid); return (0); }
- ベストアンサー
- C・C++・C#
- エクセルで有効データのみ列挙する方法について
A列とB列は数字が列挙、C列に『=if(A1>0,A1*B1,""』が入力されています。 C列に表示されている数字のみD列に列挙される関数のような物ってありますか? フィルタ機能使ったりしないでA列とB列にデータを入力したら瞬時にD列にデータが集まる方法があれば教えて下さい。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- C言語におけるenum型
enum word{apple banana orange}; enum word w; と定義します。 scanfなどでキーボード入力から"apple"などを入力したとします。 この入力文字を変数wに格納(列挙型 で定義されている整数値を格納)するには どのようにしたらいいですか?
- ベストアンサー
- C・C++・C#
- エクセルで順列の列挙
例えば 1 と 2 という2個の数字(文字)がある場合, A列 B列 1 2 2 1 1 2 3 という3個の数字(文字)がある場合, A列 B列 C列 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 1 2 3 4 という4個の数字(文字)がある場合, A列 B列 C列 D列 1 2 3 4 1 2 4 3 ~ 省略 ~ 4 3 2 1 という具合に n 個の数字(文字)がある場合,過不足無く列挙させるマクロ(VBA)を教えてください。 Excelの仕様上65,536行までしかないので,「8個の場合」とかいう限定された個数でもかまいません。 また,123,132,213,…,321 という具合に数値として1列に並べる方法でもかまいません。 また昇り順でなくてもかまいません。 よろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
- error C2440について
こんにちわ。 参考書を使ってCの勉強をしています。 visual2008 C++ Express Editionを使い列挙列の勉強のためのプログラムを打ったのですが enum season select(void) { int tmp; do { printf("0・・・ 春 1…夏 2…秋 3…冬 4…終了:"); scanf("%d", &tmp); }while(tmp < Spring || tmp > Invalid); return (tmp); } の部分で「 error C2440: 'return' : 'int' から 'season' に変換できません。」 となってしまいます。 勉強を始めたばかりなもので原因がよくわかりません。くだらない質問かもしれませんが、原因を教えていただけないでしょうか。
- ベストアンサー
- C・C++・C#
- 順列の列挙の方法
順列の列挙の方法といっても辞書式順序のやつではありません。別の制約です。 グレイコードというのをご存知でしょうか。例えばビット列のグレイコードは次のようになります。 0:000 1:001 2:011 3:010 4:110 5:111 6:101 7:100 これがどんな制約を満たしているかと言うと、 1、となりのビット列に変換するには1ビット反転すれば良い。 2、すべてのビット列がちょうど1回現れる。 この2つです。グレイコードの正確な定義はさておき、とりあえず今はこれと言うことにします。 この順序でビット列を列挙する関数をC言語で書くと次のような感じになります。 f(int n) { if(n==-1)return; f(n-1); 第nビットを反転; 出力; f(n-1); } さて順列の話ですが、次のような制約を満たす順序で順列を列挙するアルゴリズムは どんな感じになるのでしょうか。 1、となりの順列に変換するには1回スワップ(2つの要素を入れ換える)すれば良い。 2、すべての順列がちょうど1回現れる。 この条件を満たすような順列の列はたくさんあると思いますが、 できるだけ法則性のあるやつ、というかプログラムに書きやすいやつを お願いします。 ビット列のアルゴリズムをちょこっと変えれば出来るかなーと思っていたのですが 数学的センスが無いせいか、苦戦しています。数学的センスのある方、ぜひご教示ねがいます。
- ベストアンサー
- 数学・算数
- 文字描写(C# or VB)
C#で開発をしております。 テキストボックスなどで入力した文字列を画像にするというプログラムなのですが 幅に制限があり、その幅を超えると文字が切れて表示されてしまうため 切れない所まで一旦画像を保存し、次はその箇所から開始する これを終端まで繰り返すというプログラムをつくってます。 (1)入力した文字列の長さ取得 (2)繰り返し文で0から(1)で取得した長さまで以下の作業を繰り返す SubStringで文字を切り取り、その幅を取得 取得した幅が指定した幅Xを超える場合その1つ手前までの文字画像を保存し、その箇所までの文字列を切り取る これを繰り返す これでそれらしきものはできたのですが もっと簡単な方法はないでしょうか?
- ベストアンサー
- Visual Basic
- 正規表現にて質問があります。
テスト勉強をやっていて過去問をみたら正規表現の部分だけわからずにいます (1)α=(0|10)*2(1|00|010)+ (2)α=(ab|c)*c(bc|a)+ (3)α=(1|22)*a(333|4444)* (1)正規表現αが表す文字列内、文字列長が1のものすべてを列挙せよ (2)正規表現αが表す文字列内、文字列長が2のものすべてを列挙せよ (3)正規表現αが表す文字列内、文字列長が3のものすべてを列挙せよ (4)正規表現αが表す文字列内、文字列長が4のものすべてを列挙せよ の答えを教えてもらえないでしょうか? もしよろしければどうやってとけばいいかのアドバイスもお願いします
- 締切済み
- C・C++・C#
- C#でユーザコントロールのプロパティを選択式にしたい
こんにちは、いつも拝見して参考にさせて頂いています。 今回、C#を使用して、ComboBoxを使用したユーザコントロールを 作成しようとしております。 作成するユーザコントロールにプロパティを追加することまでは わかったのですが、追加するプロパティを選択式にしたいと 思っています。 StringConverterを使用して、文字列の選択をすることまでは できたのですが、Enum型の値を使用してプロパティを選択式 にすることはできないでしょうか。 Enum型で選択式にしておき、選択されたEnum型の値をプロパティ から取得して、処理分岐をしたいと考えています。 ご存知の方がいらっしゃいましたら、ご教授お願いします。
- ベストアンサー
- その他(プログラミング・開発)