河南理工大學計算機學院
《C語言程序設計》課程設計報告
題目: 學生信息管理系統
專業: 計算機科學與技術
班級: 計算機XX班
學號: 311009033232
姓名: *****
日期:2012年3月21日
1.2意義
熟悉C語言程序的編程環境、熟練應用Visual C++ 6.0進行C語言編程、糾正、改錯、運行。
掌握C語言的所有數據類型,熟練的定義使用整型、實型和字符型的變量。
掌握C語言的所有算法,并且能熟練使用,進行各項操作。
學習并掌握C語言定義函數的基本方法、聲明函數及調用函數的方法和過程。
掌握文件和文件指針的概念以及文件的定義方法,認識文件打開、關閉、讀、寫等文件基本操作函數。
掌握結構體類型變量、數組的定義和使用。
1.3目標
熟悉C語言程序的編輯、編譯鏈接和運行的過程,至少能夠用一種編譯器較熟練地編輯、編譯及調試程序。
掌握C語言數據類型,如何定義一個整型、字符型和實型的變量,以及對它們賦值的方法。
熟練運用if語句和switch語句以及嵌套應用。涉及循環調用的,了解并掌握三種控制語句while、do-while和for語句。
學習并掌握C語言定義函數的基本方法、聲明函數及調用函數的方法和過程。
2.1 功能模塊設計
模塊一:頭文件,變量定義,函數的聲明
對系統所使用的變量進行定義,對函數進行聲明
模塊二:學生信息系統使用幫助
聲明函數void help(),對整個系統進行使用說明
模塊三:錄入學生信息
聲明函數void readfile(),說明一個文件指針FILE *fp 打開文件"student.txt"
模塊四:刪除學生信息
聲明void del()實現學生信息刪除,通過學號對比確定要刪除的信息,然后用后一個替換掉。
模塊五:學生信息的查找
聲明void seek()為查找函數,通過switch(item)設定用學號查找,用姓名查找,用成績查找三個分支
模塊六:學生信息按總成績排序
聲明void sort()將錄入學生系按升序排列,用的是“冒泡排序法”實現排序
模塊七:顯示學生信息
通過display()函數輸出學生信息
模塊八:保存信息
通過fp=fopen(“card.dat”, “wb”);寫入信息
模塊九:導出信息
通過fp=fopen(“card.dat”, “wb”);導出信息
模塊九:界面菜單
通過switch(num)調用,以上各函數,實現功能
函數void help(),對整個系統進行使用說明
3、 聲明函數void readfile(),說明一個文件指針FILE *fp 打開文件 “card.dat”
4、聲明void del()實現學生信息刪除,通過學號對比確定要刪除的信息,然后用后一個替換掉。
5、聲明void seek()為查找函數,通過switch(item)設定用學號查找,用姓名查找,用成績查找三個分支
6、 聲明void sort()將錄入學生按升序排列,用的是“冒泡排序法”實現排序
7、 通過fp=fopen(“card.dat”, “wb”);寫入信息
8、 通過fp=fopen(“card.dat”, “wb”);導出信息
9、 通過display()函數輸出學生信息
10、通過switch(num)調用,以上各函數,實現功能
4 源代碼摘錄
#include
#include
#include
#include
#define M 3
#define N 1000
typedef struct stu
{
char xingming[20];
int xuehao;
int chengji;
int gaoshu;
int yingyu;
int jisuanji;
int zchengji;
}STU;
STU stu[N];
int renshu=0;
void menu();
void fhzjm()//返回主界面函數
{
char biaozhi[20];
printf("\n");
printf("還需要操作么?如果需要操作請輸入:yes,否則請輸入:no\n");
scanf("%s",biaozhi);
if(strcmp(biaozhi,"yes")==0)
{
menu();
}
else if(strcmp(biaozhi,"no")==0)
exit