今プログラミングと格闘中です。タイトルにもあるように「Lvalue required」とはどういう意味か教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

補足を拝見しました。


まず、if文ですが
if(day%7=5)
では無く
if(day%7==5)
とイコールを2つ書きましょう。
それからprint文ですが
printf("%d月%d日は、土曜日です。");
%dに対する表示したい値が入っていません。

ほかにも、コンパイルエラーに掛かる場所は有りますが、簡単に直せるとこでしょうから、あえて記述致しません。
    • good
    • 0
この回答へのお礼

=は発見できたのですがその他のご指摘までありがとうございます。その他の部分も修正しています。はやく完成させたいです。

お礼日時:2001/01/25 14:15

Lvalueは左辺値の事ですね。



if分の式が代入になっていて、その代入式の左側。通常なら変数があるべき部分に day%7 って書いてあるから『代入するには左辺値が必要です』って言ってるんですね。

コンパイラって律儀なのでたまに変なエラーが出たりしますが、よくエラーの意味を考えると「なるほど」ってなります。
「絶対に間違ってない」って思いながら見てるとバグは見つかりません。「絶対になんか違ってるんだ」って疑ってかかると見えてくる場合が多いです。
    • good
    • 1
この回答へのお礼

エラーの修正をしてみると「なるほど」と思うことが多いですね。なかなか見つけられないこともあるので注意してみます。

お礼日時:2001/01/25 14:18

言語がなんなのか分からないので想像ですが


Left value required
左辺値が必要
と言われてるんじゃないでしょうか?
代入式の左辺(=の左側、代入されるほうです)が無いか
代入不可能なものが記述されているのでは?

この回答への補足

どうやら「=」が足りないような気がしました。今度はundefined symboやら
declaration syntax errorなどがでてきてしまいました ( >_<)。あぁ情けないです (T.T)。

補足日時:2001/01/24 20:25
    • good
    • 0

パラメータ(Lvalue)が異常だよぉ



 って言っていると思います。

 OSは?
 コンパイルの種類は?
 コンパイルエラーになるのなら、コンパイルエラーがでる部分を補足して下さいね。

 

この回答への補足

今カレンダー表示をさせようとしています。それでここまできたのですが、

