• 締切済み

C言語による顧客管理シスステム作成

C言語を使って、顧客管理システムを作ろうと思うのですが・・・ まず、事前に外部ファイル「user.txt」を用意しておく。 次に、プロンプトの画面で、 1を入力したら、新規登録に移り、顧客コード、名前、年齢、生年月日を入力して、登録の判断で「Y」を入力したら、 外部ファイルに書き込まれるようにする。 2を入力したら、参照に移り、登録済みの顧客コードを入力してから、参照の判断で「Y」を入力することで、 登録の際に外部ファイルに書き込んだ情報を表示できるようにする。 3を入力したら、削除に移り、登録済みの顧客コードを入力してから、削除の判断で「Y」を入力することで、 登録の際に外部ファイルに書き込んだ情報を削除できるようにする。 外部ファイルに書き込まれる情報の並びとして、 「5桁の顧客コード,漢字表記の名前,半角の年齢2桁,半角の生年月日8桁」としたいです。 また、外部ファイルに10行以上(登録10回以上)書き込まれる場合は、エラーコメントを表示させたいです。 長くなりましたが、お分かりになる人、また参考になるサイトを知っている人、 よければ教えてください。

みんなの回答

回答No.4

No.1です >「お分かりになる人」と言うのは、実際のプログラムについてです。 No.1の冒頭から読み直してください。 「プログラム」を作るためには「設計」が必要です。 その「設計」がなくてプログラムなど組めません。 「業務」とは書きましたが、本音は「課題」と思ってますけど。 で、それを踏まえて続けて書けば「課題の丸投げ」という結論になるのですが。 ちょっと話を戻しますが「全部わからない」というのは論外です。 前述のように「設計」し、ある機能を作る必要が出てきたが、「プログラムに必要な関数がわからない」、「プログラムしたがうまく動いていない」というのなら話はわかります。 この質問とNo.1への返答では最初からすべてを放棄しているようにしか見えません。 質問に「必要な機能(処理)」は明示されています。 それを実現するためにはさらにどのような機能に細分化すべきか、細分化した機能を実現するためにはどういった関数を使用すべきか、といったことを考えるのが先です。 質問から分かっていて初めに行うべきことは ・キー入力 ・画面表示 です。次が ・データのファイルへの読み書き になるでしょう。 やるべきことはまだまだあります。 そういった機能を実現する方法を一つずつ考えていってください。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

わかっていない様なのではっきり言いますと、C言語の入門レベルのプログラムです。なので、簡単すぎてそのものズバリな参考サイトなんてものはありません。もっと高度な顧客管理システムのソースコードならネット上でいくつも見つかりますが(C言語ではありません)。 C言語の入門書が終了してたら組めるレベルですので、C言語の入門書をちゃんと読んでください。もし今読んでいる本で作れないなら本が悪いので違う本を買ってください。

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

構造体、配列(ポインタ)、リスト構造、ファイル読み書き あたりの練習問題で使われそうな課題ですね というか、他人にC言語の基礎を教えたときに同じような課題を出した記憶があります C言語の解説書・入門書を読めば方法等調べられそうです

回答No.1

何を質問なさりたいのでしょうか? 質問からだけだと「設計も満足にされていない」と感じてしまいますが。 きつい言い方ですけど、「学校の課題」でも問題がありますけど「業務として開発」だと問題外ですよ。 ・開発環境 ・動作環境 ・表示方法 ・入力方法 ・データフォーマット etc…… 「基本設計」として、考えることは山ほどあります。 そして、設計が違えば、製造で必要なもの(関数など)も変わってきますよ。 >お分かりになる人、 何を「わかる人」が必要なのでしょうか? 「設計」でしょうか? 「製造」でしょうか? それとも別の事象でしょうか? >また参考になるサイトを知っている人 それぞれの細分化された処理に対してなら、このサイトの質疑にそれこそ山ほど参考になるものが存在しています。

zanzanzinz
質問者

補足

「お分かりになる人」と言うのは、実際のプログラムについてです。

