2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【C言語】課題を助けてエロい人【お願いします】

1 :非決定性名無しさん:2006/12/11(月) 15:55:53
キーボードから入力されたファイル名のファ
イルを開き、その内容をそのまま表示するプ
ログラムを作成しなさい。
実行結果として、ファイル名に p2-6-1.c と指定
してみること。正しく作成されていれば、p2-6-
1.c の内容がすべて画面に表示される。
○ヒント:
− ファイル名をキーボードから入力する時は scanf を利用
− ファイルからの読み込みには fgets を使い、表示には printf を
利用

2 :非決定性名無しさん:2006/12/11(月) 15:57:44
糞スレで2get

3 :非決定性名無しさん:2006/12/11(月) 15:58:21
>>2
そんな、こと言わないで助けてよwwwwwwww
エロい人wwwwwwwwww

お願いします

4 :非決定性名無しさん:2006/12/11(月) 16:07:06
きたいあげ

5 :非決定性名無しさん:2006/12/11(月) 17:34:15
学校てのはいまだにこんな前世紀のプログラム書かせるのか

6 :非決定性名無しさん:2006/12/11(月) 18:02:52
ググれカス。
とりあえず自分で調べて、わかんないとこを聞け。
糞スレ立てんな。
以上。

7 :全角スペースを半角になおしてね:2006/12/11(月) 22:23:26
int main(int argc, char *argv[])
{
  /* 変数 */
  char filename[256];
  char line[256];
  FILE* fp;

  /* ファイル名入力 */
  printf("ファイル名を入力してください:");
  scanf("%s", filename);
  printf("\n");

  /* ファイルオープン */
  fp = fopen(filename, "r");
  if(fp == NULL)
  {
    printf("ファイル[%s]が開けませんでした。\n", filename);
    printf("ファイル名を確認してください。\n");
    exit(1);
  }

  /* ファイル内容表示 */
  while(fgets(line, 256, fp) != NULL)
  {
    printf("%s", line);
  }

  /* ファイルクローズ */
  fclose(fp);

  return 0;
}

8 :非決定性名無しさん:2006/12/12(火) 07:33:37
会社名:有限会社ナガムネ

設..立:平成8年3月6日
所在地:〒530 大阪市北区池田町5番3号
資本金:300万円

役 員:代表取締役 永宗 毅(チョン人)

*** 事業内容 ***
30分に1回タバコを吸う
勝手にサーバの設定を変えてシステム止めても知らん顔する
私用電話、会社備品を盗み東京で売りさばく
ウイルスメールを社内にばら撒く
会議中に居眠り
業者イジメ & 新人イビリ
インターネットとバトル & 会社でウィニー & 人の悪口2CH書き込み
いつも葬式スーツに白靴下で出勤
夏はクールビズ気取って白ポロシャツ(2パターン、裾はパンツの中)

上記に付帯する一切の業務 を 一ヶ月 150万円より対応

http://www.nagamune.co.jp/

9 :非決定性名無しさん:2006/12/16(土) 02:42:09
printf scanf for if を使ったプログラミング(何でも良い)を書け



だれかたのむ

10 :非決定性名無しさん:2006/12/16(土) 14:23:00
int main(int argc, char *argv[])
{
  /* 変数 */
  char filename[256];
  char line[256];
  FILE* fp;

  /* ファイル名入力 */
  printf("ファイル名を入力してください:");
  scanf("%s", filename);
  printf("\n");

  /* ファイルオープン */
  fp = fopen(filename, "r");
  if(fp == NULL)
  {
    printf("ファイル[%s]が開けませんでした。\n", filename);
    printf("ファイル名を確認してください。\n");
    exit(1);
  }

  /* ファイル内容表示 */
  for( ; fgets(line, 256, fp) != NULL; )
  {
    printf("%s", line);
  }

  /* ファイルクローズ */
  fclose(fp);

  return 0;
}

