- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:55:25 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう. ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク):() [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 102代目 pc11.2ch.net/test/read.cgi/tech/1197132472/
- 985 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:15:05 ]
- すいません、詰まっています。教えてください。
「第6回 万年カレンダー(2) キーボードから年と月を入力し、その月のカレンダーを表示する。 」 #include <stdio.h> int is_bissextile(int year) { /* 閏年かどうか判定する関数 閏年なら1,そうでなければ0を返す */ int bis; if((year % 400) == 0 || ((year % 4) == 0 && (year % 100) != 0)){ bis = 1; } else { bis = 0; } /* 下のような書き方も可能 bis = ( year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)); */ 1日の曜日を計算する)
- 986 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:16:35 ]
- 2008年2月のカレンダーを表示する
2月1日が金曜日であることがわかっているものとする (課題では,前回のプログラムを使って1日の曜日を計算する) */ int year = 2008; int month = 2; int first_dow = 5; /* 1日は金曜日 */ int i; int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(is_bissextile(year)) { /* 閏年なら,2月を29日までにする */ days[1] = 29; } printf(" %d年%2d月\n", year, month); printf("日 月 火 水 木 金 土\n");
- 987 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:26:58 ]
- for(i=0; i<first_dow; i++){
printf(" "); /* 最初の曜日の,1日の前の空白 */ } for(i=1; i<days[month-1]+1; i++){ printf("%2d ", i); /* 数字二桁と,二つの空白 */ if((first_dow + i) % 7 == 0){ printf("\n"); /* 土曜日になったら,改行 */ } } /* 最終日が土曜日以外だったら,最後に改行を入れる 土曜日の場合は,既に入っているので入れない */ if((first_dow + i)%7!=1) printf("\n"); }
- 988 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:52:24 ]
- >>985-987
わかりづれーなww >>985と>>986の間に return bis; } int main(void){ を追加すればいいだけじゃないのか?
- 989 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:56:35 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):課題1:キーボードから文字列を入力し、その内容をファイルに保存するプログラムを作成しなさい。 なお、文字列の最大長は256バイトとし、プログラムの終了条件は、文字データの入力がないときとする。 課題2:課題1で作成されたファイルを読み込み、画面に表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS: (WindowsXP) [3.2] Visual studio 2005 [3.3] 言語:C [4] 期限: 2月14日 課題が2つもありますがどうかよろしくお願いします
- 990 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:59:20 ]
- 連続投稿すみません。課題1の最後の分に「すなわち、次の入力とする「C:\>Enter」」を追加します。
- 991 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:41:11 ]
- >>988
ごめんなさいちょっとミスしましたw えっと、この日本語を全てプログラムにしないとダメなのですが、分からないんです jbbs.livedoor.jp/bbs/read.cgi/game/33978/1163833286/313n- 問題こちらです、よろしくお願いします。
- 992 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:42:11 ]
- >>991
特定したwwwwww
- 993 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:43:37 ]
- え、ちょ、何がですか?怖いです
- 994 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:00:44 ]
- >>989
初心者ですが作ってみました。 //課題1 #include <stdio.h> #include <string.h> #define CHARMAX 256 int main(void) { int i=0; char str[CHARMAX]; FILE *fp=fopen("data.txt","w"); if(!fp) return 1; do{ fgets(str, CHARMAX, stdin); i += int(strlen(str)); if(i > CHARMAX){ printf("入力文字数オーバー"); break; } fputs(str, fp); }while(str[0]!='\n'); return 0; }
- 995 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:01:04 ]
- //課題2
#include <stdio.h> #define CHARMAX 256 int main(void) { char str[256]; FILE *fp=fopen("data.txt", "r"); if(!fp) return 1; while(!feof(fp)){ fgets(str, CHARMAX, fp); printf("%s", str); } return 0; }
- 996 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:14:20 ]
- >>982
こんなんでいいんでしょうか。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6014.txt
- 997 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:34:05 ]
- >>994
問題の解釈違いかも知れんが、入力制限はトータルではなくて毎回個別でいいんじゃないか? それなら、fgets()任せで済むことだし。
- 998 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:39:15 ]
- >>997
ああ、確かに文字列一個当たりの最大値っぽいですね。 指摘ありがとうございます。 //課題1 #include <stdio.h> #define CHARMAX 256 int main(void) { char str[CHARMAX]; FILE *fp=fopen("data.txt","w"); if(!fp) return 1; do{ fgets(str, CHARMAX, stdin); fputs(str, fp); }while(str[0]!='\n'); return 0; } 課題2は同じで大丈夫ぽいかな。
- 999 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:47:22 ]
- う
- 1000 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:48:02 ]
- め
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|