関連するQ&A

  • HTML等を使って顧客管理したいのですが。

    ブラウザを使って入力して顧客管理をしたいのですが、それに必要なサーバーの相場はどれくらいでしょうか? 私が考えているのは、ID、パスワードを担当者に配布し、その担当者が離れたPCから顧客情報を入力するといったシステムを考えています。またその顧客情報を参照することも可能なサーバーが欲しいのですが、相場はどれくらいでしょうか? また、そのサーバーを管理するのは難しいことでしょうか? そのサーバーをどこから購入したらよいかも考えてつきませんのでアドバイス等もありましたら、よろしくお願いいたします。

  • 顧客管理票

    顧客管理を エクセル で行いたいと思うのですが、 お薦めの フリーソフト は無いでしょうか? また、このように行えば良いのでは? というものは無いでしょうか? 件数は当面は30件くらい入れば良いと考えています。最終的には600件まで出来れば良いのですが 内容として考えているのは、 ・顧客ごとに顧客コード番号を付ける ・顧客コード番号を入力すると、顧客名、住所、TEL/FAX番号、業務内容  担当者・メアド、売上額、その他色々な情報を記入した、一つのシートが  A4サイズの書類形式(顧客管理カードのような形)で出てくる ・印刷することも考えているので、A4サイズにまとまるように表示される というものです。

  • Excelを使った顧客管理で、このような機能は作れますか?

    お世話になります。 現在、Excelを使って、顧客を管理しています。 もっといろんな切り口で、情報を管理・分析したいのですが、 下記のような処理がExcelで可能なのか、またどのように 使えば出来るのかご存知の方お教え下さい。 (私はPC知識が低いです。すいませんが何卒よろしく お願い致します。)  【例】   「顧客リスト.xls」 という1つのExcelファイルがあり ます。以下の情報が入っています。   「顧客リスト.xls」     (1)顧客番号 (2)顧客名 (3)電話番号 (4)住所 (5)最終客ランク (6)最終訪問日    ちなみに 「顧客リスト.xls」に入っている顧客数は200件 前後です。    「顧客リスト.xls」の (2)顧客名 は、以下の 顧客別の 「対応履歴xls」ファイルとハイパーリンク機能でリンクさ れています。   (顧客別)「対応履歴xls」  (1)顧客名 (2)対応日付 (3) 対応内容  (4)最終客ランク   それでは質問です。 (1) 「顧客リスト.xls」ファイルの項目の中にある「(6)最終対 応日」は、「対応履歴xls」ファイルの「(2)対応日付」の 一番最近(最後)に入力された情報と同じです。     「対応履歴xls」ファイルの「(2)対応日付」欄の一番最近 (最後)に、月日を入力すると、自動的に「顧客リスト.xls」 ファイルの「(6)最終訪問日」に表示されるように出来ないで しょうか? (2) 上記(1)と似ているのですが、「顧客リスト.xls」ファイ ルの項目の中にある「(5)最終客ランク」は、「対応履歴xls」 ファイルの「(4)最終客ランク」欄の一番最近(最後)に入力 された情報と同じです。     そこで(1)同様に、「対応履歴xls」ファイルに情報を入力 すると、「顧客リスト.xls」ファイルに反映されるようには 出来ないでしょうか?     (1)(2)ともに、「顧客リスト.xls」ファイルの中で  条件検索させることを想定しています。     「顧客リスト.xls」ファイルの中の「(5)最終客ランク」が 「Aランク」の顧客だけ集計するとか、「(6)最終訪問日」が 「○年○月○日」より過ぎてしまってる顧客だけ集計させ る、、などです。 (3) 「顧客リスト.xls」ファイルから、ハイパーリンクで「対応 履歴xls」ファイルに飛んだ後、また「顧客リスト.xls」 ファイルに戻りたい場合、毎回、「対応履歴xls」ファイル を保存して、又 1から「顧客リスト.xls」ファイルを開か なければいけません。     「対応履歴xls」ファイルを閉じると、すぐに元の「顧客リス ト.xls」ファイルが開いている状態に戻る方法はないでしょ うか? (4) アプリケーションソフトなどで見かけるのですが、月日の 入力を手で打ち込むのでなく、どこかをクリックすると、 カレンダーが開いて、そこから月日を選ぶと、いうような 操作をExcel上でおこなうということは可能でしょう か? 長々とすいません。 ご回答よろしくお願い申し上げます。

  • 顧客管理ソフトでオススメ

    顧客管理ソフトで基本的な顧客情報を入力することができ そのデータに連結するフォルダか何かに別ファイルデータを保存するというものはあるのでしょうか? 使い方例は 一般顧客情報入力(住所、名前、販売したもの、価格など・・・) そのデータを調べたときに、その顧客に対して実務で使った資料などをPDFか何かにして入れてあるところと連動したいのです(現場地図や作業台帳や見積書や打ち合わせ記録など) もしオススメソフトがあれば教えて欲しいです

  • EXCELを使って顧客管理

    マクロ・VBA初心者です。 EXCELで顧客管理をしたいと思います。 顧客台帳として 一行に 新規登録日、会員番号、氏名、フリガナ、郵便番号、住所、電話番号、メールアドレス と あ行  か行 ・・・・といったように入力してあります。 会員番号については、あ行から1001 か行2001から番号がふってあります。また、他支店分にかんしては、頭にSやTをつけた形で同じように会員番号を振り分けてあります。 また、別ファイルに売上台帳があり、現在は 売上日、会員番号、氏名、年齢、担当者、新規OR旧、売上金額、チケット使用の有無 を入力しています。 このファイルは縦台帳で売上日をどんどん縦に入力している状態です。 また、VLOOKUP等を使用して、会員番号を入力すると 氏名、年齢が表示されるようにしてあります。 これらを使用してやりたいことが (1)売上台帳に入力されたら、自動的に会員番号の隣の欄に来店回数を表示したい。 (2)会員台帳に前回来店日を表示したい。 (3)年代別・年齢別の売上集計を出したい。 (4)会員台帳・売上台帳の入力フォームを作りたい。 これが、EXCELで可能なのかわかりませんが、よろしくお願いします。

  • 「ばっちり顧客管理」のデータを複数人で管理

    「ばっちり顧客管理」の顧客情報DBをファイルサーバーに置いて、複数のPCから同時に入力・閲覧はできますでしょうか? ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • 顧客管理システムへの顧客企業情報入力について

    顧客管理システム(CRM)への顧客企業情報入力について教えてくださいますでしょうか。 小職、中小企業にて営業サポートをしております。 新卒で今の会社に入り、四年目の社員です。 その為、他の企業の方がどのように実施されているのか 教えていただきたく質問させていただきます。 ■質問内容 CRMへ顧客・見込み顧客の企業情報を「登録」・「照合」・「更新」する際 どのような手法を取られていらっしゃいますでしょうか。 ※ちなみに登録したい情報は以下になります。 ・企業名 ・本社の都道府県 ・設立年月 ・資本金 ・従業員数 ・拠点数 ・業種 ■ご質問の背景 背景としては、 自社の商品がどのような企業に最適なのかを分析する為です。 現在私が務める会社では、お問い合わせや、広告媒体からの資料ダウンロード、代理店 などの引き合いから発生するお客様へアプローチをしております。 その際、発生するお客様の情報は、現在当社が利用しているCRMへ入力をしています。 してはいるのですが、その方法として 「人が」企業のwebサイトを検索し、入力するという手法をとっております。 その結果出てくる課題としては ・情報の不足(情報源がwebサイトのみなので確認が取れない場合、空欄にしております) ・情報の不整合(日本語が違っていましたら申し訳ございません。具体例をあげると 業種の分類は、入力者が任意で行っている為CRM上で「サービス業」に分類されるお客様が 多数を閉めているという結果になってしまっています) ※人材サービスもレジャー施設運営も同一の「サービス業」と分類されてしまっています。 CRMへの顧客情報の登録方法のありかた。 また、顧客情報の取得方法をご教授ねがえませんでしょうか。 宜しくお願い致します。

  • 顧客データの結合

    タイトルのとおりで、顧客のデータを結合したいと思っているので、よろしくお願いします。 現在、複数店舗にて顧客情報をネットワークなどで共有せず、店舗・店舗で個々に顧客情報を作成しております。 しかし、店舗毎の顧客情報だと、お客様にも「また新規で登録するの?」などの不満もあり、 また管理する側も重複してしまう顧客の情報が多々あったりし、管理の方が大変になってしまいました。 顧客情報は顧客管理ソフトやその他ソフトなど店舗ごとで違うソフトを使っているのですが、 業者に頼んで結合するのではなく一旦エクセルなどにデータをエクスポートし、なんとか顧客情報の一元化が出来ないかと思っております。 ※各店舗の顧客データは  ・名前  ・住所  ・電話番号  ・性別  ・生年月日  ・売上履歴  ・来店履歴 などのデータがあります。 通しの番号などはないので、名前などで同じ人の情報を1つにまとめたいと思っております。  ファイルA  [名前] [生年月日] [売上履歴] [来店履歴]  [担当]   鈴木  2月1日   3000円   1月1日   山田 田中  3月1日   2000円    1月3日   山田  ファイルB  [名前] [生年月日] [売上履歴] [来店履歴]  [担当]   鈴木  2月1日   5000円   12月22日   木村 太田  5月1日   2000円    1月3日   木村 このようなファイルがあるとして、鈴木の「売上履歴」「来店履歴」 「担当」など項目が同じで、内容が違うデータも結合をし、一つの項目に多数のデータをと思っております。このような結合は可能でしょうか? あまり、このようなことをしたことがなくわからなかったので、質問をさせていただきました。 わかる方がいらっしゃったら、回答のほど、よろしくお願いいたします。

  • C言語の課題でまたまた悩んでいます。

    前にも、投稿して一部はうまくいきその後自力で何とかしようと頑張ったのですがやはりできませんでした。そこでもう一度皆さんの力を借りたいと思い投稿しました。 改めまして、 課題は構造体で顧客情報を確保(キーボードで1~50の顧客情報の数を入力)し、分岐点(登録、一覧表示、削除、ファイル出力、終了)に行き、それぞれを行なうプログラムです。 登録では、名前、ふりがな、電話番号を入力(idは1から順につける)。名前、ふりがなの型はcharで確保して入力もそのままなんですが、電話番号の型はcharにして0~9までとハイフンのみ入力可能にし、他の文字を入力したらエラーを返すようにするみたいなんですが方法がわからないです。 一覧表示では、id、名前、ふりがな、電話番号をそれぞれ表示します。今のところ問題はないです。 削除では、指定したidを削除し、削除したidは再利用はできないがその分新たなidで顧客情報を入力することができる。 記述してエラーは出なかったのですが削除はされません。 ファイル出力では、csv形式で出力するみたいなんですが。記述してもエラーが返ってくるばかりでよくわからないです。構造体の出力の場合 、記述の仕方が違うと思うのですが???の部分など全体的に記述の仕方がわかりません。 ちなみに、私が記述したのは下記のとおりです。 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include "top.h" #include "ichiran.h" #define size_id (4) #define size_name (24) #define size_huri (24) #define size_tel (16) struct kokyaku { long id[size_id]; char name[size_name]; char huri[size_huri];   char tel[size_tel];   struct kokyaku *next; }; int main() { int kokyaku , bunki , sakuzyo , i , j; //顧客情報確保の件数 メニュー画面での分岐 削除id番号 顧客情報の件数と比較 long id = 1; //顧客番号 struct kokyaku *kok; printf("顧客情報がありません。何件分確保しますか?(1 - 50)"); scanf("%d",&kokyaku); system("cls"); if(kokyaku < 1 || kokyaku > 50) { printf("<<入力範囲にありません>>\n"); printf("<<処理を中断します>>\n"); return 0; }else{ kok = (struct kokyaku *)malloc( sizeof(struct kokyaku) * (kokyaku)); } i = 0; while(bunki = 5){ printf("%s", top1); printf("処理区分>"); scanf("%d",&bunki); system("cls"); switch(bunki) //メニュー画面での分岐 { case 1: //登録 if(id <= kokyaku)     {     printf("***** 顧客登録画面 *****\n");     *(kok[i].id) = id;     printf("氏名  :");     scanf("%s", kok[i].name);     printf("ふりがな:");     scanf("%s", kok[i].huri);     printf("電話番号:");     scanf("%s", kok[i].tel);     id++;     kok[i].next = &kok[i+1];     i++;     }else{ printf("登録がいっぱいになりました");   } break; case 2: //一覧表示 printf("%s\n", ichiran1); printf("%s\n", ichiran2); j = i; i = 0; while(i < j) { printf("%d%5s%25s%25s\n", *(kok[i].id) , kok[i].name , kok[i].huri , kok[i].tel); i++; } printf("%s\n", ichiran2); break; case 3: //削除 scanf("%d",&sakuzyo); for(i = 0;i < kokyaku || i < sakuzyo;i++) { if(i == sakuzyo - 1)   {  kok[i-1].next = &kok[i+1];  }  }  kokyaku++;     break; case 4: //ファイル出力 FILE *fp; if((fp = fopen("kokyaku.csv", "w")) == NULL ) { return 0; } while(fgets(???) != NULL) { printf("%s", ???); } fclose(fp); printf("プログラムが終了しました。\n"); return 0; break; case 5: //終了     return 0; break;     default: //エラー printf("<<処理区分エラー>>"); break; return 0; } } return 0; } ちなみにエラーが出ている場所は削除とファイル出力の部分のみです。 完成にはまだ遠くおかしなところがたくさんあると思います。ご指摘よろしくお願いします。

  • 顧客管理データーの重複処理について

    顧客管理ソフトを使用していますが、同じ顧客の肩を複数回登録してしまった場合。 確認して同じデーターは削除するようなことはできるのでしょうか? 件数が多いと筆まめなどでもダブって入力されていることがありますが、 データーを整理したいと考えています。 何かしらアドバイスをいただけないでしょうか? ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。