#include <stdio.h>
main()
{
int i,dayi,month;
int dates[]={31,28,31,30,31,30,31,31,30,31,30,31};

printf(" 月を入力してください → ");
scanf("%d",&month);
printf(" 日を入力してください → ");
scanf("%d",&day);

for(i=0;i<monthi-1;i++){
day=day+dates[i];

if(day%7=0){
printf("%d月%d日は、日曜日です。");
}
if(day%7=1){
printf("%d月%d日は、月曜日です。");
}
if(day%7=2){
printf("%d月%d日は、火曜日です。");
}
if(day%7=3){
printf("%d月%d日は、水曜日です。");
}
if(day%7=4){
printf("%d月%d日は、木曜日です。");
}
if(day%7=5)
printf("%d月%d日は、金曜日です。");

if(day%7=6){
printf("%d月%d日は、土曜日です。");
 }

}
とまだまだできは遠そうです。しかしif文の位置が違っているのでしょうか。ifの文がすべてエラーだと出てしまうのです。

補足日時:2001/01/24 20:07
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJSP/サーブレットって言語なんですか?

一言なんですが、
JSP/サーブレットって言語なんですか?

Aベストアンサー

---Insider's Computer Dictionaryより引用----------
サーブレット:
Webサーバ上で実行される、Javaのプログラムモジュールのこと。Javaアプレットがクライアント側で実行されるのに対し、Javaサーブレットはサーバ側で実行されるという違いがある。Javaサーブレットと似た機能としてCGIというものもある。しかしCGIはWebブラウザからの要求に応じて、その都度起動され実行される独立したプログラムモジュールであるのに対し、Javaサーブレットは、Webサーバプロセス中のスレッドとして実現されている。そのため、サーブレット自身でステート(状態)を持った処理を行うことができるし、(いちいち外部プロセスを起動しないので)要求に対する応答も素早く、Javaなのでプラットフォームにも依存しない、という特徴がある。
---Insider's Computer Dictionaryより引用----------

JSPとは「Java Server Pages」の略で、HTMLの中に埋め込めるJavaというような感じです。
JSPは最初のリクエスト時にコンパイル(ページ・コンパイル)されて、サーバーにjavaファイルと(javaファイルをコンパイルした)クラスファイルが生成されます。
生成されたjavaファイルとクラスファイルが実はサーブレット(を継承したクラス)で、このサーブレットの中で最終的にブラウザで表示されるHTMLを返しています。

JSPはサーブレットなので、サーブレットできることはJSPでも出来ますが、現在はMVCモデルに沿ってデザインするのが主流です。
MVCモデルについて細かくは説明しませんが、MVCモデルでは
サーブレット:BeanやJSPをコントロールする
JSP:ブラウザに表示する部分を担当
というような感じです。

これから勉強するのであれば、
1.サーブレットがサーバーでどのように動いているか
をきちんと勉強し、
2.HTMLを返すだけのシンプルなサーブレット
3.JSP
4.サーブレットとJSPの連携
5.Strutsなどのフレームワークの使用
とステップアップしていくのがいいと思います。

---Insider's Computer Dictionaryより引用----------
サーブレット:
Webサーバ上で実行される、Javaのプログラムモジュールのこと。Javaアプレットがクライアント側で実行されるのに対し、Javaサーブレットはサーバ側で実行されるという違いがある。Javaサーブレットと似た機能としてCGIというものもある。しかしCGIはWebブラウザからの要求に応じて、その都度起動され実行される独立したプログラムモジュールであるのに対し、Javaサーブレットは、Webサーバプロセス中のスレッドとして実現されている。そのた...続きを読む

Qこれらのプログラミングで使う(らしい)言葉の意味を

教えて頂きたいのです。
猿でもわかるくらいの勢いでお願いします。ちんぷんかんぷんです。


・マシン語 ・アセンブリ言語
・フォートラン ・COBOL
・PASCAL ・インタプリタ
・コンパイラ


お堅い意味は調べればすぐに分かるのですが、それだと正直何言ってんだか分からないのです・・・
なんとなくこういう感じというので構いませんので、回答宜しくお願いします。

Aベストアンサー

コンピュータは機械(マシーン)です
マシーンは人間の言葉は理解できません
マシーンが判るのは、電気が流れた(ON)か電気が流れていない(OFF)かだけです

そして、マシーンは電気の流れひとまとまりで何をするかが決まっていて動きます
例えば、
ON,OFF,ON,ON,OFF,OFF,ON,OFF なら○○をする、その後
OFF,OFF,ON,OFF,ON,ON,OFF,ON なら××をする

これら ON と OFF をずらずら書いてやりたい事をさせているわけです

でも、ONだとかOFFだと わかりずらいので、 1 と 0 であらわします
先の例えだと
10110010 と 00101101 になりますね

さらに、
0000=0, 0001=1, 0010=2, 0011=3,0100=4
と順番に並べる事で数字化する事ができます

10110010 = 178
00101101 = 45

まぁ、この場合、178 とか 45 と数値に変換されていますが
実際は、電気のON/OFFを現していて、
この電気のON/OFFを順番に書いた命令の手順書こそが、
マシーンが理解できる言葉なので、マシン語と言います


アセンブリ言語
とは、マシン語の数値を直訳した言語です
178 は ○○せよ
45 は ××せよ

となるのなら、
○○せよ
××せよ
と書いた方が判りやすいという考えですね

しかし
この値をメモリのどこどこに一旦保存して
メモリのどこどこの値をよみ込んで・・・

とマシンが判りやすい仕組みは、人間はわかりにくい仕組みだった
簡単に言うと、
右足を出して左足出すと 歩ける

マシン語は、毎回、右足だせ、左足だせ、繰り返せ
な訳で、めんくさいし理解に苦しむ事を書いているわけです

なので、判りやすく、 歩け! と人間が書いて
翻訳を通すと、マシンに判るように、右足だせ、左足だせ、繰り返せ
というマシン語にすれば良いという事をするようになりました

この人間が書いても判りやすいものを
プログラミング言語と言って、フォートラン や、COBOLや、
PASCAL、や、C言語や BASICや JAVA 等などが
生まれました、
基本的には、これらは日本語と中国語位違うのもあれば、標準語と
大阪弁程度しか違わないものもあります


で、翻訳を通す事を、コンパイルするといいます
マシン語にする事ですね

コンピュータは機械(マシーン)です
マシーンは人間の言葉は理解できません
マシーンが判るのは、電気が流れた(ON)か電気が流れていない(OFF)かだけです

そして、マシーンは電気の流れひとまとまりで何をするかが決まっていて動きます
例えば、
ON,OFF,ON,ON,OFF,OFF,ON,OFF なら○○をする、その後
OFF,OFF,ON,OFF,ON,ON,OFF,ON なら××をする

これら ON と OFF をずらずら書いてやりたい事をさせているわけです

でも、ONだとかOFFだと わかりずらいので、 1 と 0 であらわします
先の例えだと
10110010 と 00...続きを読む

QJAVA言語,JSPによるクイズシステム(環境エクリプス5.5)(問題文はテキストで作成)

環境エクリプス5.5。JAVA言語を使いJSPでクイズプログラムを作ることになりました。流れは、いくつかの選択ボタンがあり、押したら問題が1問出て、4択式の中からクリック式で選び、正解だったら正解ページに行き、間違いだったら不正解ページに行きますが解説は正解も不正解も一緒です。その正解、不正解ページにある「次の問題」というボタンを押したら次の問題をだします。問題は10問です。MVCアーキテクチャーの概念にそって、サーブレット、モデル、ビューで作っていきます。問題をテキストにつくりたいのですが、先ほどの説明画面のようにするには、テキストでどのように作っておけばよいのか?わかりません。テキストはモデルクラスで呼ぶのですが、そのクラスでどのような定義をしたら呼べるのか?どのようにしあたら、問題、回答4つ、解説をわけることができるか?。お願いします。どなたか教えていただけませんか?できなくてとても困っています。

Aベストアンサー

RDBMSを利用可能なら、そちらの方がいいです。

利用不可でしたら、CSV(カンマ区切り)かTSV(TAB区切り)形式で十分でしょう。1行に1問を書き、左から、問題文、回答番号、回答1、回答2、回答3、回答4、の6カラムをカンマかTABで区切ります。

【例】
Javaの宿題ができない。どうする?,1,自力でやる,教えてgoo,Google,諦める
日本の首都は?,3,ニューヨーク,ロンドン,東京,モスクワ

QMacでのソケットプログラミング(ネットワークプログラミング)

Macでネットワークプログラミング(UNIXベースのため)をしようと思っているのですが、サーバプログラムを作り実行したところ、「bind : Can't assign requested address」と出てしまい、実行することができません。
コンパイル時にエラーは出なかったので、プログラム自体にミスはないと思います。
ちなみにOSのバージョンはOS X Tiger 10.4.6です。
どなたか詳しい方、教えて下さい。

Aベストアンサー

そういえば、これは listen する側のソケットですよね?

だとすると

sin.sin_addr.s_addr = INADDR_ANY;

ではないのかな?

それと念のため

bzero( (char*) &serv, sizeof(serv) );

と最初にしておいた方がいいと思います。

Qホームページを作成する際に良い言語

以前JSPで作っていたのですが、PHPとかでもいいのかとおも思っています。
データベースなどが必要なサイトで皆さんならどの言語がいいですか?私はプログラマーではないのでいいなりなのですが、jspは検索に引っかかりにくい言語みたいだし、 なにか良い言語があったら理由も含めて教えてください
よろしくおねがいします。

Aベストアンサー

jspが検索にひっかかりにくいってのは単に検索の仕方の問題では?
jspはjavaの構文がそのまま使えるので、
ネットの情報量としては一番多いかと思います。

Qプログラミング言語Cとプログラミング言語C++

プログラミング言語Cとプログラミング言語C++の違いって何ですか?
あと、プログラミング言語C++についていくつか質問があります。
#include <iostream>
using namespace std;
void main(){
cout << "Hello world!" << endl;
}
このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか?
using namespace stdって何ですか?
あと、 cout <<"Hello world!"って何ですか?

Aベストアンサー

> プログラミング言語Cとプログラミング言語C++の違いって何ですか?

C++は、Cのほぼ全ての仕様を含み、クラス、テンプレート、例外処理など大幅に機能拡張した言語です。
細部の違いが知りたければ、下記を参照してください。
http://www.kijineko.co.jp/tech/cpp2c

> このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか?

違います。
C++にもstdio.hがありますし、cstdioというヘッダもあります。

iostreamヘッダは、cin, cout, cerr, clogとそれらのワイド文字版を宣言するためのものです。
ですので、iostreamヘッダで宣言・定義される関数やクラスを使うだけでは一般的なファイルの操作はできませんし、sprintfやsscanfに相当するものもありません。
また、removeやrenameなど、ストリームとは関係のない操作も含まれていません。

> using namespace stdって何ですか?

「using指令」によって、名前空間stdの中にある名前を大域的名前空間でも使えるようにするものです。
せっかく名前空間を分けているのに、それを無効にしてしまうような機能ですから、安易にusing指令を使うのはお勧めしません。

> あと、 cout <<"Hello world!"って何ですか?

標準出力に対して、文字列"Hello, world!"を出力します。
ちなみに、endlは、改行を出力したあと、バッファにたまった内容を実際に吐き出します(フラッシュします)。単なる改行の出力ではないので要注意です。

C++の仕様は結構大きい方なので、遭遇した記述をひとつひとつ質問していたのではキリがありません。
まずは入門書を一冊読み、わからない用語等については、処理系のリファレンスを読むか、ネットで検索するなどしてください。

> プログラミング言語Cとプログラミング言語C++の違いって何ですか?

C++は、Cのほぼ全ての仕様を含み、クラス、テンプレート、例外処理など大幅に機能拡張した言語です。
細部の違いが知りたければ、下記を参照してください。
http://www.kijineko.co.jp/tech/cpp2c

> このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか?

違います。
C++にもstdio.hがありますし、cstdioというヘッダもあります。

iostreamヘッダは、cin, cout, cerr, clogとそれらのワイド...続きを読む

QJSPからJSPへ情報を渡せる?

JAVA言語 JSPからの質問がございます。

JSPからJSPへと飛ばすときに、例えば

 a.jspがありそのjspには変数Aと変数Bと変数Cがあります。
リンクをおした時点で条件をつけてA==4
なら、b.jspへ飛びその際変数Bをb.jspにわたす。
 もしノットイコールならc.jspへ飛び、その際変数Cをc.jspにわたす。

なんていうことができるのでしょうか?
もしできるようでしたら、お手数ですが例を打っていただけませんでしょうか?宜しくお願いいたします。

Aベストアンサー

こんにちわ。
仰っているのは、Aの値に応じてリンク先が変わり、且つ、値を遷移先のJSPに渡したいということですよね?

でしたら遷移先については、
<% if (A == 4) { %>
<a href="b.jsp">リンク</a>
<% } else { %>
<a href="c.jsp">リンク</a>
<% } %>
のようにAの値によってリンク先を変更して表示すれば良いと思われます。

あとは、値の渡し方ですが、方法は複数あるように思います。
一つは、セッションを使う方法。もう一つはURLにパラメータとしてつける方法。他にもあるかもしれません。

前者はセッションスコープに値を設定するのが一般的と思われます。
request.getSession().setAttribute("B", "Bの値");
で格納し、遷移先のJSPで
request.getSession().getAttribute("B");
で取り出せます。

後者は、aタグのhrefに「b.jsp?B=3」とかにして、
request.getParameter("B");
で取り出せると思います。

「java セッション」とかで検索するとセッションに入れたオブジェクトの有効範囲(スコープ)などを解説してくれているサイトが見つかるはずです。

参考になれば幸いです。

こんにちわ。
仰っているのは、Aの値に応じてリンク先が変わり、且つ、値を遷移先のJSPに渡したいということですよね?

でしたら遷移先については、
<% if (A == 4) { %>
<a href="b.jsp">リンク</a>
<% } else { %>
<a href="c.jsp">リンク</a>
<% } %>
のようにAの値によってリンク先を変更して表示すれば良いと思われます。

あとは、値の渡し方ですが、方法は複数あるように思います。
一つは、セッションを使う方法。もう一つはURLにパラメータとしてつける方法。他にもあるかもしれません。

...続きを読む

QCプログラミングの問題です。ニュートン法を利用して3次方程式の解を求めるプログラミング作成。

C言語のプログラミング問題です。
ニュートン法を利用して、3次方程式の解を求めるプログラムを作成しなさい。
とのことです。プログラムが得意ではないので、よろしくお願いします。

C言語のプログラミング問題で、ニュートン法を利用して次の3次方程式の解を求めるプログラミングを作成。というものなのですが、プログラミングが苦手でうまくできません。

y=ax^3+bx^2+cx+d (ただし、a>0とする)
任意の係数a,b,c,dを与え、y=0のときの解(実根のみ)を求めるプログラミングを作成せよ。


という問題です。プログラミングの内容を説明しなくてはいけないので、内容のほうも若干詳しく説明していただけると助かります。
どなたか教えてください、よろしくお願いします。

Aベストアンサー

3次方程式は複雑なので2次方程式で示します.
なんとか頑張って応用してください

前提として実数解のみとし
虚数解の場合はエラー扱いとします。

方程式は a * x ^2 * b * x + c = 0とします

判別式を実装します
CalcDという名前にします。

double CalcD(double a, double b, double c)
{
return b * b - 4 * a * c;
}

特に難しい部分はないと思います
係数から判別式を計算し、それを関数の値として戻しています

次に、方程式本体を解く部分を作ります
Resolvという名前にします

ここで難しいのはエラー(判別式 < 0)をどう扱うか?です
今回の場合、エラーつまり異常事態として扱うので
C++であれば本来、例外で教えるべきなのですが、
例外を扱うと少々難しくなりますのでやめます。

今回は解の個数を戻すことで判定させることとします
解事体は配列に入れて戻すことにします。

int Resolv(double a, double b, double c, double buffer[])
{
// 解の個数を求めます
// 判別式を関数として実装してあるので、それを使います
  double d = CalcD(a, b, c)
if (d < 0)
return 0; // 実数解はありません

  if (d == 0)
{
buffer[0] = -b / (2 * a);
return 1; // 重解です
}
 else
{
buffer[0] = (-b + sqrt(d)) / (2 * a);
buffer[1] = (-b - sqrt(d)) / (2 * a);
return 2; // 相異なる2つの実数解です
}
}

あとはプログラム全体を制御する部分です
しかし、もう部品はありますのであとは簡単です

int main(int argc, char *argv[])
{
// エラーチェックは省略します
 // 本来はパラメータの妥当性を検証すべきです

 double a = atof(argv[0]);
 double b = atof(argv[1]);
 double c = atof(argv[2]);

// 実際に計算します
 double buffer[2];
int n = Resolv(a, b, c, buffer);

// 結果を表示します
 switch (n)
{
case 0:
printf("実数解はありません。");
break;

case 1:
printf("実数解は %f です.", buffer[0]);
break;

default:
printf("実数解は %f と %fです.", buffer[0], buffer[1]);
}

return 0;
}

如何でしょうか?
プログラムの作成の雰囲気のようなものがつかめたでしょうか?
とにかく、分かり易い単位に関数を作ることが大切です。
関数へのパラメータの渡し方
関数からの情報の戻し方(戻り値を使う方法、アドレス渡し(配列もアドレス渡しです)等のテクニックを伝えたつもりです
これを参考に3次方程式も頑張ってください

3次方程式は複雑なので2次方程式で示します.
なんとか頑張って応用してください

前提として実数解のみとし
虚数解の場合はエラー扱いとします。

方程式は a * x ^2 * b * x + c = 0とします

判別式を実装します
CalcDという名前にします。

double CalcD(double a, double b, double c)
{
return b * b - 4 * a * c;
}

特に難しい部分はないと思います
係数から判別式を計算し、それを関数の値として戻しています

次に、方程式本体を解く部分を作ります
Resolvという名前にします...続きを読む

QJSP・サーブレットとphpどちらがいい?

質問1:どちらがおすすめですか?またこのどちらかじゃなくてもいいので、webサイト構築にお勧めの言語をご教示ください

質問2:jspやサーブレットでfacebookやmixiやok waveみたいなサイトを構築できますか?

質問3:スマートフォン向けのサイトの構築でもjspやサーブレットは使えますか?

Aベストアンサー

こんにちは。


1)環境も含め簡単に作るのであればPHPがお勧めです。
Webに特化していますし。

2)もちろん出来ます。

