- 1 名前:デフォルトの名無しさん [2008/04/29(火) 09:44:57 ]
- 言語の入門者向け解説スレです。
・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 26 pc11.2ch.net/test/read.cgi/tech/1206196600/ 過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 教えて欲しいのではなく丸投げしたいならこちらへ C/C++の宿題を片付けます 105代目 pc11.2ch.net/test/read.cgi/tech/1208268461/
- 586 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 19:25:26 ]
- >>584
(っ´▽`)っ #include <stdio.h> #include <stdlib.h> #include <string.h> int cmp(const void *elem1, const void *elem2); int existInMaster(void); typedef struct shohinM{ char shohinCode[256]; char shohinName[256]; int tanka; } shohinMaster; int main(void) { int line; line = existInMaster(); if(line == 0){ printf("エラーはありません\n"); } else{ printf("%d行目にエラーがあります\n", line); } return 0; } (続く)
- 587 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 19:26:07 ]
- >>586の続き
int existInMaster(void) { int returnCode = -1; FILE *fp = NULL; char line[1024]; int lineCount = 0; shohinMaster *sm = NULL; char shohinCode[256]; char kokyakuCode[256]; int suryo; int count = 0; int i; fp = fopen("./商品コードマスタ.csv", "r"); fgets(line, sizeof(line), fp); /*1行目は見出し*/ while(fgets(line, sizeof(line), fp) != NULL){ sm = (shohinMaster *)realloc(sm, sizeof(sm[0]) * (count + 1)); sscanf(line, "%[^,],%[^,],%d", sm[count].shohinCode, sm[count].shohinName, &(sm[count].tanka)); count++; } fclose(fp); qsort(sm, count, sizeof(sm[0]), cmp); (続く)
- 588 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 19:26:48 ]
- >>587の続き
fp = fopen("./売上ファイル.csv", "r"); fgets(line, sizeof(line), fp); /*1行目は見出し*/ while(fgets(line, sizeof(line), fp) != NULL){ lineCount++; sscanf(line, "%[^,],%[^,],%d", kokyakuCode, shohinCode, &suryo); for(i = 0; i < count; i++){ if(strcmp(sm[i].shohinCode, shohinCode) == 0){ break; } if(strcmp(sm[i].shohinCode, shohinCode) > 0){ returnCode = lineCount; goto END; } } if(i == count){ returnCode = lineCount; goto END; } } END: return returnCode; } int cmp(const void *elem1, const void *elem2){ return strcmp(((shohinMaster *)elem1)->shohinCode, ((shohinMaster *)elem2)->shohinCode); }
- 589 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 19:35:31 ]
- (っ´▽`)っ
さあ感謝しなさい☆ (っ´▽`)っの足を舐めなさい☆
|

|