




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C+課程設計目 錄一、設計題目與設計目的意義3二、系統(tǒng)分析3三、系統(tǒng)設計4四、調試、排錯、測試、試運行過程5五、 源程序主要代碼7六、 總結及自我評價13七、 參考文獻14一、設計題目與設計目的意義學生信息管理系統(tǒng)設計:內容:(1)系統(tǒng)功能需求:包括學生信息的添加、修改、刪除和查詢;(2)數(shù)據(jù)結構設計:使用結構體類型存儲學生信息數(shù)據(jù),并將數(shù)據(jù)存儲于文件內以方便學生信息管理。(3)系統(tǒng)算法設計并編程實現(xiàn)學生信息的添加、修改、刪除和查詢功能。學生信息管理系統(tǒng)設計的目的意義:鞏固和加深對C+課程的基本知識的理解和掌握。能夠通過文件對數(shù)據(jù)進行操作,包括對文件的打開、關閉、讀取、寫入及重寫等操作。學會函
2、數(shù)的調用,能夠將一個大的程序分解為多個函數(shù),實現(xiàn)模塊化程序設計。學會利用C+語言進行簡單程序設計的基本思路和方法。掌握一個程序編譯、連接、調試的基本技能,提高運用高級語言解決實際問題的能力。二、系統(tǒng)分析選擇Main函數(shù)退出修改查詢刪除插入排序顯示輸入菜單系統(tǒng)功能模塊劃分:三、系統(tǒng)設計:(1)、主函數(shù):調用菜單函數(shù)。(2)、菜單函數(shù):通過switch語句來實現(xiàn)選擇要實現(xiàn)的功能函數(shù)。(3)、輸入函數(shù): 通過打開文件、輸入學生信息、關閉文件、返回菜單來實現(xiàn)學生信息的輸入。(4)、顯示函數(shù):以只讀方式打開文件后讀取文件內容來顯示到計算機屏幕上最后再關閉文件返回菜單。(5)、排序函數(shù):通過起泡法來對所輸
3、入的學生按成績由高到低的順序進行排序。(6)、插入函數(shù):通過將學生信息寫入文件的方式來實現(xiàn)學生信息的插入。(7)、刪除函數(shù): 通過兩個指針變量同時指向一個文件來對文件進行再次賦值來實現(xiàn)刪除功能。(8)、查詢函數(shù):通過學生的姓名與文件中學生姓名的比較找到該學生后在將該學生的所有信息顯示出來(9)、修改函數(shù):通過兩個指針變量同時指向一個文件先找到要修改學生,將其信息輸入后在重新寫入文件。(10)、選擇函數(shù):選擇所要進行的操作。(11)、退出:退出系統(tǒng)。 四、調試、排錯、測試、試運行過程輸入學生信息如圖:排序如圖:插入學生信息如圖:查詢學生信息五、 源程序主要代碼#include <stdio
4、.h>#include <stdlib.h>#include <string.h>int n=5; /*全局變量*/struct student /*定義結構體數(shù)組*/ char num10; char name10; int score;stu3; int menu_select() /*菜單選擇函數(shù)*/ char a; do system("cls"); printf("t*學生成績管理系統(tǒng)*n"); printf("tt1.輸入學生成績n"); printf("tt2.顯示學生成績n&qu
5、ot;); printf("tt3.學生成績排序n"); printf("tt4.插入學生記錄n"); printf("tt5.刪除學生記錄n"); printf("tt6.查詢學生成績n"); printf("tt7.修改學生成績n"); printf("tt0.退出n"); printf("t*n"); printf("n"); printf("給出你的選擇(0-7):"); a=getchar(); while
6、(a<'0'|a>'7'); return(a);void input() /*定義輸入函數(shù)*/ int i; char c; void menu(); FILE *fp; if(fp=fopen("student message","w")=NULL) printf("cannot open the filen"); exit(0); printf("學號 姓名 分數(shù) (需要終止輸入時請在該行結尾輸入n)n"); for(i=0;i+) scanf("%s %
7、s %d",stui.num,,&stui.score); fwrite(&stui,sizeof(struct student),1,fp); c=getchar(); if(c='n') break; n=i+1; fclose(fp); system("pause"); menu();void display() /*定義顯示函數(shù)*/ int i; void menu(); FILE *fp; if(fp=fopen("student message","r")=NUL
8、L) printf("cannot open the filen"); exit(0); printf("t學號t姓名t分數(shù)n"); for(i=0;i<n;i+) fread(&stui,sizeof(struct student),1,fp); printf("t%st%st%dn",stui.num,,stui.score); fclose(fp); system("pause"); menu();void sort() /*定義排序函數(shù)*/ int i,j; struct s
9、tudent temp; void menu();FILE *fp;if(fp=fopen("student message","r")=NULL) printf("cannot open the file:n"); exit(0); for(i=0;i<n;i+) fread(&stui,sizeof(struct student),1,fp); for(j=0;j<n-1;j+) for(i=0;i<n-1-j;i+) if(stui.score<stui+1.score)temp=stui; st
10、ui=stui+1; stui+1=temp;for(i=0;i<n;i+)printf("t%st%st%dn",stui.num,,stui.score);fclose(fp); system("pause"); menu();void insert() /*定義插入函數(shù)*/ int i; struct student st; void menu(); FILE *fp; if(fp=fopen("student message","a")=NULL) printf("cann
11、ot open the file:n"); exit(0); for(i=0;i<n;i+) fread(&stui,sizeof(struct student),1,fp); printf("輸入要插入學生的信息:n"); printf("學號:"); scanf("%s",st.num); printf("姓名:"); scanf("%s",); printf("分數(shù):"); scanf("%d",&st.
12、score); n+; fwrite(&st,sizeof(struct student),1,fp); fclose(fp); system("pause"); menu();void delet() /*定義刪除函數(shù)*/ int i,t; char name10; void menu(); FILE *fp,*fp1; if (fp=fopen("student message","r")=NULL) printf("can not open file!n"); exit(0); for(i=0;i&l
13、t;n;i+) fread(&stui,sizeof(struct student),1,fp); if (fp1=fopen("student message","w")=NULL) printf("can not open file!n"); exit(0); printf("請輸入要刪除學生的姓名:"); scanf("%s",name); for(i=0;i<n;i+) if(strcmp(,name)=0) t=i; for(i=0;i<t;i+)
14、 fwrite(&stui,sizeof(struct student),1,fp1); for(i=t+1;i<n;i+) fwrite(&stui,sizeof(struct student),1,fp1); printf("該學生信息已刪除!nn"); fclose(fp); fclose(fp1); system("pause"); menu();void query() /*定義查詢函數(shù)*/ int i; char a10; void menu(); FILE *fp; if(fp=fopen("student
15、message","r")=NULL) printf("cannot open filen"); exit(0); for(i=0;i<n;i+) fread(&stui,sizeof(struct student),1,fp); printf("輸入要查詢學生的姓名:"); scanf("%s",a); for(i=0;i<n;i+) if(strcmp(,a)=0) printf("t%st%st%dn",stui.num,,
16、stui.score); fclose(fp); system("pause"); menu();void revise() /*定義修改函數(shù)*/ int i,t; char name10; void menu(); FILE *fp,*fp1; if(fp=fopen("student message","r")=NULL) printf("cannot open filen"); exit(0); for(i=0;i<n;i+) fread(&stui,sizeof(struct student)
17、,1,fp); if (fp1=fopen("student message","w")=NULL) printf("can not open file!n"); exit(0); printf("請輸入要修改學生的姓名:"); scanf("%s",name); for(i=0;i<n;i+) if(strcmp(,name)=0) t=i; printf("依次輸入要修改學生的學號、姓名、分數(shù):"); scanf("%s %s %d&qu
18、ot;,stut.num,,&stut.score); for(i=0;i<n;i+) fwrite(&stui,sizeof(struct student),1,fp1); printf("該學生信息已修改成功!"); fclose(fp); fclose(fp1); system("pause"); menu();void quite() /*退出*/ printf("再見!nn");void menu() /*定義菜單函數(shù)*/ switch(menu_select() case '1': input();break;case '2': display();break;case '3': sort();break;case '4': insert();break; case '5': delet();break; case '6': query();break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合法有效裝修合同范例
- 廚房原材料合同范本
- 農村住宅建房合同范本
- 衛(wèi)材購銷合同范本
- 養(yǎng)殖設備包工合同范本
- 勞務合同范本100例
- 醫(yī)院后勤設備采購合同范本
- 學校供餐服務合同范本
- 勞務兼職培訓合同范本
- 公司裝修改造合同范本
- 2025年哈爾濱鐵道職業(yè)技術學院單招職業(yè)適應性測試題庫附答案
- DeepSeek科普學習解讀
- 第一單元第2課《生活之美》課件-七年級美術下冊(人教版)
- 2025年七下道德與法治教材習題答案
- 危險化學品目錄(2024版)
- 人教版八年級數(shù)學第二學期教學計劃+教學進度表
- 水工環(huán)地質調查技術標準手冊
- 基本力學性能-鋼筋混凝土原理_過鎮(zhèn)海
- 初中音樂-兒行千里母擔憂-課件PPT課件
- 壓縮空氣氣體管道吹掃、試壓方案
- 畢設-年產(chǎn)10萬噸甲醇精餾工段設計
評論
0/150
提交評論