【卒業制作】教師情報管理システムC言語プログラム【ソースコード+論文】

目次
目次 I.
テーマ選定の背景 1
1.1 主な課題と技術要件 1
1.2 基本的な考え方 1
2.1 機能設計の考え方とフローチャート 2
2.1.1 プログラムの基本的な機能と流れ 2
2.1.2 主要な機能の構造と流れ 2
2.2 いくつかの主要な機能の流れチャート 3
2.3 パラメータ設定の説明 5
2.3.1 構造体変数 5
2.3.2 整数変数 n、m 5
3. プログラムと関数の説明 5
3.1 データ構造の設計 5
3.2 情報の初期化とメニュー入力モジュール 5
3.3 教師情報の表示モジュール 7
3.4 変更教師情報の取得とクエリモジュール 8
3.5 教師情報の追加モジュール 10
3.6 従業員番号による並べ替えモジュール 11 3.7
教師情報の削除モジュール 12
3.8 管理システム終了モジュール 12
3.9 メイン機能モジュール 13
4. 結果分析 14
4.1 情報の初期化とメニュー入力モジュール 14
4.1 .1 ログインインターフェイス 14
4.1.2 インターフェイスの選択 15
4.2 教師情報の表示モジュール 16
4.3 教師情報の変更モジュール 17
4.4 教師情報の追加モジュール 18
4.5 従業員番号による並べ替えモジュール 19
4.6 教師情報のクエリモジュール 20
4.7 教師情報モジュールの削除 21
4.8 モジュールを保存して終了 22
4.9 モジュールを終了 22
V. まとめと体験 23
参考資料 26
ソースプログラム 27

1. 主題の背景
1.1 主な問題と技術的要件
大学の教育情報は教育プロセスにおける重要なフィードバックであり、これらの情報の分類と分析は、教育の質の監視と教育プロセスの管理において重要な役割を果たします。情報技術の発展は生活のあらゆる面に浸透しており、教務管理システムの導入により、教務管理がより便利かつ効果的に行えるようになり、私たちのチームではC言語の知識を活かしてプログラムを作成し、教職員情報の管理を実現しています。
このトピックは、主に教職員の基本情報の入力、表示、変更、追加、問い合わせ、並べ替えに関する管理システムの技術的要件を満たすことを目的としています。
1.2 基本的な考え方
学習した C 言語の知識、特に配列構造とリンク リストの包括的な使用を使用し、構造を使用して各教師の基本情報を格納し、リンク リストを使用してすべての構造を接続し、リンク リストを使用して教師情報に対する全般的な操作を実行します。switch文に基づいてメイン関数を設計し、表示、変更、追加、クエリ、ソートなどの各モジュールのサブ関数を呼び出して必要な機能を実現します。

2. アルゴリズム設計
2.1 関数設計の考え方とフローチャート
メイン関数と複数のサブ関数からなる C 言語の関数をコンパイルすると、メイン関数が残りのサブ関数を呼び出して、入力、変更、ソート、加算を実現します。 , クエリ、削除、ファイルとして保存、およびファイルからの情報の読み取りを行います。

2.1.1 基本機能とプログラムの流れ

図1 プログラム機能の概念図

2.1.2 主な機能の構造と処理

図2 メイン関数のフローチャート

2.2 主要な機能のフローチャート

While(p0->next!=NULL)
P1=p0->next
While(p1!=NULL)

No p0->no>p1->no
Yes
Exchange p0 p1 と p0->next と p1->next
P1=p1->next
P0=p0->next
図 3 ジョブ番号でソートされた NS フローチャート

P=ヘッド

Yes Head!= NULL
No
情報の出力
P=p->next
While(p!=NULL)
図 4 教師情報の出力 NS フローチャート
インターフェイス情報とプロンプトの
入力 従業員情報の入力
while(p1->num!=0)
n=0 ,n++

Yes n==1
No
p1=head p2->next=p1
p2=p1
新しいスペースを開く 入力情報
p2-next=NULL
図 5 入力情報 NS フローチャート

図 6 教師情報を照会するための NS フローチャート