11 :非決定性名無しさん:2007/01/11(木) 17:55:55
1、 プログラム strcmp.c は,2つの文字列を入力して,
それらの辞書的順序からみての大小を出力するプログラムである.
この中で用いられている関数 str_cmp を定義して,プログラムを完成させよ.
(なお,ライブラリ関数に同様の処理を行う関数が存在するが,これを用いないこと.)
ヒント: 辞書的順序からみての大小とは,
アルファベット順に並べた時に先に位置するほうが小さい (後に位置するほうが大きい)
ということである.
たとえば,car < cat,time < times,big > bag,big = big である.
なお,文字の比較において,大文字と小文字の区別は無視してよい.
つまり,大文字を小文字にすべて変換したときの辞書的順序を考えること.

2、 キーボードから複数行の文字列を入力して,最も長い行を出力するプログラムを作成せよ.
ヒント: 行の長さが最大の文字列を一時的に保持しておくために
別の配列に 文字列をコピーする必要があるが,
配列そのものの代入は行えないので,
配列 x に格納されている文字列を配列 y にコピーする関数
copy(x,y) も 定義することになる.


お願いします。。。

12 :非決定性名無しさん:2007/01/14(日) 19:33:20
>>11
おまえ、友達いないだろwww

13 :非決定性名無しさん:2007/01/15(月) 00:29:21
* 注意 *
あまり知られていませんが、2ちゃんねるではそれぞれの
書き込みを誰が行ったかを特定する方法があります。

内部告発等を行う場合は、2ちゃんねるといえど、完全に
匿名ではない事に気をつけてください。

* 参考 *
以下の方法で、書き込み元のIPアドレスとプロバイダが入手
できます。

(1) 対象のスレッドに以下の内容で書き込みを行う。
 ・名前欄に「fusianasan」と入力
 ・メールアドレス欄に実在するメールアドレスを入力
  (注: HotMail等フリーのメールはNG)
 ・本文は「オッス。オラ悟空。」と入力

(2) しばらくすると、(1)で入力したメールアドレスに
 対象のスレッドの内容と、書き込み元のIPアドレスと
 プロバイダが併記された、情報が届く。
 (5分ほど待ってもメールが届かない場合は、連続して
 数回(1)の書き込みしてください。)



14 :非決定性名無しさん:2007/01/15(月) 02:48:44
>13
しょーもな。そんな事したら自分のIPさらすだけ。

てゆーかIPさらさせてなにが面白いわけ?プッ

そんなもんみたとこでお前になにができるわけでもないくせに。
だいたいプロバイダ乗り換えたらしまいの話や。

15 :助けて:2007/01/18(木) 02:02:11
西暦入れて十二支出すプログラムをc言語使って作れって宿題でた。。。
初心者すぎてもう分からない・・
天才様助けてください!!

16 :非決定性名無しさん:2007/01/18(木) 02:30:05
void printETO(int year)
{
if (year == 2006) puts("戌");
if (year == 2007) puts("亥");
}

後はif文を2000でも10000でも好きなだけ増やせばおk

17 :非決定性名無しさん:2007/01/18(木) 02:39:54
天才だなおまえ

18 :非決定性名無しさん:2007/01/18(木) 09:48:04
ほい!

void printETO(int year)
{
switch (year % 12) {
case 4: puts("子"); break;
case 5: puts("丑"); break;
case 6: puts("寅"); break;
case 7: puts("卯"); break;
case 8: puts("辰"); break;
case 9: puts("巳"); break;
case 10: puts("午"); break;
case 11: puts("未"); break;
case 0: puts("申"); break;
case 1: puts("酉"); break;
case 2: puts("戌"); break;
case 3: puts("亥"); break;
default:
}
}


19 :非決定性名無しさん:2007/01/18(木) 19:35:22
H8/3664のマイコンで7セグメントLEDで表示する貯金箱を作ってるんだがプログラムが全くわかんないですorz
コインの識別はコインセレクター(自販機とかにある500,100,50を識別する機械)で判別させようと思うんだけど…

わかる頭が良い人教えてください。

20 :非決定性名無しさん:2007/01/18(木) 19:39:15

●平均時給3735円●在宅ワーカー募集中●定型文データ入力●完全時給制●

http://atblog.blog.shinobiドットjp