3)もちろん出来ます。
最終的にクライアントに返るのはどんな言語を使っても同じです。(HTMLやCSS等)

Q本格的にCプログラミングができるようになるまで

大学生です。大学ではまだ授業がありませんので、独学でC言語のプログラミングを勉強しています。C言語の文法を一通り理解し、ポインタに関しても1冊読んで理解しました(つもりです)。

C言語を教えている先生に個人的に、今後何を勉強すべきか聞いたところ、「いろんなアルゴリズムとかデータ構造を覚えるといい」と言ってくださいました。しかし、私には難しい事項ばかりで、「これらを勉強する意味は何なのか?」という疑問もあります。

また、オープンソースになっているプログラムを見ると、私のレベルを遥かに超えたものばかりで、読んでもさっぱりです。さらに、GUIツールキットの使い方なんかはもちろん、ライブラリの使い方や作り方、ソースを複数ファイルに分割する方法すら知らないことに気づきました(恥ずかしい限りです)。

独学を始めた頃は、「C言語をマスターすればソフトが作れるようになるんだろう」程度の認識でした。しかしここに来て、あまりにも多くの事項を学ばねばならない気がしてきました。「演習あるのみ」と仰る方もいますが、何を演習すればいいのかも分かりません。

一人前にプログラムが書けるようになるまでには、何をしなければならないのでしょうか。目的や理由も添えていただけると嬉しいです。