図7 教師情報変更のNSフローチャート
2.3 パラメータ設定手順
2.3.1 構造体変数
struct Teacher
{ long no; char name[10]; char Position[10]; char sex[5]; floatスコア; struct Teacher *next;構造体 Teacher を使用して、教師の基本情報を保存しますこのうち、noは教師の職番号、nameは教師の名前、positionは教師の役職、sexは性別、scoreは3科目の総合点です。2.3.2 整数変数 n、m n を使用して、リンクリストに追加された教師情報の数を記録します。m はメニューオプションで、main 関数の m の値を判断してどの関数を呼び出すかが決まります。3. プログラムと関数の説明3.1 データ構造の設計教師の基本情報を格納する構造体を使用します。構造は次のとおりです: struct Teacher /構造体の型を定義します struct Teacher / { long no; / no をlong integer として定義します/ char name[10]; /文字配列名を定義/ char location[10]; /

















文字配列位置を定義/
char sex; / sex を文字変数として定義/
float スコア; /スコアを浮動小数点変数として定義/
struct Teacher *next; / next を struct Teacher へのポインタとして定義/
};
int n,m ; / Define n,m integer variables /
3.2 情報の初期化とメニュー入力モジュール
このモジュールはプログラム実行時に最初に表示されるインターフェースであり、主に美しさを追求しています。同時に、システムの機密性を確保するために、このページにはパスワードを入力する機能も追加されました。利用者が入力した文字列とシステムが設定した文字列を比較することで、利用者にシステムの利用権限があるかどうかを判定する。

void paw()
{ int k; 文字 mm[10]; システム(“cls”); printf(“\n\n\n\n”); printf(“\t”); for(k=0;k<15;k++) printf(“★☆”); printf(“★”); printf(“\n”); for(k=0;k<2;k++) printf(“\t☆\t\t\t\t\t\t\t ☆\n”); printf(“\t☆ 教师信息管理系统 ☆\n”); printf(“\t☆\t\t\t\t\t\t\t☆\n”); printf(“\t☆\t\t 制作者:www\t\t\t ☆\n”); printf(“\t☆\t\t\t www\t\t\t ☆\n”); printf(“\t☆\t\t\t www\t\t\t ☆\n”); for(k=0;k<2;k++) printf(“\t☆\t\t\t\t\t\t\t ☆\n”,36,36); printf(“\t”); for(k=0;k<15;k++) printf(“★☆”); printf(“★”); printf(“\n\n\t登录密码:”); 取得(mm);
























if(strcmp(mm,"Xinji 111")!=0)
{ printf("入力したパスワードが間違っています。再入力してください\n"); system("pause"); paw(); } } /ログイン初期インターフェイス*/ void start() { system("cls"); printf("\n\n\n\n\n"); printf("\t************ * ************************************************* ** **\n\n"); printf("\t\t\t教師管理システムへようこそ\n\n"); printf("\t************** ************************************************* *** \n\n"); printf("\tファイル情報をロードするかどうか:\t\t\t"); printf("1, はい\t2, いいえ\n\n\n"); printf( "\ tメニューを選択してください:"); scanf("%d",&m); } /メニュー インターフェイス**/ void Index() { system("cls");






















printf("\n\n\n\n");
printf(" --------------------------------- ------------------------------------------\n");
printf(" \ tようこそ 教師管理システムを使用します*\n\n");
printf("\t 1, 教師情報の表示 2, 教師情報の変更 3, 教師情報の追加\n\n");
printf("\t 4, 教師の削除情報 5 、教師情報の並べ替え 6. 教師情報のクエリ\n\n");
printf("\t 7, 保存して終了\t\t8, 終了\n\n");
printf(" ------ -------------------------------------------------- -- --------------\n\n");
printf("メニューを選択してください:");
scanf("%d",&m);
}
3.3 教師情報表示モジュール
システム内にすべての教師の情報がテーブル内の対応する位置に 1 つずつ出力されます。
void print(struct Teacher head) /印刷関数の定義/
{ system("cls"); /画面クリア関数/ printf("\n\n\ t教師管理システムへようこそ

\n\n");
struct Teacher *p; / p を struct Teacher type へのポインタとして定義/
printf("\t\t┏━━━┳━━━┳━━┳┳━━┳━━┓\n");
printf (" \t\t┃役職番号\t┃名前\t┃性別\t┃年齢\t┃評価┃\n");
printf("\t\t_____━━╋━━━╋━━━━ ╋ ━━━╋━━━┫\n”);
p=head; / p は最初のノードを指します/
if(head!=NULL) /ヘッドポインタが null アドレスでない場合/
do
{ printf(”\ t \t ┃%-6ld ┃%-6s ┃%-6s ┃%-6c ┃%-6.2f ┃\n",p->no,p->name,p->position,p->sex,p - >score); printf("\t\t_____━━╋━━╋━━━╋━━━╋━━┫\n"); p=p->next; /次のノードをポイントします。 p へのポインタ/ }while(p!=NULL); / p に格納されたアドレスが空でない場合にループ本体を実行/ printf("\t\t┗━━━┻━━┻┻━┻┻ ━━━┻━━━┛\n"); system("pause"); /機能を続行するには任意のキーを押してください/ }






おすすめ

転載: blog.csdn.net/qq_19657403/article/details/130180747