↑ドットjpの部分を.jpに書き換えて
今すぐブログをご覧下さいませ。

21 :助けて:2007/01/18(木) 22:38:40
十二支のプログラム教えてくださった方ありがとうございます!!

22 :非決定性名無しさん:2007/01/18(木) 22:43:59
>>18
紀元前の値を入れるとバグるぞ

23 :_:2007/01/18(木) 22:53:04
void Akiyama()
{
null;
null;
}

24 :非決定性名無しさん:2007/01/19(金) 02:23:55
>>19
っ[美味しいカレーの作り方]


25 :非決定性名無しさん:2007/01/19(金) 03:01:13
>>19
仕様が曖昧すぎて全くわかんないですorz
何がわからんかわからん人には答えるのが難しいのですorz
取りあえず組込やるなら処理と状態遷移は決めんといかんです。

26 :非決定性名無しさん:2007/01/20(土) 00:10:37
>>15
ちみには「不可」を進ぜよう。

27 :非決定性名無しさん:2007/01/23(火) 18:26:08
C言語で7セグメントLEDを0と点灯させるプログラムを教えて下さい
7セグメントLEDに使うポートはP8の7ビットで桁は5桁です


28 :非決定性名無しさん:2007/01/23(火) 23:55:02
>>27
>>19か?
P8の各ビットに何が繋がってるのかな?
間にコントローラが入ってbit4-6で表示桁指定、
bit0-3で表示数字を1桁ずつBCDで書くんじゃろか?
これでなんか反応あったらPDRの値を色々変えて調べてくれ。

#include "3664.h"
void main(void) {
IO.PCR8=0x7F;
IO.PDR8.BYTE=0x00;
IO.PDR8.BYTE=0x10;
IO.PDR8.BYTE=0x20;
IO.PDR8.BYTE=0x30;
IO.PDR8.BYTE=0x41;
}

29 :非決定性名無しさん:2007/01/24(水) 19:52:08
>>28
19です。分かりにくくてすいません
P8には7セグLEDの格セグメントのa,b,c,d,e,f,gが繋がってます。

それで5桁必要なんで並列に7セグを5つ並べて、並列にP8に繋いでスイッチ用のトランジスタをP5の0〜5ビットめに繋いで格トランジスタの点灯を切り替えて(ダイナミック点灯と言うらしいです)貯金箱みたいに点灯させたいんです



30 :匿名希望:2007/01/24(水) 22:27:44
はじめまして。プログラムについて、超ド素人な匿名希望です。今プログラム等を独学で勉強しています。しかし、イマイチうまくいきません。どうか、あなたの勉強法を教えてください。長文ですいません。

31 :非決定性名無しさん:2007/01/25(木) 01:29:56
>>29
桁はP5でLEDは1seg毎に制御かい!
現物あれば色々いじって調べられるけれどネットじゃその情報ないと
わからんよ。さらにbitは1でON,0でOFFとか、下の桁から順にbit0→4
(0-5だと6bitあるから間違いだよね?)とか、7segの接続bit (a→bit0とか)
の情報もあったほうがいい。
P5はON:1,OFF:0、P8はbit0-6にabcdefgの順で接続されてるとすると
(中央のsegがgとして)こんな感じか。

void main(void) {

IO.PCR5.BYTE=0x1F;
IO.PCR8.BYTE=0x7F;
while (1) {
IO.PDR5.BYTE=0x00;
IO.PDR8.BYTE=0x3F;
IO.PDR5.BYTE=0x01;
IO.PDR8.BYTE=0x3F;
IO.PDR5.BYTE=0x02;
IO.PDR8.BYTE=0x3F;
IO.PDR5.BYTE=0x03;
IO.PDR8.BYTE=0x3F;
IO.PDR5.BYTE=0x04;
IO.PDR8.BYTE=0x3F;
}
}

課題じゃなくて本当に作ろうとしてるみたいだから書くけど、
すごいアホなプログラムにしてあるから、これで動いても
ちゃんと書き直してな。
あと、いつか動いたらそもそも「何が」わからなかったか教えてくれ。