大学生です。大学ではまだ授業がありませんので、独学でC言語のプログラミングを勉強しています。C言語の文法を一通り理解し、ポインタに関しても1冊読んで理解しました(つもりです)。

C言語を教えている先生に個人的に、今後何を勉強すべきか聞いたところ、「いろんなアルゴリズムとかデータ構造を覚えるといい」と言ってくださいました。しかし、私には難しい事項ばかりで、「これらを勉強する意味は何なのか?」という疑問もあります。

また、オープンソースになっているプログラムを見ると、私のレベ...続きを読む

Aベストアンサー

こんにちは。

実際にアプリを開発してみてはどうでしょうか?
本に書かれている例題程度のものではなく、もっと大規模のものを。

そしてそのアプリを開発するにあたり
 ・どのような処理の流れにすれば実現するか
 ・実現するにあたり必要な情報は何か
を大まかに決めます。

次に大まかに決めた各処理を実現するにあたり
 ・どのような処理の流れにすれば実現するか
 ・実現するにあたり必要な情報は何か
 ・考えられるエラーとその回避方法
を決めます。
この操作を何回も行って各処理を細かい単位していきます。
分かると思いますが、ここまでの操作はプログラム設計になります。

あとは
 ・どの処理系で実現するか
 ・どの言語で実現するか
を考えていきます。
あとはプログラムを組んでいきます。ここはコーディングです。

そうする中でおのずと必要な本がわかります。
いきなり専門書を読んでいくより理解が早いと思います。
またC言語がアプリ開発を実現する為のコーディングにおける
一手段に過ぎないことがわかると思います。

ご参考までに。

こんにちは。

実際にアプリを開発してみてはどうでしょうか?
本に書かれている例題程度のものではなく、もっと大規模のものを。

そしてそのアプリを開発するにあたり
 ・どのような処理の流れにすれば実現するか
 ・実現するにあたり必要な情報は何か
を大まかに決めます。

次に大まかに決めた各処理を実現するにあたり
 ・どのような処理の流れにすれば実現するか
 ・実現するにあたり必要な情報は何か
 ・考えられるエラーとその回避方法
を決めます。
この操作を何回も行って各処理を...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報