• ベストアンサー

C言語 暗号化について

暗号化について勉強しているのですが、奇数文字+1、偶数文字-1にするときは、#include <stdio.h> #include <stdlib.h> #include <ctype.h> char myislower(char c) { if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')){ if(c % 2 == 1){ c = c+1; }else{ c = c-1; } } return c; } このプログラムでやりたいのですが、エントリーポイントを定義しなければなりません、とエラーがででしまいます。どうしたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

>エントリーポイントを定義しなければなりません、とエラーがででしまいます。どうしたらいいでしょうか? C言語は「mainと言う名前の関数」が「エントリ関数」になり、この関数の入り口が「エントリポイント」として定義されます。 そして、プログラムを起動すると、必ず、main関数から実行し始めます。 1つのプログラムには、必ず、1つのmain関数が存在している必要があります。main関数が1つも無かったり、2つ以上あってはいけません。 質問者さんのプログラムでは、charを1文字与えると、charが1文字返って来るだけです。 これだけではプログラムは動きませんから、main関数に ・文字列を入力する。 ・入力した文字列からcharを順に1文字づつ取り出す。 ・取り出したcharを質問文にある関数に与える。 ・変換後の文字列を作る場所に、返って来たcharを1文字づつ格納する。 ・文字列が無くなったら、変換後の文字列を表示する。 と言う処理を書く必要があります。

asaki2008
質問者

お礼

この間指摘された部分を修正したところ、ちゃんとコンパイルできました。 ありがとうございます。

その他の回答 (2)

  • arain
  • ベストアンサー率27% (292/1049)
回答No.3

前の質疑はどうして削除したの? それがあるのとないのとでは全然違うんだけど。 この質問の関数は、どう見ても前の質疑で「サブルーチン」として出てくるべき内容のはずだけど。

asaki2008
質問者

補足

この前の質疑はサイト側によって削除されました。 すみません。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

c言語の約束 どこから実行されるか という話。 http://www.google.com/search?q=c%E8%A8%80%E8%AA%9E%20%E5%9F%BA%E6%9C%AC&hl=ja&lr= 簡単に言うと「C言語は最初に実行する関数の『名前』が決まっている」 質問文のソースはそれに従っていないだけだね。 ちょっと書き直すだけでできるはずだよ

asaki2008
質問者

お礼

ありがとうございます。参考にさせて頂きます。