32 :非決定性名無しさん:2007/01/25(木) 01:38:52
>>30
長文ではないが、改行使え。
プログラム「等」ってなんだ?
プログラムは書籍を使った独学で覚えた。

33 :非決定性名無しさん:2007/01/26(金) 12:14:15
誰かこれ今すぐ解いて…

フィボナッチ数列を計算するプログラムを作成せよ。

フィボナッチ数列
F(1)=1
F(2)=2
F(k+2)=F(k+1)+F(k)
k>=1

項数nを入力して、その項数までのフィボナッチ数列を計算する。

条件:for文を使う。配列は使わない。

34 :非決定性名無しさん:2007/01/26(金) 23:24:26
解きました。

35 :非決定性名無しさん:2007/01/27(土) 13:39:58
>>33
ヒント:再帰呼び出し

36 :35:2007/01/27(土) 13:48:10
#include <stdio.h>
#include <stdlib.h> /* exit( ) で必要 */
unsigned long Fibo(int n);
void main(void);
/* n のフィボナッチ数を返すn のフィボナッチ数を返す */
unsigned long Fibo(int n)
{
unsigned long f; /* フィボナッチ数をしまう */
switch (n) {
case 1:
case 2: /* n が1か2なら */
f = 1L; /* f は1 */
break;
default: /* それ以外は再帰呼び出し */
f = Fibo(n - 1) + Fibo(n - 2);
break;
}
return (f); /* f の値をリターン */
}
void main(void)
{
int n; /* n のフィボナッチ数を求める */
printf("1から47迄の整数を入力して下さい\t");
scanf("%d", &n);

if(n > 47) { /* n が47より大きければ何もしないで終了 */
printf("数字が大き過ぎます\n");
exit(0);
}
/* フィボナッチ数を表示 */
printf("\nFibonacci 数は %lu\n", Fibo(n));
}

37 :35:2007/01/27(土) 13:48:52
>>36
http://www1.cts.ne.jp/~clab/hsample/Rec/Rec3.html
↑より。
まぁいろいろ突っ込みどころもあるけど。

38 :非決定性名無しさん:2007/01/28(日) 08:31:34
>>35
>>33の課題条件でfor使えってあるじゃないですか。
再帰使わずに実現させる方法が必要なんでしょうね。


39 :非決定性名無しさん:2007/01/28(日) 16:15:03
答を教えても33のためにはならん。

40 :非決定性名無しさん:2007/01/29(月) 11:53:13
>>31
本当わかりにくくてすいません
P8の0bit=a、1bit=b、2bit=c、3bit=c、4bit=d、5bit=e、6bit=f、7bit=g、で7セグのが繋がってます
因みに7セグメントはaは一番上でbcdefと時計回りでgは真ん中のセグメントです
P5には0bit=6桁目、1bit=2桁目、2bit=3桁目、3bit=4桁目、4bit=5桁目のトランジスタに繋がってます
6桁目は常に0なのでそのまま直に+5VとGNDに繋がってます

それでなんとか全部0に光らせることは出来ました

41 :非決定性名無しさん:2007/01/29(月) 12:05:56
度々すいません

それで今度はコインセレクター(500円、100円、50円を判別する機械)の端子が
P1の0bit=500円の端子、1bit=100円の端子、2bit=50円の端子が繋がってるんですが、P1の2bit目に1になったら(50円がコインセレクターを通過したら)、7セグ上で50と表示するにはどうゆうプログラムにしたらいいんですか?

更に2枚50円が入ったら100と表示みたいな感じで…

後スレ違いになるかもしれないんですがマイコンののポートには直接電圧かけても平気なんですかね?

42 :非決定性名無しさん:2007/01/31(水) 11:20:58
誰かいませんか?

43 :非決定性名無しさん:2007/02/01(木) 01:30:34
ん?

44 :非決定性名無しさん:2007/02/01(木) 02:03:01
>>41
LED点灯おめ。
質問の仕方は最初と較べれば進歩してるな。
教えてくれたことしかできないようならプログラムは向いてないぞ。
1きいて2にも3にも膨らませる能力が必要だ。
今41がやろうとしてることは7seg光らせるのと較べるとかなり難しい。

