C言語

C言語 ファイル8(マッチング(照合)処理)

/* 商品マスタ3(syohin3.mst)と変更ファイル(henko.trn)を入力し、マッチング処理に寄り商品マスタ4を出力する。処理後に各処理の処理件数を標準出力へ出力する。 ---処理区分--- AD:追加データ UP:単価変更データ DL:削除データ */ #include <stdio.h> #include <string.h> int</string.h></stdio.h>…

C言語 ファイル7(マージ処理)

/* 商品マスタ1(syohin1.mst)と商品マスタ2を入力し、マージ処理により商品マスタ3(syhohin3.mst)を出力する。処理後に商品マスタ1,商品マスタ2,商品マスタ3の処理レコード数を標準出力へ出力する。 */ #include <stdio.h> int main (void) { FILE *fp1,*fp2,*fpout; </stdio.h>…

C言語 ファイル6(グループインジケート)

/* 売上データ(uriage.dat)より、売上一覧表を出力する。重複する商品コード、商品名は出力しない。 */ #include <stdio.h> int main (void) { struct uriage{ int denpyou; int code; char name[32]; int price; int num; int sum; }data[256]; int i=0,j=0,gtotal=0</stdio.h>…

C言語 ファイル5(グループトータルによる集計表の作成)

/* 売上データ(uriage.dat)より、売上一覧表を出力する。 */ #include <stdio.h> int main (void) { struct uriage{ int denpyou; int code; char name[32]; int price; int num; int sum; }data[256]; int i=0,j=0,gtotal=0,total=0,n=0; FILE *fp; fp=fopen("uriage</stdio.h>…

C言語 ファイル4(テキストファイルの探索)

/* 商品コードを入力し、該当する商品の商品名、単価を検索(syohin.mstより)して出力する。繰り返し検索できるようにし、商品コードに99が入力されたら終了する。 */ #include <stdio.h> int main (void) { int code,price,cnt=0,in_code,kensuu=0, i; char name[32],</stdio.h>…

C言語 ファイル3(テキストの追加書込)

/* 標準入力より商品コード、商品名、単価を入力し、商品マスタ(syohin.mst)に追加出力する。1回の実行で1レコードのみの出力とする。 次の2レコードを追加する。 74 分度器 370 85 コンパス 230 */ #include <stdio.h> int main (void) { int code,price,cnt=0; char</stdio.h>…

C言語 ファイル2(エラー処理)

/* 標準入力より入力ファイル名(syohin.mst)と出力ファイル名(syohin.bak)を入力し、入力ファイル名の内容を出力ファイルにコピーする。コピー後にコピーしたレコード数を出力する。入力ファイルが存在しない場合はエラーメッセージを出力し、コピーは行わな…

C言語 ファイル1(テキストファイルのオープン、クローズ)

/* 商品マスタを読み込み、商品一覧表を出力する(商品マスタを実行前に作成しておく)。 */ #include <stdio.h> int main (void) { int code,price,i; char name[32]; FILE *fp; fp=fopen("syohin.mst","r"); if(fp==NULL){ return -1; } printf("***商品一覧表***\n")</stdio.h>…

C言語 構造体6(一覧表の作成、ランキング)

/* 成績データをリダイレクション入力(seiseki.txt)し構造体配列に格納する。3科目の成績一覧表を出力する。 ---出力例--- 成績一覧表(英語) No 氏名 英語 順位 ----------------------- 147 takahashi 81 1 206 tanaka 81 1 553 suzuki 70 3 447 watanabe 6…

C言語 構造体5(リダイレクション・サーチ・一覧表の作成)

/* 売上げデータをリダイレクション入力(uriage.txt)し、該当する商品の商品名、単価を検索して売上一覧表を出力する。 */ #include <stdio.h> int main(void){ struct product{ int code; char name[20]; int price; int amount; int sum; }; struct product data[]=</stdio.h>…

C言語 構造体4(構造体配列を使ったサーチ)

/* 商品コードを入力し、該当する商品の商品名、単価を検索して出力する。繰り返し検索できるようにし、商品コードに99が入力されたら終了する。 */ #include <stdio.h> int main(void){ struct product{ int no; char name[20]; int price; }; struct product data[]</stdio.h>…

C言語 構造体3(構造体配列へのリダイレクション入力)

/* 成績データをリダイレクション入力し、構造体配列に格納し、成績一覧表を出力する。 */ #include <stdio.h> int main (void) { struct roll{ int no; char name[20]; int ei; int su; int koku; int sum; double ave; int rank; }; struct roll data[5]; int i=0,j</stdio.h>…

C言語 構造体2(構造体配列のソート)

/* 社員名簿の構造体配列を初期化し、年齢の降順に出力する。 */ #include <stdio.h> #include <string.h> int main(void){ struct birthday{ int y; int m; int d; }; struct roll{ int num; char name[20]; int ny; int nm; int nd; struct birthday ymd; }; struct roll data</string.h></stdio.h>…

C言語 構造体1(構造体の宣言・定義・入出力・コピー)

/* 構造体変数を2つ定義し、1つ目の構造体変数にデータを入力する。入力後に1つ目の構造体変数の内容を2つ目の構造体変数にコピーし出力する。 */ #include <stdio.h> int main(void){ struct roll{ int no; char name[32]; double tall; double weight; }; struct ro</stdio.h>…

C言語 文字列12(strcmp関数の自作)

