おまいら!今日からC言語を学んでいくぞー!パート3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/12/15(木) 20:27:30おはようー!
あたいのスペックは
26歳フリーター、パソコン歴インターネット歴は6年
しかしそれ以外の事は何もできにゃーい…
というわけで今日から参考書を買ってがんばります!
今まさに私みたいに、これからCを勉強するぞって人いたら
よろしくね!!!
前スレが一杯になりそうなので新しく作りました☆
今日でC言語歴約2週間です^^;
簡単な文字の表示はできるようになったんですが
進むペースは亀さん並に遅いので、ゆっくり見守ってね(><。)
もっと容量のいい頭がほしいー(><。)
まとめwiki (誰でも編集OK)
http://gamdev.org/w/?%5B%5B%A4%AA%A4%DE%A4%A4%A4%E9%A1%AA%BA%A3%C6%FC%A4%AB%A4%E9C%B8%C0%B8%EC%A4%F2%B3%D8%A4%F3%A4%C7%A4%A4%A4%AF%A4%BE%A1%BC%A1%AA%5D%5D
■類似スレ(Java)
□■JAVAプログラマーを育てるスレ■□
http://pc8.2ch.net/test/read.cgi/tech/1081149073/
■類似スレ(何でもあり)
【初心者】課題をクリアしていくスレ【講習会】
http://pc8.2ch.net/test/read.cgi/gamedev/1086858349/
【目標ない奴】おまいらに課題を与える。【集まれ】
http://pc8.2ch.net/test/read.cgi/gamedev/1026148930/
0002デフォルトの名無しさん
2005/12/15(木) 20:28:18おまいら!今日からC言語を学んでいくぞー!パート2
http://pc8.2ch.net/test/read.cgi/tech/1128637438/
0003デフォルトの名無しさん
2005/12/15(木) 21:30:19一体何を意図してこんなすれをたてるのか?
0004デフォルトの名無しさん
2005/12/15(木) 21:34:480005デフォルトの名無しさん
2005/12/15(木) 23:36:03テンプレサイトまであるからな。
0006デフォルトの名無しさん
2005/12/16(金) 02:48:210007デフォルトの名無しさん
2005/12/16(金) 17:02:070008デフォルトの名無しさん
2005/12/17(土) 23:37:00#include<stdio.h>
#include<stdlib.h>
void page(char *tg){ //タグ用書込関数
FILE *fp;
fp = fopen("output.html","a");
fprintf(fp,"%s",tg);
fclose(fp);
}
void kakiko(char *kk){ //書込関数
FILE *fp;
fp = fopen("output.html","a");
fprintf(fp,"%s\n",kk); //一行書き込んで改行
fclose(fp);
}
int main(void)
{
char *tag; //html,body,/body,/html
char col[2][20];
char fn[30],buf[1024]; //ファイル名,置換前バッファ
char buf2[1024]; //置換後バッファ
char br[]="<br>";
char lt[]="<"; //'<'
char gt[]=">"; //'>'
char ap[]="&"; //'&'
FILE *fp;
int i,t,A=0,B=0,con=0,sum=0;
printf("\t\t************************\n");
printf("\t\t* convert Text To HTML *\n");
printf("\t\t************************\n");
printf("textファイル名?:");
scanf("%s",fn);
0009デフォルトの名無しさん
2005/12/17(土) 23:37:41fclose(fp);
fp = fopen(fn,"r");
if(fp==NULL){
printf("File Open Error\n");
exit(1);
}
tag="<html>\n";
page(tag);
printf("色を指定しますか?(する:1,しない:0)>>");
scanf("%d",&i);
if(i==1){ //「する」なら背景色と文字色指定
printf("背景色?:");
tag = "<body bgcolor=\"";
page(tag);
scanf("%s",col[0]);
page(col[0]);
printf("文字色?:");
tag = "\" text=\"";
page(tag);
scanf("%s",col[1]);
page(col[1]);
tag="\">\n";
page(tag);
}else{ //1以外なら<body>
tag="<body>\n";
page(tag);
}//1以外なら白地に黒
while(1){ //EOFまで反復処理
for(i=0;i<1024;i++){ //buf(2)の初期化
buf[i]='\0';
buf2[i]='\0';
0010デフォルトの名無しさん
2005/12/17(土) 23:39:31fgets(buf,1024,fp); //1行読み込み
i=0;
while(buf[i]!='\0') //文字数取得
i++;
buf[i]=' ';
buf[i+1]='\0';
if(buf[1]=='\0')break; //EOF判定
A=0;
B=0;
while(buf[A]!='\0'){ //文字列の最後まで
if(buf[A]=='<'){ //'<'があれば
for(i=0;i<4;i++){
buf2[B]=lt[i]; //"<"に置換
B++; //置換後ポインタ++
}
B--;
}else if(buf[A]=='>'){ //'>'があれば
for(i=0;i<4;i++){
buf2[B]=gt[i]; //">"に置換
B++; //置換後ポインタ++
}
0011デフォルトの名無しさん
2005/12/17(土) 23:40:10}else if(buf[A]=='&' && buf[A+2]=='t'){ //"&?t"があれば
for(i=0;i<5;i++){
buf2[B]=ap[i]; //"&"に置換
B++; //置換後ポインタ++
}
B--;
}else //それ以外なら
buf2[B]=buf[A]; //そのまま代入
A++; //次の文字へ
B++; //置換後ポインタ++
}
i=0;
while(buf2[i]!='\0')
i++; //出力字数を取得
i-=2;
if(i==0)
i++;
for(t=0;t<4;t++){
buf2[i]=br[t]; //文末に<br>を挿入
i++; //文末++
}
buf2[i]='\0';
sum+=i;
kakiko(buf2); //書出し関数へ
0012デフォルトの名無しさん
2005/12/17(土) 23:41:49printf("・");
if(con%10==0)
printf(" %d\n",con); //行数出力
}
tag = "</body>\n";
page(tag);
tag = "</html>\n";
page(tag);
printf("\n\n%d行、%d文字くらい\n",con,sum/2);
printf("output.htmlに出力しました\n");
return 0;
}
//以上です。実行環境はgcc2.95.1です。
0013デフォルトの名無しさん
2005/12/17(土) 23:50:41最後にスペースとか無駄に入れるとできるもんです?
0014デフォルトの名無しさん
2005/12/18(日) 00:06:15ええ、実行時にムダスペース入れる処理とか考えたのですが、
元ファイルを弄るのもどうかなと思いまして。
それに実行するたびにどんどんスペースが増えていくし。。
0015デフォルトの名無しさん
2005/12/18(日) 00:38:03コードに無駄が多すぎて全部をきちんと読んだわけではないが、
取り敢えずstring.h内の標準関数くらい使い方覚えたら?
以下問題点列挙。
・文字数取得:strlen()を使え。
・EOF判定:意味不明。
・1行1024バイト以上のファイルを食わせたらどうなる?
・変数名を大文字はセンスが凄すぎ。
・buf2は最悪bufの4倍の長さが必要だと思うが。
・"<"に置換:自分で「4」を数えるな。コンパイラは既に知っている。
#つーかそもそもsprintf()かstrcat()でも使え。
・"&?t"があれば:意味不明。なんで&だけの場合は置換しないんだ?
・htmlの規格を満たすためには要素が足りなすぎる。
・colを配列の配列にする必然性がない。そう言えばtag変数も要らない。
・1以外なら白地に黒:とは限らない。単に、無指定なだけ。
・buf(2)の初期化:要らない。
何故なら、それぞれ上書きされるだけだし、初期化に頼って安直なコードを書く癖がつく。
恐らく空白を追加したりカウンタを微調整したりと言う小細工の所為で文字が消えているのだろう。
基本を抑えつつ、書き直した方が早いかも知らん。
#例えば、fgets()で取り込んだ行には大抵改行文字が最後に一つある。それの処理が明記されていない。
#但し、改行文字がない場合が二つある。一つはバッファが一杯のとき、もう一つはファイル末尾。
#もしかしたら、当てずっぽうで調整していないか?
0016デフォルトの名無しさん
2005/12/18(日) 00:38:37文字数取得はstrlen
配列とポインタは別物
0017デフォルトの名無しさん
2005/12/18(日) 00:45:30了解です。一度見直してみます。
>・EOF判定:意味不明。
buf[1]が\0なら末尾扱いするようにしました。
"EOF"という言葉が適切ではないかもしれませんが。。
>・"&?t"があれば:意味不明。なんで&だけの場合は置換しないんだ?
'>'、'<'の特殊文字を見つけるためにそのようにしました。
>#但し、改行文字がない場合が二つある。一つはバッファが一杯のとき、もう一つはファイル末尾。
このあたりが怪しい気がします。
>#もしかしたら、当てずっぽうで調整していないか?
ごめんなさい。
0018デフォルトの名無しさん
2005/12/18(日) 01:25:10校正なら宿題スレにでも行け
0019デフォルトの名無しさん
2005/12/18(日) 07:48:17これ何の価値もないなw
0020デフォルトの名無しさん
2005/12/18(日) 08:05:31おまいは未だポインタの意味が分ってない
*tagにアドレス入ってないぞ
0021デフォルトの名無しさん
2005/12/18(日) 10:04:17>*tagにアドレス入ってないぞ
???
0022デフォルトの名無しさん
2005/12/18(日) 12:31:04文字列ポインタとして使ってるです。
"<html>"とかをメモリ上に確保してそこのアドレスが入るはず。
0023デフォルトの名無しさん
2005/12/18(日) 21:54:12そこに""でくくったサイズ不定の文字列ブッコン伝だぞ
恐ろしい奴だな
それでエラーでないの?
tag[256]にしてstrcpyで文字列変更が普通
本読んで出直して来い
0024デフォルトの名無しさん
2005/12/18(日) 22:07:05本読んで出直すのはお前だ
0025デフォルトの名無しさん
2005/12/18(日) 22:11:590026デフォルトの名無しさん
2005/12/18(日) 22:44:38char * tag; tag = "foo";
と書いた場合、tagには単純に文字列リテラル("foo")へのポインタが代入されるだけだぞ。
もしかして、
char foo[] = "foo";
と
char * bar = "foo";
では振る舞いが全く違うことを理解していないのではないか?
0027デフォルトの名無しさん
2005/12/19(月) 20:32:42char *tag;
tag="abc";
とできるのは知ってたが、さらに
tag="def";
とできるのは知らんかった
文字列はいじれないという事と勘違いしてたみたいだorz
0028デフォルトの名無しさん
2005/12/19(月) 21:00:54*tag使わず直でpage("abc");でいいし
それかchar配列に前もって容れとくだろ
まあ間違ってたのは俺で一通りKR読んだんだが…出直してきまつ
0029デフォルトの名無しさん
2005/12/19(月) 23:36:31ファイル末尾の改行文字無しが文字欠けの原因だったようです。
これから無駄を削っていくことにします。
ありがとうございました。
>>28
page("abc");が出来るのを忘れてました。
仰る通りです。。
0030デフォルトの名無しさん
2005/12/20(火) 11:31:39両方とも>15が指摘済みだな。
0031デフォルトの名無しさん
2005/12/20(火) 12:45:080032デフォルトの名無しさん
2005/12/20(火) 13:46:06俺は超初心者だからな。
0033デフォルトの名無しさん
2005/12/20(火) 17:01:29初心者の学びスレなので分からないことあれば誰か教えてくれるかも。
0034デフォルトの名無しさん
2005/12/20(火) 17:01:35int main(void)
{
short *a,*pa;
a=(short *)calloc(LSIZ,sizeof(short));
pa = a;
l_seti(a,19999,pa);
return 0;
}
void l_seti(short a[],int n,short *pa)
{
pa+=2;
if(n>100000000)
{ a=pa;
*a = n/100000000; n = n%100000000;
a--; *a = n/10000; n = n%10000;
a--; *a = n;
}
else if(n>10000)
{ pa -=1;
a=pa; *a = n/10000; n = n%10000;
a--; *a = n;
}
else
{ pa-=2; *a = n; }
}
003534
2005/12/20(火) 17:04:43callocで確保したaの配列の各要素に4桁の整数を入力していくプログラムです。
paはaの値の入っている部分の末尾をさすポインタです。
l_setiではpaは上手くaの末尾をさしていたのですが
mainに戻ると、paはaの先頭を指してます。
paをそのまま維持してmainに戻るにはどうすればよいでしょうか?
0036デフォルトの名無しさん
2005/12/20(火) 17:11:56003734
2005/12/20(火) 17:20:47移しました
0038デフォルトの名無しさん
2005/12/20(火) 20:48:00関数の最後にreturn pa;を入れて
mainに戻って
pa=l_seti(〜);
にすればいいのかな?
要するに関数にはpaのアドレス値を渡してるだけで
mainのpaと関数のpaは別者だから最後にpaのアドレスを返さんといかんのでは?
出直して来た28が言う事だからスルーしてくれ
0039デフォルトの名無しさん
2005/12/21(水) 03:16:22悪いな、宿題スレで回答済みだ。
0040デフォルトの名無しさん
2005/12/27(火) 23:25:000041デフォルトの名無しさん
2006/01/12(木) 23:34:460042デフォルトの名無しさん
2006/01/14(土) 17:32:090043デフォルトの名無しさん
2006/01/14(土) 18:11:02期限まであと2日、困ってます。
0044デフォルトの名無しさん
2006/01/14(土) 18:24:290045デフォルトの名無しさん
2006/01/14(土) 21:37:16お前がアドバイスをしたいのか?
0046デフォルトの名無しさん
2006/01/25(水) 11:13:100047デフォルトの名無しさん
2006/01/25(水) 11:30:270048デフォルトの名無しさん
2006/01/27(金) 16:21:49学生の名前と、一教科試験の成績をメンバとする構造体をつくり、それ
らを20個(学生20人分)集めた配列をつくる。ライブラリ関数rand
を用いて、各学生の名前(英小文字5文字)と成績(0〜100)を初期化した
あと、試験の成績の降順に整列して出力するプログラム
構造体の宣言は
struct student{
char name[6];
int point;
};
難しすぎて解けません
0049デフォルトの名無しさん
2006/01/27(金) 16:24:20ここは解いてもらうためのスレでは無い
自力で解く人のためのスレだ
0050デフォルトの名無しさん
2006/01/27(金) 16:47:400051デフォルトの名無しさん
2006/01/27(金) 17:19:57C/C++の宿題を片付けます 59代目
http://pc8.2ch.net/test/read.cgi/tech/1138320520/l50
0052デフォルトの名無しさん
2006/03/13(月) 00:21:59ソフ開の過去問見たので全く自力ではないが。
0053デフォルトの名無しさん
2006/03/13(月) 04:53:29#include <stdlib.h>
struct student{
char name[6];
int point;
}a[20];
int main(void)
{
int n,i = 0;
for{;;} //でぐるぐる回す
n = rand()
n > 0x61 && n < 0x7a
a[i].name = n
a[i].name[5] = '\0'
a[i].point = n%101
for //文終わり
あとは、pointでソート
}
ま、こんな感じになるだろうね。
別にどうでも良いけど
0054デフォルトの名無しさん
2006/03/13(月) 05:54:57さすがにまだまだ余裕
#include <stdio.h>
int main()
{
printf("Hello, world\n");
return 0;
}
ところでreturnで返す値ってEXIT_SUCCESSのほうがいいの?
0055デフォルトの名無しさん
2006/03/13(月) 05:57:26int main()
{
int i, sum=0;
for (i=1 ; i<=50 ; i++)
sum+=i;
printf("%d", sum);
return 0;
}
0056デフォルトの名無しさん
2006/03/13(月) 06:25:43#define FILENAME "data.txt"
#include <stdio.h>
void swap(int *l, int *r)
{
int tmp;
tmp=*l;
*l=*r;
*r=tmp;
}
int main()
{
FILE *fp;
char buf[6];
int nums[100], int_num=0, i, j, count=0;
//ファイル読み込み
fp=fopen(FILENAME, "r");
while (fgets(buf, sizeof(buf), fp) != NULL)
{
sscanf(buf, "%d", &int_num);
nums[count]=int_num;
printf("%d\n", nums[count]);
count++;
}
fclose(fp);
0057デフォルトの名無しさん
2006/03/13(月) 06:27:17puts("");
for (i=0 ; i<count ; i++)
{
for (j=i+1 ; j<count ; j++)
{
if (nums[i]>nums[j])
{
swap(&nums[i], &nums[j]);
}
}
}
//表示
for (i=0 ; i<count ; i++)
{
printf("%d\n", nums[i]);
}
}
ちょっとむずかった
swap関数で値じゃなくてアドレスを入れ替えて失敗したりorz
0058デフォルトの名無しさん
2006/03/13(月) 13:57:430059デフォルトの名無しさん
2006/03/13(月) 15:19:14了解した
どうしたらいいんだ?
0060デフォルトの名無しさん
2006/03/13(月) 15:35:230061デフォルトの名無しさん
2006/03/14(火) 04:27:51ところで俺が今勉強しているような超超基本的な関数って、
ゲーム作る段階に至っても使うんだよね??
0062デフォルトの名無しさん
2006/03/15(水) 03:57:420063http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 20:42:58もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0064デフォルトの名無しさん
2006/04/04(火) 09:39:080065デフォルトの名無しさん
2006/04/04(火) 10:02:490066デフォルトの名無しさん
2006/04/04(火) 10:41:300067デフォルトの名無しさん
2006/04/04(火) 11:17:070068デフォルトの名無しさん
2006/04/04(火) 11:22:520069デフォルトの名無しさん
2006/04/07(金) 01:27:36extern void func(void);
この関数はあちこちのソースから呼ばれているものとする。
プログラムを実行した結果、どのソースの何行目からfunc()が呼ばれたか知りたい。
どうすれば良いだろうか。
ただし、func()を呼んでいる.cは正しくfunc.hをincludeしているものとする。
(つまり勝手に内部でextern void func(void);とか宣言して使っていたりはしない)
また.cファイルに手をくわえることを禁止する。.cファイルの中身を見ることも
禁止する。
func.hはいじっても良い。
デバッグ技術クイズってとこかな。
0070デフォルトの名無しさん
2006/04/07(金) 04:43:33>>69
と言いますか難しいですよ・・・。デバッグをした事が無いから答えが出せないorz
勘で当ててやるぜ!!!デバッグで関数呼び出し回数だから#ifdefとかを使って
関数の呼び出し回数をカウントする!かもしれない、という憶測しか立てられない。
難す過ぎるからデバッグの勉強のし直しをしますか・・・。
0071デフォルトの名無しさん
2006/04/07(金) 06:27:14日本語の勉強からし直した方が医院で内科医。
0072デフォルトの名無しさん
2006/04/07(金) 07:53:54ヒント func.hに1行加えてコンパイル&実行するだけ。その1行とは?
0073デフォルトの名無しさん
2006/04/07(金) 08:20:10見放さないで下さい。
>>72
誰かが答えるまで少しヘッダについてググッてきます・・・('A`)
0074デフォルトの名無しさん
2006/04/07(金) 08:46:03やった、これなら合ってる気がします。
0075デフォルトの名無しさん
2006/04/07(金) 13:32:550076デフォルトの名無しさん
2006/04/07(金) 18:55:39方向性はいいけど、それでは func() を呼び出せないんジャマイカ。と通りすがりの突っ込み。
0077デフォルトの名無しさん
2006/04/07(金) 19:32:39Cも同時並行で書いてみます。
0078デフォルトの名無しさん
2006/04/07(金) 19:33:180079デフォルトの名無しさん
2006/04/07(金) 19:37:190080デフォルトの名無しさん
2006/04/07(金) 19:40:510081デフォルトの名無しさん
2006/04/07(金) 19:41:52ワロス
0082デフォルトの名無しさん
2006/04/07(金) 20:48:45ぐぁ・・・。そうですよねマクロで定義されてしまいますから、そうなりますねorz
では、#define func() printf("FileName=%d Line=%d",__FILE__,__LINE__),func()
というようにprintfの後にfunc()を呼び出せばいいと考えましたが、これはどうでしょうか?
無駄なプログラムっぽいですが・・・。
0083デフォルトの名無しさん
2006/04/07(金) 20:53:12(printf(...),func())
0084デフォルトの名無しさん
2006/04/07(金) 21:38:50括弧でくくるんですか。勉強になります!では今回の問題はクリアですね(´∀`)
008569
2006/04/08(土) 09:42:2282で正解。
0086デフォルトの名無しさん
2006/04/08(土) 11:29:39なんで?
008769
2006/04/08(土) 13:05:48__FILE__は%sな。
0088デフォルトの名無しさん
2006/04/08(土) 13:11:13演算子の優先度の違いで予期せぬ結合をする可能性があるから。
int x;
x = func();
上みたいなコードを誰かが書いてもコンパイルエラーで叩き落せるしね。
0089デフォルトの名無しさん
2006/04/08(土) 14:22:36なるほど
0090デフォルトの名無しさん
2006/04/22(土) 08:00:36プログラミングをやっていきたいと思ってますので、よろしくお願いします。
0091デフォルトの名無しさん
2006/04/22(土) 08:25:340092デフォルトの名無しさん
2006/04/22(土) 08:27:240093デフォルトの名無しさん
2006/04/22(土) 16:50:060094デフォルトの名無しさん
2006/05/07(日) 20:43:12どんな感じで習得すれば良い?
普通一般的に外国語の習得とかっていきなり書くことから始めないよね?
0095デフォルトの名無しさん
2006/05/07(日) 23:54:46言語の文法:あらかじめ規定してある。
どのように作るか:分かりやすく、読みやすく、移植性に優れ、バグがなく
要求を満たす、だが要求以上なものを作り無駄なコストを作らない事。
俺超かっこいい(´∀`)
0096デフォルトの名無しさん
2006/05/23(火) 23:19:07>要求を満たす、だが要求以上なものを作り無駄なコストを作らない事。
それってエラー処理も含まれるの?
0097初心者0000
2006/05/24(水) 00:45:060098デフォルトの名無しさん
2006/05/24(水) 00:50:020099初心者0000
2006/05/24(水) 01:21:41嫌な別の道を探します
0100デフォルトの名無しさん
2006/05/24(水) 11:50:08言語の文法も意味も分からなくていい
ただそのプログラムを動かすと何が起こるかが判ればいい
次に自分でプログラムを組む時『○○は××ページの例を変えたらできそう』となればその参考書が宝物になる
0101デフォルトの名無しさん
2006/05/24(水) 11:53:40自分で打ち込んで初めて身につく
0102デフォルトの名無しさん
2006/05/24(水) 19:42:350103デフォルトの名無しさん
2006/05/24(水) 20:07:44再起不能だって?
冗談兎も角、マクロの展開は際限なく行なわれることはない。
0104デフォルトの名無しさん
2006/05/24(水) 20:27:47知らんかった。どうも
0105ディフォルトの名無しさん
2006/06/10(土) 05:05:14その辺の理由をもう少し深く説明してくれると
より理解できると思うんですが
0106デフォルトの名無しさん
2006/06/10(土) 08:46:58深く説明したところでどうせ理解できないから安心しろ。
0107デフォルトの名無しさん
2006/06/12(月) 18:19:47それはなんでまむこにtぃんぽをつっこむと気持ちがいいんですか?と聞いているのと同義
0108デフォルトの名無しさん
2006/07/21(金) 15:58:03cout
const
↑なんて読むんですか?
0109デフォルトの名無しさん
2006/07/21(金) 16:05:040110デフォルトの名無しさん
2006/07/21(金) 16:11:270111デフォルトの名無しさん
2006/07/21(金) 16:17:280112デフォルトの名無しさん
2006/07/21(金) 16:25:030113デフォルトの名無しさん
2006/07/21(金) 16:41:1818歳○校生 158,45.82C/59/85 30K
18歳○校生 160,47,84C/59/86 25K
1○歳○校生 151,?,85D/58/87 30K
1○歳○校生 157,51,84/62/85 20K
19歳○学生 158,?,85F/64/86 20K
結局悩んだ挙句、ちっちゃい子ロリフェチな俺は三番目に突撃した。
これ全部、ワクワクで本当にアポ取れた子。ホントの話。
他の子断るの申し訳なかったが結果的によかった。
まじで夏川純似の人形みたいな女の子が!?
しかも制ふ○で来ちゃったもんだから自分でも騙されてるとか、もしかして美人局か!?と思ったくらい。
生まれてこんなタイプな子とエチーできたなんて偶然だろうけど本当によかった。
一度でもこんな体験してしまうとマジではまる。というか、もう完全にはまってしまった。馬鹿な俺w
http://550909.com/?f4720435
0114デフォルトの名無しさん
2006/07/21(金) 23:36:300115デフォルトの名無しさん
2006/07/21(金) 23:58:530116デフォルトの名無しさん
2006/07/22(土) 00:48:470117デフォルトの名無しさん
2006/07/22(土) 01:29:19cout/cinのcはconsoleのcだろ。
0118デフォルトの名無しさん
2006/07/22(土) 01:31:05もうチョット分割してくれないか・・・orz
0119デフォルトの名無しさん
2006/07/22(土) 01:40:54strcmpで0が帰ってくるかどうか判定すればおk?
0120デフォルトの名無しさん
2006/07/22(土) 01:54:40配列でstr[1023];って指定してるから
1023文字以上入力できねえwwwwwwwwwwwwwwww
だれかボスケテ
0121デフォルトの名無しさん
2006/07/22(土) 02:02:12strcmp(s1,s2) は、ゼロよりも、1)小さい、2)等しい、3)大きいのいずれかを返す。
それぞれは、s1 が s2 よりも、1)小さい、2)等しい、3)大きいに対応している。
0122デフォルトの名無しさん
2006/07/22(土) 02:03:35str[2047];で解決。
0123デフォルトの名無しさん
2006/07/22(土) 02:08:39そしたら2047以上入力できなくね?
0124デフォルトの名無しさん
2006/07/22(土) 02:59:320125デフォルトの名無しさん
2006/07/22(土) 03:15:45メモリ確保。
malloc(),free()使えばいいよ。
例>
char* str = NULL;
char
0126125
2006/07/22(土) 03:16:560127デフォルトの名無しさん
2006/07/22(土) 08:13:450128デフォルトの名無しさん
2006/07/22(土) 11:40:32#include <stdio.h>
#include <stdlib.h>
/*htmlを書き始める*/
FILE* starthtml() {
char str[1023];
FILE *fp;
printf("htmlファイル名を入力してください\n");
scanf("%s",&str);
if((fp=fopen(str,"w"))==NULL) {
printf("ファイル作成時にエラーが発生しました\n");
exit(1);
}
printf("htmlのタイトルを入力してください\n");
scanf("%s",&str);
fprintf(fp,"<html>\n<head><title>%s</title></head>\n<body>",str);
return (fp);
}
0129デフォルトの名無しさん
2006/07/22(土) 11:41:02int endhtml(FILE *fp){
fprintf(fp,"\n</body>\n</html>");
fclose(fp);
return 0;
}
0130デフォルトの名無しさん
2006/07/22(土) 11:41:33int writehtml(FILE *fp){
char str[1023];
while(1){
scanf("%s",&str);
if(strcmp(str,":q")==0) break;
fprintf(fp,"%s<Br>\n",str);
}
return 0;
}
0131デフォルトの名無しさん
2006/07/22(土) 11:42:03FILE *fp;
fp=starthtml();
writehtml(fp);
endhtml(fp);
return 0;
}
0132デフォルトの名無しさん
2006/07/22(土) 12:06:03>if(strcmp(str,":q")==0) break;
:
この辺りを1文字づつ処理するようにすれば問題なし
0133デフォルトの名無しさん
2006/07/22(土) 15:07:190135デフォルトの名無しさん
2006/07/22(土) 18:32:07ググれ無能
0136デフォルトの名無しさん
2006/07/22(土) 19:12:41>>135を怒らすなよ無能
0137デフォルトの名無しさん
2006/07/23(日) 00:53:12>> 配列でstr[1023];って指定してるから
>> 1023文字以上入力できねえwwwwwwwwwwwwwwww
0138デフォルトの名無しさん
2006/08/22(火) 12:19:55C言語の予習をしようと思って勉強を始めたのですが、
どこら辺まで勉強すべきでしょうか?
0139デフォルトの名無しさん
2006/08/22(火) 12:37:410140デフォルトの名無しさん
2006/08/22(火) 12:46:05来年からはSEとして働くのでCの基礎を
マスターしておきたいのです。
0141デフォルトの名無しさん
2006/08/22(火) 12:48:300142デフォルトの名無しさん
2006/08/22(火) 12:57:210143デフォルトの名無しさん
2006/08/23(水) 11:09:29Javaは出来るんです。
0144デフォルトの名無しさん
2006/08/23(水) 11:42:08っていうか勉強に制限をかけようとしている時点で
SEとして終わっているが。
014518歳
2006/08/23(水) 12:31:51ゃっぱり独学より覚えが断然早いんですかね?
来年の4月には、基本情報技術者も視野にいれて頑張るつもりです。
また独学の場合はどのような参考書がいいでしょうか?
アドバイスよろしくお願いします。
0146デフォルトの名無しさん
2006/08/23(水) 12:45:52参考書に関しては過去に色々なスレで同じ質問が何度もされてきているから
それらを探した方がいい。
0147デフォルトの名無しさん
2006/08/23(水) 21:04:06・独学で学ぶ知的好奇心が無いなら止めろ
・勉強には終わりが無いことを認識しておけ
・まともなアプリ等が作れるようになると楽しい
・なるべく仕事にしない方がいい
・気長にやれ。他の事で気分転換しる
・とりあえず自分でやってみれ
・時々、定義を再確認しる
・参考書などを一冊買うと統一性のある知識が得られ理解が早まる、かも
・アイデア帳などを常に持つといい、かも
0148デフォルトの名無しさん
2006/11/23(木) 22:50:340149デフォルトの名無しさん
2006/11/23(木) 23:12:390150デフォルトの名無しさん
2006/11/26(日) 01:13:52嫌になってくるよ。
別の言語がやりて〜〜〜〜〜って。
0151デフォルトの名無しさん
2006/12/11(月) 01:52:40何とはなしに分割コンパイルってかっこよさそうだから
無理やり3つ4つに分けて1個数十行程度のコード書いてみた
……数時間のにらめっこの末インクルードガードの大切さを知ったのだったとさ、ちゃんちゃんorz
にしても汎用的な関数作るのって難しいんだなぁ
どうしても書いてるうちにあれもこれもやらせたくなってしまう
OOとか夢のまた夢だろうなーまあぼちぼち頑張ってこ
0152デフォルトの名無しさん
2006/12/11(月) 10:59:22逆に考えるんだ。
関数にあれもこれも詰め込もうとするのではなく、如何に機能を削減するかが鍵だと。
0153デフォルトの名無しさん
2006/12/11(月) 17:47:50難しいなぁ……一つの関数で出来ることはやっちゃった方が効率良いじゃん、とか思ってやってしまう
自分みたいな素人がどう書いたところで有意な差なんて出ないって分かってはいるけど
構造化プログラミングの風上にも置けないぜ
0154デフォルトの名無しさん
2006/12/19(火) 19:57:48C言語を学ぼうとする姿勢の前向きさが伝わった。
OOPが夢なんてほどの物じゃないよ〜
Cだけでも立派なプログラム
C++でお粗末なクラスを使ったプログラム
あんたの言うとおりぼちぼち頑張れ〜
0155デフォルトの名無しさん
2006/12/20(水) 20:35:05コンパイラも賢いからそれ位下手したら同じコードを出力する。
そうでなくとも、今時のPCのCPUからすればその程度の効率の差なんて、
何百万〜何億秒分の一程度の違いにしかならない。
0156デフォルトの名無しさん
2006/12/21(木) 10:50:31ライブラリとか作る際にはソースが奇麗よりもいかに便利に使ってもらえるかが優先されるぞ。
だからやたら泥臭いソースを書く事になる。
0157デフォルトの名無しさん
2006/12/21(木) 20:34:410158デフォルトの名無しさん
2006/12/23(土) 15:50:29確かにコンパイラ一つでやって来てるから、プロファイラとかデバッガも分からんのよね
そんな状態で早さ求めてもしょうがないので、これでもかってくらいに関数作ってしまおう
いろいろありがとう
0159デフォルトの名無しさん
2007/01/04(木) 02:31:34退職した方がいいのかな。。。。。。
と、人生相談をここでしてみる。
0160デフォルトの名無しさん
2007/01/10(水) 13:59:420161デフォルトの名無しさん
2007/01/10(水) 14:35:28良いコード見ながら仕事するのと
糞コード見ながら仕事するのとでは
全然作業効率が違う
0162助けて・・・
2007/01/19(金) 00:03:50天才様助けて・・・超初心者です・・
分かりやすいプログラム教えて下さい・・・
0163デフォルトの名無しさん
2007/01/19(金) 00:16:01西暦を12で割った余りで条件分けしたらどう?
0164助けて・・・
2007/01/19(金) 00:27:54頑張ってみます・・・
0165デフォルトの名無しさん
2007/01/19(金) 00:46:310166デフォルトの名無しさん
2007/01/19(金) 01:12:10それを「亥」とすると、4は「子」、
int seireki,x;
printf("西暦:");
scanf("%d",&seireki);
x = seireki % 12;
if (x == 3) printf ("亥\n");
if (x == 4) printf ("子\n");
以下略
12で割った余りは0〜11が出てくるので、それで判定
判定はswitch〜caseでもいいし、お好みで。
0167助けて・・・
2007/01/19(金) 01:44:44ありがとうございます!
0168デフォルトの名無しさん
2007/01/19(金) 03:12:300169デフォルトの名無しさん
2007/01/19(金) 04:42:34>if (x == 3) printf ("亥\n");
>if (x == 4) printf ("子\n");
>
>以下略
死ねよ
0170デフォルトの名無しさん
2007/01/19(金) 05:06:090171デフォルトの名無しさん
2007/01/19(金) 08:41:08まさかお前、ShiftJis未対応のコンパイラなんか使っているのか?
0172デフォルトの名無しさん
2007/01/22(月) 18:33:30死ぬ必要はないだろ。
>>166
荷物まとめて実家帰れよ。
0173デフォルトの名無しさん
2007/04/08(日) 14:24:540174デフォルトの名無しさん
2007/04/17(火) 23:27:220175デフォルトの名無しさん
2007/04/17(火) 23:48:060176デフォルトの名無しさん
2007/04/18(水) 22:03:59そうなんですか
余り意味がないとはなぜなのですか?
0177デフォルトの名無しさん
2007/04/19(木) 00:33:32fprintf()では出力するものを文字列として取り扱うので、
「構造体をメンバごとに出力する」ことはできても「構造体のメモリイメージを出力する」ことはできないのは判る?
0178デフォルトの名無しさん
2007/04/20(金) 22:14:32なんとなくわかります。
0179デフォルトの名無しさん
2007/04/23(月) 11:29:580180デフォルトの名無しさん
2007/05/20(日) 20:35:530181デフォルトの名無しさん
2007/05/20(日) 20:42:420182デフォルトの名無しさん
2007/08/07(火) 11:06:22アプリケーションの引数を取得できるんのか。感動〜。
0183デフォルトの名無しさん
2007/08/07(火) 13:17:08どうやってその仕組みを実現してるのか知りたかった俺はがっかりした
0184デフォルトの名無しさん
2007/09/18(火) 16:29:480185デフォルトの名無しさん
2007/09/24(月) 08:29:24できません。
仕方なくROM付の教材を買ってきてそこからダウンロードしようと思ったのに
それもうまく出来ません・・・。
助けてください!!!!お願いします!!!!
0186デフォルトの名無しさん
2007/09/24(月) 11:04:31マルチするな。死ね。
0187デフォルトの名無しさん
2007/09/24(月) 11:15:40http://pc11.2ch.net/test/read.cgi/tech/1190555031/
0188デフォルトの名無しさん
2007/09/24(月) 12:57:09パソがハイスペック過ぎるから
中古のを買いなおしな
0189デフォルトの名無しさん
2007/09/24(月) 14:58:08一人じゃ何もできないんですか。
0190デフォルトの名無しさん
2007/09/24(月) 22:19:47>>1は努力が足りないぞ
0191デフォルトの名無しさん
2007/09/24(月) 22:26:120192デフォルトの名無しさん
2007/09/24(月) 22:41:04>>1は努力が足りないぞ
0193デフォルトの名無しさん
2007/09/24(月) 23:21:270194デフォルトの名無しさん
2007/09/25(火) 07:12:16>>1は努力が足りないぞ
0195デフォルトの名無しさん
2007/09/25(火) 12:12:300196デフォルトの名無しさん
2007/09/25(火) 13:51:23>>1は努力が足りないぞ
0197デフォルトの名無しさん
2007/09/25(火) 14:16:080198デフォルトの名無しさん
2007/09/25(火) 15:57:53>>1は努力が足りないぞ
0199デフォルトの名無しさん
2007/09/25(火) 16:37:520200中卒引き篭もりブタニート
2007/10/08(月) 05:26:190201デフォルトの名無しさん
2007/10/08(月) 05:29:230202デフォルトの名無しさん
2007/10/08(月) 07:18:210203デフォルトの名無しさん
2007/10/08(月) 11:43:300204デフォルトの名無しさん
2007/10/19(金) 00:02:160205デフォルトの名無しさん
2007/10/19(金) 00:16:07昔課題ででてソートアルゴリズムなんか知らなくて
自力でバブルソートのアルゴリズム考えた。
(そのころは表示と分岐とループが教えられた程度)
でもクラスメイトの分布数えソートに負けた…。
先生がどんなデータをソートするか言わなかったから自分はやめたのに…
くすん(;_;)
0206デフォルトの名無しさん
2007/10/23(火) 23:08:35C言語を練習したいんですが、コンパイルしようとしても
C++ は int を既定値としてサポートしていません
とか言われてしまいます。どうやったらC言語に対応させられますか?
そもそもこれはC++専用なんですか?
0207デフォルトの名無しさん
2007/10/24(水) 00:08:12どうゆうコード書いたかしらんが
ファイル拡張子を.cppから.cにすれば勝手に理解してくれる
0208デフォルトの名無しさん
2007/10/26(金) 11:19:35研究でセンサーのデータをとりました。
これをもとにセンサの配置などをシミュレーションしてみたいのですが
何の言語を使えばいいのか、全く分かりません。
何かヒントなどあれば教えてもらえませんか??
0209デフォルトの名無しさん
2007/10/26(金) 16:27:26main()の頭に型名の修飾がついてない(int main()になってない)とか、そんな問題じゃないの?
0210デフォルトの名無しさん
2007/10/26(金) 20:14:14先輩に聞け。
こんなところで聞くような奴が、よく研究とか言えるな。
シミュレータ作るなんて、何年後になるんだろうな。
0211デフォルトの名無しさん
2008/05/09(金) 23:16:420212デフォルトの名無しさん
2008/05/10(土) 13:23:25パスもしっかりしてるのに、どうすればいいんですか?
0213デフォルトの名無しさん
2008/05/10(土) 13:37:42状況を他人に説明できるように、コミュニケーション能力を鍛えてみましょう。
0214デフォルトの名無しさん
2008/11/12(水) 22:41:1012月から大学でC言語プログラミングの授業がはじまります。
初めてプログラミングをするので大学指定のテキスト意外にも
初心者でも分かり安いテキストを購入したいと思います。
オススメのテキストはありますか?
0215デフォルトの名無しさん
2008/11/17(月) 12:35:58テキストを増やすくらいなら、手数を増やしましょう。
0216デフォルトの名無しさん
2009/02/23(月) 19:21:53大学指定のテキスト + K&R
これで分からなければ橋渡しの本を買え
0217デフォルトの名無しさん
2009/04/16(木) 00:48:350218デフォルトの名無しさん
2009/04/19(日) 23:50:59名言集 その2
『お前が規制系キャップ取れるか審査してやるよ』
http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ ID:PVAf+dux0 = 自動焼人 ★
> 36 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:31:30.02 ID:PVAf+dux0
> >>33
> キャップとコテハンの違いは何?
> 46 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:38:05.34 ID:PVAf+dux0
> >>45
> その回答では落ちるなw
> 答えは教えないがw
> 50 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:41:29.96 ID:PVAf+dux0
> Q.キャップとコテハンの違いは何?
> A.2ちゃんねるのボランティアの登録制度
> それがお前の答えかw
> 52 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:43:10.06 ID:PVAf+dux0
> まぁ、どうせ正解が出るわけもないし、次の問題。
> 君が思う面白いスレはどんなの?
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
■ このスレッドは過去ログ倉庫に格納されています