


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.C語言課程設計報告鏈表實現(xiàn)學生信息管理word專業(yè)資料.一課程設計目標C 語言課程設計的目的是通過課程設計的綜合訓練,培養(yǎng)學生實際分析問題、編程和動手能力, 最終目標是通過這種形式, 幫助學生系統(tǒng)掌握該門課程的主要容,更好地完成教學任務。 本課程設計具有如下特點: 重點在于 C 語言的基本特征上,涵蓋了 C語言的重要基礎知識。 結合了實際應用的要求, 使課程設計既涵蓋知識點, 又接近工程實際需要。 通過激發(fā)學習興趣, 調動學生主動學習的積極性,并引導他們根據(jù)實際編程要求, 訓練自己實際分析問題的能力以及編程能力,并養(yǎng)成良好的編程習慣。另外,在實際編程中,為了提高編程質量, 希望學生在書寫代碼
2、時, 對空行、空格和注釋嚴格按要求處理,以建立良好的編程風格。二設計項目:學生學籍管理該課程設計是設計一個模擬學生信息管理程序,要求使用鏈表來實現(xiàn)。 它具有瀏覽、插入、刪除、修改等功能,并且能夠對數(shù)據(jù)進行文件存儲和讀出操作。主要功能模塊:1. 瀏覽學生信息:顯示學生的信息。2. 插入學生信息:添加學生的信息。3. 刪除學生信息:通過輸入學號刪除學生的信息。4. 修改學生信息:通過輸入學號修改學生的信息。5. 保存學生信息:將學生信息保存到文件。0. 退出系統(tǒng):結束程序的運行,結束前詢問是否保存信息。word專業(yè)資料.三具體任務由老師提供主菜單程序以及第0、2 個模塊。學生在這個信息系統(tǒng)中加入四
3、個模塊, 即 :1. 瀏覽學生信息3. 刪除學生信息4. 修改學生信息5. 保存學生信息word專業(yè)資料.四、詳細介紹1、瀏覽學生信息2、插入學生信息word專業(yè)資料.3、刪除學生信息4、修改學生信息word專業(yè)資料.5、信息的寫入讀出6、學生信息的保存與釋放word專業(yè)資料.word專業(yè)資料.五、課程設計實踐小節(jié)這是這學期的第一次正式的程序設計,目的是運用鏈表來實現(xiàn)學生的學籍信息管理。在學習過程中, 我不僅把以前的函數(shù)循環(huán)搭配使用了起來,也接觸到鏈表這些全新的概念。鏈表的使用在今后的程序設計中尤為關鍵,他可以保存、 調用和更改數(shù)據(jù), 在信息時代的程序設計中很重要。在這次的程序設計中,老師和同
4、學都是我強大的后盾。比如之前在switch 語句下的 break 的使用和 getchar 的重要性,還有在小程序里面的循環(huán), 每一步的程序都很重要。通過這次的程序設計, 我了解到我所感興趣的東西并不是感興趣就可以掌握的, 要經(jīng)過不斷的練習和調試,在一次一次的失敗中找到原因,團結周圍的所有力量來突破。最重要的收獲其實還是寫編碼的重要性。我這邊接觸過一些華為之類的程序設計員,他們都有 c 語言設計規(guī)要求, 每種固定程序的編寫都有固定的格式,不按照格式的都有相應的處罰。 這次的程序設計中我充分的體會到了格式的重要性,我程序的最大的問題就在于switch 語句里面格式的不對稱導致的出錯,最后是老師發(fā)
5、現(xiàn)的,這是個極大的問題。最后在這次的程序設計過程中感謝老師和幫助過我的同學!word專業(yè)資料.六、源程序完整清單#include <stdio.h>#include <stdlib.h>#include <string.h>#include <malloc.h>struct nodechar number12;char name10;char sex6;char classes10;char tel12;struct node *next;typedef struct node NODE;/ 函數(shù)的聲明void Browse(NODE* head
6、);void Insert(NODE* head);void Delete(NODE* head);void Modify(NODE* head);void WriteInfo(NODE* head);void ReadInfo(NODE* head);void FreeList(NODE* head);void Exit(NODE* head);/ 主程序int main()int choice; / a variable accept the user's choiceNODE *head;head=(NODE *)malloc(sizeof(NODE); / creat head
7、 nodehead->next=NULL; / install a tailReadInfo(head); / get info from disk file if file existedwhile(1)/ 主菜單word專業(yè)資料.printf("n%s","*學生信息管理系統(tǒng)*n""*1.瀏覽學生信息*n""*2.插入學生信息*n""*3.刪除學生信息*n""*4.修改學生信息*n""*5.保存學生信息*n""*0.退出系統(tǒng)*n&quo
8、t;" *n"" 請按功能代碼選擇 (0 5):");scanf("%d",&choice); / number with return char into the IO butter getchar(); / clear the return char from buffer switch(choice)case 1:Browse(head);break;case 2:Insert(head);break;case 3:Delete(head);break;case 4:Modify(head);break;case 5:W
9、riteInfo(head);break;case 0:Exit(head);exit(0);default:printf("n選擇錯誤,請重新輸入!n"); / end of switch / end of while(1)return 0;/瀏覽學生信息void Browse(NODE *head)NODE* p=head;if(p->next=NULL)word專業(yè)資料.printf("無文件記錄!請輸入學生信息!n");return;p=head->next;printf("numbernameclassessex teln
10、");printf("-n");while(p!=NULL)printf("%s%s%s%s%sn",p->number,p->name,p->classes,p->sex,p->tel);p=p->next;void Insert(NODE *head)/定義插入函數(shù)NODE *t,*p;t=(NODE *)malloc(sizeof(NODE); / create a new node and pointed by tp=head; / p is to point to the head node, wh
11、ich is passed from main functionprintf("請輸入學生學號:n");scanf("%s",t->number);printf("請輸入學生姓名:n");scanf("%s",t->name);printf("請輸入學生性別:n");scanf("%s",t->sex);printf("請輸入學生班級:n");scanf("%s",t->classes);printf("
12、;請輸入學生:n");scanf("%s",t->tel);if(p->next=NULL)/原本無學生記錄p->next=t; / new node connect to head nodet->next=NULL; / install a tail for the new nodeelse/原本有學生記錄t->next=p->next; / new node insert to the rear of the head node.p->next=t;/ two stepsword專業(yè)資料.void Delete(NOD
13、E *head)/定義刪除函數(shù)NODE* p=head,*t=p->next;char num12;printf("請輸入要刪除學生的學號:n");scanf("%s",num);while(t!=NULL)if(strcmp(t->number,num)!=0)t=t->next;p=p->next;elsep->next=t->next;free(t);printf("學生信息刪除成功n");return;printf("該學生學號不存在,請輸入正確的學生學號n");/ 修改
14、學生信息void Modify(NODE *head)NODE* p=head;p=p->next;char num12;printf("請輸入要修改信息的學生學號:n");scanf("%s",num);int choice;while(p!=NULL)if(strcmp(p->number,num)!=0)p=p->next;elseprintf("1. 學號 2. 姓名 3. 性別 4. 班級 5.n 請選擇: "); scanf("%d",&choice);switch(choic
15、e)word專業(yè)資料.case 1:printf("請輸入要修改學生的學號:n");scanf("%s",p->number);break;case 2:printf("請輸入要修改學生的姓名:n");scanf("%s",p->name);break;case 3:printf("請輸入要修改學生的性別:n");scanf("%s",p->sex);break;case 4:printf("請輸入要修改學生的班級:n");scanf(&
16、quot;%s",p->classes);break;case 5:printf("請輸入要修改學生的:n");scanf("%s",p->tel);break;break;/ 將學生信息寫入文件void WriteInfo(NODE *head)FILE* fp;NODE* p=head;if (fp=fopen("C:Database.txt","wb")=NULL)printf("不能打開學生文件!n");return ;p=p->next;while(p!=N
17、ULL)if (fwrite(p,sizeof(NODE),1,fp)!=1) / write info and check sucess or not printf("寫入學生文件錯誤!n");p=p->next;word專業(yè)資料.fclose(fp);/ 將學生信息從文件讀出void ReadInfo(NODE* head)FILE* fp;NODE* p=head,*t;if (fp=fopen("c:Database.txt","rb")=NULL)printf("學生數(shù)據(jù)文件不存在,或文件打不開!n"
18、;);return ;p->next=!NULL;while(p->next!=NULL)t=(NODE*)malloc(sizeof(NODE);fread(t,sizeof(NODE),1,fp);p->next=t;p=p->next;fclose(fp);/ 釋放鏈表void FreeList(NODE* head)NODE* p=head,* t=head;while(p!=NULL)p=p->next;free(t);t=p;/ 退出程序void Exit(NODE* head)char ans;int flag=1;if (head->next!=NULL)word專業(yè)資料.printf("保存當前數(shù)據(jù)嗎?請
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年SCMP時間管理與試題及答案
- 國際物流師理論知識測試試題及答案
- 2024-2025學年甘肅省白銀市平川區(qū)中恒學校高三下第四次周考語文試題含解析
- 2025年重慶市港城工業(yè)園區(qū)建設有限公司招聘筆試參考題庫含答案解析
- 吉林醫(yī)藥學院《文化衍生產品設計》2023-2024學年第一學期期末試卷
- 重慶輕工職業(yè)學院《混凝土基本構件實驗》2023-2024學年第二學期期末試卷
- 2024-2025學年黑龍江省哈爾濱市第六中學高三第二學期期末練習(二模)數(shù)學試題試卷含解析
- 貴州電子科技職業(yè)學院《化工原理實驗下》2023-2024學年第二學期期末試卷
- 供應鏈技術外包的利與弊-試題及答案
- 寧夏建設職業(yè)技術學院《人壽與健康保險》2023-2024學年第二學期期末試卷
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 國家優(yōu)秀QC小組成果案例(攻關型)課件
- SSCI文獻查詢培訓教程課件
- 【QC成果】提高建筑外窗一次驗收合格率2020
- 英語語言學概論Chapter 2語音學練習附有答案
- 正反平衡供電煤耗計算方法介紹
- 2001滬S313 SG系列消火栓箱
- 中國工藝美術史資料(田自秉)課件
- 施工現(xiàn)場防汛安全檢查表
- 定子中心偏差及圓的調整
- 員工通用請假條Excel模板
評論
0/150
提交評論