C++問題・・について


キャット  2009-05-13 09:01:27  No: 70144

はじめまして。学校の問題にてわからない部分があり分かる方、一度考えてみてもらえませんか?
問題は
fileを読み込み、
ベースのクラスを作成し、継承して作成すること。
カプセル化も行う。
なお、class,new,deleteも使用すること

実行例
--------------------
noを入力:1001
no、英語、技術、生物
1001、79、44、68
--------------------

fileの中身は
---------------------
no、英語、技術、生物
1000、50、60、85
1001、79、44、68
1002、55、18、98
---------------------
※no及び英語等は増える事を考慮すること。
  1003、1004や、社会、韓国語等・・

詳しい方、よろしくお願いします。


επιστημη  URL  2009-05-13 09:03:44  No: 70145

...問題がどこにもありませんが。


επιστημη  URL  2009-05-13 09:06:39  No: 70146

察するに入力されたのと同じnoを持つレコードを
ファイルから探し出して出力するようですが、
「わからない部分」はどこですか?


wclrp ( 'o')  2009-05-14 08:19:02  No: 70147

ちょっと考えてみた。

継承する必要性が判らん。

学校の問題ってことはSTL使っていいのかとか
どうせ習っている範囲内の知識で答えなければいけないんだろうけど
それは俺には分からない。

まずnoを入力
ファイルの先頭行を読む
その行を表示
while(ファイルを1行読み込み、EOFではない) {
  if(atoi(その行) != no) continue;
  if(atoi(その行) == no) { その行を表示; break; }
}

でもnew,deleteを使わないといけないから
この方法は駄目だああ。

データが1001、79、44、68で、
表示も1001、79、44、68なら、
英語等の科目数は無視して"1001、79、44、68"という1つの文字列のままで
いいじゃんって思うけど
そんなことしたらああああ怒られるな。

ということは最初に科目数を調べたりするのか。
ということは動的な二次元配列みたいにするのか。
new/deleteってことはvector<値型>は駄目なのか。
ぶっちゃけちょっと面倒だね。


ryo  2009-05-14 21:37:58  No: 70148

継承の必要性は、技術的なことではなく
勉強・経験させることが目的でしょう

で、質問内容だけど
せめて、自分がどこまで進めていて、どこでつまっているのか?
って情報がないと
毎年、学校の1学期時期に多い
「宿題おいとくのて、かわりに誰か解いてください」って感じにみえる


通りすがり  2009-05-16 19:54:13  No: 70149

同じく、クラス継承を使う意味が分からないです。

class IntegerBase{
private:
int i;
public:
IntegerBase(int x){i=x;}
int get(){return i;}
void set(int x){i=x;}
};
class IntegerInherit : public IntegerBase{
public:
IntegerInherit(int x) : IntegerBase(x){}
};

int main(){
int x;
cout << "noを入力" << endl;
cin >> x;
IntegerInherit *no = new IntegerInherit(x);
while(ファイルを1行読み込み、EOFではない) {
  if(atoi(その行) != no) continue;
  if(atoi(その行) == no) { その行を表示; break; }
}
delete no;
}


うー  2009-05-26 06:13:47  No: 70150

2次元配列を使ってみたらどうでしょうか。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加