/* 標準入力より2つの文字列を入力し、文字数を比較する。比較した結果は次のように標準出力する。 1つ目に入力した文字列が大きい場合:1つ目の文字列>2つ目の文字列 2つ目に入力した文字列が大きい場合:1つ目の文字列<2つ目の文字列 2つの文字列が同じ場…

C言語 文字列11(strlen関数、strcat関数の自作)

/* 標準入力より2つの文字列を入力し、文字数を数える。2つの文字列合計文字数が20文字以内の時は2つ目に入力した文字列の後ろに1つ目の文字列を連結し出力する。2つの文字列合計文字数が20を超えるときは連結しない。strlen、strcatと同等の機能を持つstr_l…

C言語 文字列10(strcpyの自作)

/* 標準入力より文字列を入力し、別の文字列をにコピーして出力する。strcpyと同等の機能を持つstr_copyを作る。 */ #include <stdio.h> #include <string.h> void str_copy(char *p1, char *p2); int main(void){ char data1[255], data2[255]; char *p1, *p2; printf("コピー</string.h></stdio.h>…

C言語 文字列9(strcmp関数)

/* 標準入力より2つの文字列を入力し、文字数を比較する。比較した結果は次のように標準出力する。 1つ目に入力した文字列が大きい場合:1つ目の文字列>2つ目の文字列 2つ目に入力した文字列が大きい場合:1つ目の文字列<2つ目の文字列 2つの文字列が同じ場…

C言語 文字列8(strlen関数、strcat関数)

/* 標準入力より2つの文字列を入力し、文字数を数える。2つの文字列合計文字数が20文字以内の時は2つ目に入力した文字列の後ろに1つ目の文字列を連結し出力する。2つの文字列合計文字数が20を超えるときは連結しない。strlen、strcatを使う。 */ #include <stdio.h> #</stdio.h>…

C言語 文字列7(strcpy関数)

/* 標準入力より文字列を入力し、別の文字列をにコピーして出力する。strcpyを使う。 */ #include <stdio.h> #include <string.h> int main(void){ char data1[255], data2[255]; printf("コピー元文字列の入力==>"); scanf("%s", data1); printf("コピー元文字列の出力 %s\n", </string.h></stdio.h>…

C言語 文字列6(文字の判別)

/* 標準入力よりパスワード(文字列)を入力し、以下の条件に一致しているかチェックする。条件に一致した場合、「正しいパスワード文字列です」と出力し、一致しない場合その内容を出力する。 */ #include <stdio.h> int main(void){ char d[256]; char *p; int suuji,</stdio.h>…

C言語 文字列5(文字の判別)

/* 標準入力より文字列を入力し、入力した文字列が全て数字で構成されているかチェックする。 */ #include <stdio.h> int main (void){ char d[256], *p; int n=0; printf("文字列== >"); scanf("%s",d); p=d; for(;*p != '\0'; p++){ if( ( *p < 0x30 ) || ( *p > 0x</stdio.h>…

C言語 文字列4(文字列の比較)

/* 標準入力より2つの文字列を入力し、文字数を比較する。比較した結果は次のように標準出力する。 1つ目に入力した文字列が大きい場合:1つ目の文字列>2つ目の文字列 2つ目に入力した文字列が大きい場合:1つ目の文字列<2つ目の文字列 2つの文字列が同じ場…

C言語 文字列3(文字列の比較)

/* 標準入力よりパスワード(文字列)を入力し、char型配列に初期化したパスワード(文字数)と比較し、一致した場合は"パスワード一致"、一致しない場合"パスワード不一致"と出力する。 */ #include <stdio.h> int main(void){ char password[] = "iidabashi"; char moji</stdio.h>…

C言語 文字列2(文字列の連結)

/* 標準入力より2つの文字列を入力し、文字数を数える。2つの文字列合計文字数が20文字以内の時は、2つ目に入力した文字列の後ろに1つ目の文字列を連結して出力する。 */ #include <stdio.h> int main(void){ int i = 0, j = 0; char mojiretu1[256], mojiretu2[256]</stdio.h>…

C言語 文字列1(文字列のコピー)

/* 標準入力より文字列を入力し、別の文字列をにコピーして出力する。 */ #include <stdio.h> int main(void){ int i; char data1[255], data2[255]; printf("コピー元文字列の入力==>"); scanf("%s", data1); for(i = 0; data1[i] !='\0'; i++){ data2[i] = data1[i]</stdio.h>…

C言語 ポインタ9(ポインタを引数とする関数の作成3)

/* 要素数5の整数型配列に整数を5つ入力し昇順にソートし出力する。入力、ソート、出力の関数を作成する。 */ #include <stdio.h> void minmax(int *p); void shuturyoku(int *p); void nyuuryoku(int *p); int main(void){ int seisu[5]; nyuuryoku(seisu); printf("</stdio.h>…

C言語 ポインタ8(ポインタを引き数とする関数の作成2)

/* 整数を5つ入力し配列に代入し、最大値と最小値を探し出力する。ポインタを引数とする関数を作成する。 */ #include <stdio.h> void minmax(int *p); int main(void){ int seisu[5]; int *p_seisu; p_seisu = seisu; for(; p_seisu < seisu + 5; p_seisu++){ printf</stdio.h>…

C言語 ポインタ7(ポインタを引き数とする関数の作成)

/* 2つの整数を入力し、データを交換後出力する。 */ #include <stdio.h> int seisu1,seisu2; void koukan(int *a, int *b); int main(void){ printf("整数==> " ); scanf("%d", &seisu1); printf("整数==> " ); scanf("%d", &seisu2); koukan(&seisu1, &seisu2</stdio.h>…

C言語 ポインタ6(ポインタを使った配列のソート)

/* 配列の要素を降順に並べ替えて出力する。ソートと出力にポインタを使用する。 */ #include <stdio.h> int main(void) { int i, j, tmp = 0, n = 5; double d[] = {160.7,162.8,155.5,168.3,160.1}; double *p; p = d; printf("---ソート前---\n"); for(i = 0; i < </stdio.h>…