P1は接続bitは入力用に設定するのはわかるな。
わからんのは2bit目の値をどうやったら読めばいいのかか?
それともいつ読めばいいのかか?

考えてる間に基盤壊すとあれだから書くけど、
ポートにかけられる電圧は限界がある。
基盤の仕様書にかいてあるはず。
一般的にマイコンボードならポートによっては7segぐらいは
問題無いけど、モーターつないだら多分死ぬ。
ポートの目的によってどこまで流せるかはかわるから調べて。



45 :非決定性名無しさん:2007/02/01(木) 07:50:37
>>44さんいつもありがとうございます

確かに今が一番悩み所です…
いろいろ調べた結果今使ってるマイコンのポートは5V±0、3Vまでの電圧までならかけられるらしいです

それで5Vにいけばマイコンの方で1と入力された。つまり50円が通過したと認識されるらしいです。
(逆に5Vいかないと判断されず5Vを余裕で越えるとマイコンが壊れるらしいです)

今はコインセレクターの出力が低かったので増幅回路使って5V前後に出力を上げてマイコンの方でちゃんと判断出来るか試そうかと思っています
その為のプログラムが知りたかったんですが…

長文でしかも読みにくくてすいません

46 :非決定性名無しさん:2007/02/02(金) 00:33:37
でんあつちぇっくしつづけるといいとおもうよ。

ttp://tech.tsd.saitama-u.ac.jp/~dbpro/DATABASE/DATA1/DATA0/tech0/kenshu/2004/2004-23-26.pdf
こういうのをやりたいんだよね


47 :非決定性名無しさん:2007/02/02(金) 20:53:46
はい電圧チェックは念のため毎回しています
ORのIC使って5Vにしようとしたりレギュレータ使って5Vにしようとしたりしたんですがなかなかうまくいかなくて…

すいません俺は携帯からなんで>>46のは見れません…

48 :非決定性名無しさん:2007/02/03(土) 00:34:14
大雑把に書くと
P1の接続ビットを入力にして、
P1の接続ビットの値を読む。
これだけだ。まずは50じゃなくて、
適当な7seg1戸に5とでも表示してみれば?

49 :46:2007/02/04(日) 08:04:50
>>28,31,44,48ってものすごい親切な人ですね。

>>47
46の回答意図は、C言語風に書くと
fp=fopen(入力ポート);
status=0;
while(1){
in=fget(fp);
if((status==1)&&(in==0)){
status=0;
金額データを加算して表示;
}
if((status==0)&&(in==1){
status=1;
}
}
ってことです。
低レベル関数のちゃんとした使い方なんてシラネ。

まずはPCからネット繋げる環境用意した方が良いと思うよ。
んで、2chよりgoogle
マイコン関係の情報少ないから、ちょっと大きめの本屋で参考書探した方が早いかもな

わざわざ回答してやったんだから、出来たら報告だけはしてくれよ。

50 :非決定性名無しさん:2007/02/11(日) 13:44:54
出来上がったら報告します

回路はだいたい終わりました

後はプログラムなんですけど
if(IO.PDR1.BIT0=1){
IO.PDR5=0x10;
IO.PDR8=0x12;
}

で50円が入ったら50と表示(一桁目は常に0だからほんとは5と表示)はできたんですが、2枚50円玉が入ったら100と表示とか桁上がりみたいなのはどうしたらいいんですかね?
後P1の1bit目と2bit目が100円と500円なんですが…

51 :非決定性名無しさん:2007/02/13(火) 01:31:34
>>50
時間がないのでヒント。
・現時点の金額をメモリ上に保存(取りあえずのお試しは空きレジスタでもOK)
・金額の書き換えは色々あるけど、7segを一度全部消灯して、再度金額を書くのが確実
・複数毎のコインは、セレクタが割り込み上げないパッシブDev.のようなので
 プログラム側でループ回して監視する必要有

52 :非決定性名無しさん:2007/02/13(火) 09:38:23
>>51
親切な人や、、、
なんか昔の職場にいた、濃い先輩を思い出すぜ。

20 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)