スクールバス管理システム
は、C言語で関連する知識を学習し、次の主な機能(以下に限定されない)を含むスクールバス管理システムを設計します。
関連情報の追加(プレート番号、座席数、運転者名、連絡先情報など)、スクールバス情報の照会、スクールバス情報の削除(スクールバスの廃棄など)を含むスクールバス情報
の管理の実現、サイト情報の追加を含むバスステーションの管理の実現、サイト情報のクエリ、サイト情報の削除など;
ファイルを介したスクールバス情報のストレージの
実現; 各キャンパスに対応する異なるスクールバスの割り当てと管理の実現(たとえば、青山キャンパスには2つのスクールバスが必要、紅山キャンパスには1つのスクールバスが必要、黄家湖キャンパスには3つのスクールバスが必要) );
スクールバス予約機能を実現すると、キャンパス内の生徒と従業員は、入力によって翌日までに必要なスクールバスの数を計画し、スクールバスの適切なスケジュールを達成し、スクールバスの運転手が適切なホイールブレークを行うことができます(プロンプト、各車またはドライバーに車を追加できます)ステータス記号)
トピックの要件:
C言語で書かれている必要があり、C ++またはその他の高度な言語向けに設計されたコースは無資格です。
簡単なコンソールプログラムを使用して、背景色などを変更できます。グラフィカルなプログラミングは必要ありません。
コンパイルシステムに付属するライブラリ関数のみを使用し、sqlite.dllなどのダイナミックリンクライブラリは使用できません。
私はJava、C言語、C ++、Python、データ構造などのコース設計を担当し、ソースコードとデータベースについて非公開で話します。WeChatに連絡してください:15813406574
このプロジェクトのすべてのコードを必要とする人は、常にオンラインでWeChatにプライベートチャットを行います
次に、効果と重要なコードの表示を見てみましょう。
コード表示の一部(必要に応じて、WeChat:15813406574を追加できます):
1 int write_bus() 2 { 3 FILE * fp; 4 if((fp = fopen(" School bus information.txt "、" wb + "))== NULL)// wb + Create a new binary file、Create a new file、the content contains the contentクリア、読み取りと書き込みを許可 5 { 6 puts(" Fail to open file!" ); 7 exit(0 ); 8 } 9 10 BusList p = b-> next; 11 while (p) 12 { 13 fwrite(p、sizeof(BusNode)、1 、fp); 14 p = p-> next; 15 } 16 fclose(fp); // ファイルを閉じると、データストリームがディスク 17に保存されます printf(" スクールバス情報が書き込まれます\ N " ); 18 return 1 ; 19 } 20 21 ///////////// スクールバスの構造をドキュメントから読み取る////////// 22 int read_bus() 23 { 24 FILE * fp; 25 if((fp = fopen(" School Bus Information.txt "、" rb + "))== NULL)// rb +はバイナリファイルを開き、ファイルが存在する必要があり、読み取りと書き込みを許可する 26 { 27 puts(" Fail to open file!" ); 28 exit(0 ); 29 } 30 BusList p = b; 31 while(!feof(fp))// デバッグはfeofがもう一度読み取ることを見つけるので、freadの戻り値を追加して判断します 32 { 33 BusNode tmp; 34 if(fread(&tmp、sizeof(BusNode)、1 、fp) ) 35 { 36 BusListInsert(&b、tmp.data); // fscanfの戻り値を決定し、データが正常に読み取られたことを示します 37 } 38 } 39 fclose(fp); 40 printf(" スクールバス情報の読み取りが完了しました!\ N " ); 41 return 1 ; 42 } 43 44 ///////////// サイト構造データをドキュメントに 保存45 int write_site() 46 { 47 FILE * fp; 48 if((fp = fopen(" site Information.txt "、" wb + "))== NULL)//wb +新しいバイナリファイルを作成すると、既存のファイルが消去され、読み取りと書き込みが可能になります 49 { 50 puts(" Fail to open file!" ); 51 exit(0 ); 52 } 53 54 SiteList p = s-> next; 55 while (p) 56 { 57 fwrite(p、sizeof(SiteNode)、1 、fp); 58 p = p-> next; 59 } 60 fclose(fp); // ファイルを閉じると、データストリームがディスクに保存されます 61 printf (「サイト情報が書かれています!\ N" ); 62 return 1 ; 63 } 64 65 ////////////// サイト構造をドキュメントから読み取る/////////// 66 int read_site() 67 { 68 FILE * fp; 69 if((fp = fopen(" Site Information.txt "、" rb + "))== NULL) 70 { 71 puts(" Fail to open file!" ); 72 exit(0 ); 73 } 74 SiteList p = s; 75 int i = 1 ; 76 while(!Feof(fp))// デバッグにより、feofがもう一度読み取ることが判明したため、freadの戻り値を追加して判断します 77 { 78 SiteNode tmp; 79 if(fread(&tmp、sizeof(SiteNode)、1 、fp)) 80 { 81 SiteListInsert(&s、tmp.date、i); // fscanfの戻り値を判別し ます。これはデータの読み取りが正常に行われたことを示します82 i ++; SiteNum ++ ; 83 } 84 } 85 fclose (fp); 86 printf("サイト情報を読む!\ n "); printf(" \ n "); printf(" \ n " ); 87 return 1 ; 88 }