搜文檔
認(rèn)證信息
認(rèn)證類型:個人認(rèn)證
認(rèn)證主體:常**(實名認(rèn)證)
IP屬地:河北
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
1、<p><b> 軟件設(shè)計報告</b></p><p> 題 目: 學(xué)生學(xué)籍管理系統(tǒng) </p><p><b> 一、 課程設(shè)計目的</b></p><p> 通過本次課程設(shè)計,強化上機動手能力,在理論和實踐的基
2、礎(chǔ)上進一步鞏固 《C語言程序設(shè)計》課程的學(xué)習(xí)內(nèi)容,掌握工程軟件設(shè)計的基本方法。學(xué)會將知識應(yīng)用與實際結(jié)合的方法,提高分析和解決問題的能力,增加綜合能力。為后續(xù)各門計算機課程的學(xué)習(xí)打下堅實基礎(chǔ),為畢業(yè)設(shè)計和以后工作打下必要基礎(chǔ),通過本次課程設(shè)計基本掌握C語言的實際應(yīng)用基礎(chǔ)與技巧。</p><p><b> 二、課程設(shè)計內(nèi)容</b></p><p> ?。?)運用結(jié)構(gòu)體和
3、指針編輯一個學(xué)生學(xué)籍管理系統(tǒng),使之能夠完成學(xué)生基本信息的創(chuàng)建(錄入)、查詢、刪除、排序、添加、修改、退出操作。</p><p> ?。?)執(zhí)行編譯操作,并根據(jù)提示調(diào)試此程序,排除所有的錯誤和警告。直到編譯成功為止。</p><p> ?。?)執(zhí)行運行操作,逐一對每個模塊進行調(diào)試。直到全部程序運行成功為止。</p><p> ?。?)請老師檢查,向老師演練此程序,并能
4、回答老師提出的相關(guān)問題。</p><p><b> 三、需求分析</b></p><p> 1.該學(xué)生學(xué)籍管理系統(tǒng),添加用戶密碼登陸功能,能夠完成學(xué)生基本信息的錄入、修改、添加、查詢、刪除、排序、輸出、退出操作。</p><p> 每個模塊的功能如下:</p><p> A、錄入模塊能夠完成學(xué)生學(xué)號、姓名、性別、
5、年齡、出生年月、所在院系專業(yè)、學(xué)制、班級的輸入。</p><p> B、更新模塊中可以對學(xué)生信息進行添加、刪除、修改。</p><p> C、查詢模塊能按學(xué)號或姓名查詢一個學(xué)生的全部信息,并能顯示該學(xué)生的全部信息,可以查詢所有已經(jīng)錄入的學(xué)生信息。</p><p> D、排序模塊將按照學(xué)生學(xué)號的順序進行所有學(xué)生基本信息的排序并顯示。</p><
6、;p> E、退出模塊可直接退出此程序,結(jié)束操作。</p><p> 2.創(chuàng)建該學(xué)生學(xué)籍管理系統(tǒng)目的就是能夠?qū)W(xué)生基本信息進行創(chuàng)建(錄入)、修改、添加、查詢、刪除、排序等功能,這樣可以簡化許多人工做起來很復(fù)雜的問題。譬如:“排序”,有了此程序只需將信息輸入,計算機就可自動執(zhí)行,省時、省力。另外,它還可以重復(fù)使用,方便、快捷。</p><p> 3.該學(xué)生信息管理系統(tǒng)是在VC++
7、6.0環(huán)境下運行。</p><p> 方法:1、添加學(xué)生信息:選擇添加輸入學(xué)生信息。</p><p> 2、刪除學(xué)生信息:可選擇按學(xué)號進行刪除,如要刪除某學(xué)生的信息,按學(xué)號刪除,輸入該學(xué)生的學(xué)號,核對屏幕上的信息,確認(rèn)刪除即可。</p><p> 3、修改學(xué)生信息:輸入要修改學(xué)生的學(xué)號,顯示該生所有信息,可按屏幕所顯示的提示操作,修改其任意信息,如選擇修改年齡
8、,再輸入,顯示出修改后的信息,然后詢問是否繼續(xù)。Y則繼續(xù),N則退回主界面。</p><p> 4、查詢模塊:按姓名或?qū)W號選擇對應(yīng)的選項進行查詢。</p><p> 5、排序模塊:選擇按學(xué)號排序</p><p><b> 四、概要設(shè)計</b></p><p> 1.系統(tǒng)結(jié)構(gòu)圖(功能模塊圖)</p>&
9、lt;p> 對系統(tǒng)進行分析,給出系統(tǒng)結(jié)構(gòu)圖:</p><p><b> 主函數(shù)</b></p><p> 刪除模塊:刪除一個學(xué)生的信息。del()</p><p> 修改模塊:對一個學(xué)生的信息中錯誤的部分進行修改。Change()</p><p> 添加模塊:添加一個學(xué)生的信息。insert_messa
10、ge()</p><p><b> 1.按姓名查詢</b></p><p><b> 2.按學(xué)號查詢。</b></p><p><b> 1.升序排列</b></p><p><b> 2.降序排列</b></p><p>
11、<b> 退出系統(tǒng)</b></p><p><b> 2.功能模塊說明</b></p><p> 對各個模塊進行功能的描述:</p><p> (1).輸入模塊:Input()</p><p> 實現(xiàn)學(xué)生基本信息的基本輸入如學(xué)號、姓名、性別、年齡、出生年月、所在院系專業(yè)、學(xué)制、班級。<
12、;/p><p> (2).排序模塊:void sort(struct student_type students[],int sum)</p><p> 根據(jù)統(tǒng)計信息將住宿人員按某因素進行排序。</p><p> (3).更新模塊:A.修改模塊: void modify(struct student_type students[],int sum) <
13、;/p><p> B.添加模塊:void add(struct student_type students[],int *sum)</p><p> C.刪除模塊:int del(struct student_type students[],int sum)</p><p> 處理各種可能出現(xiàn)的意外情況如想插入新數(shù)據(jù),修改某學(xué)生信息,刪除錯誤信息等。</p&
14、gt;<p> (4).查詢模塊:按照學(xué)號進行查詢并顯示學(xué)生的信息:</p><p> void reserch(struct student_type students[],int sum)</p><p> 根據(jù)一定規(guī)則排序好的數(shù)據(jù),輸入一定信息后顯示該信息的其他信息。</p><p> (5).輸出模塊:Output(),將查詢結(jié)果輸出。
15、</p><p> 五、詳細(xì)設(shè)計及運行結(jié)果</p><p> 流程圖, 函數(shù)之間相互調(diào)用的圖示 ,程序設(shè)計及編碼, 運行結(jié)果。</p><p> 六、調(diào)試情況,設(shè)計技巧及體會</p><p> 1、對自己設(shè)計進行評價,指出合理和不足之處,提出改進的方案。</p><p> 通過兩周的編程,我完成了學(xué)生證管理這
16、個小系統(tǒng)。進一步理解并掌握了C 語言中的精華指針和結(jié)構(gòu)體。程序可以流暢運行,實現(xiàn)對數(shù)據(jù)的錄入、修改、插入、刪除、排序、查詢、統(tǒng)計等基本功能。程序開始時從文件中讀取數(shù)據(jù),結(jié)束時對新數(shù)據(jù)或更新的數(shù)據(jù)進行保存,以便下次再次調(diào)用。但不足之處在于我沒有用鏈表。</p><p> 2、在設(shè)計過程中的感受。</p><p> 本次課程設(shè)計我感受頗深,對我無疑是一次巨大大的挑戰(zhàn),實習(xí)過程中我深刻感受到
17、我C語言編程方面的不足,尤其是鏈表的使用,我雖然完成了本次設(shè)計,但沒能使用鏈表是我最大的遺憾,今后我會在此方面多下工夫,熟練掌握他。還有此次實習(xí)對我函數(shù),結(jié)構(gòu)體,指針,文件,等各方面的知識來了一次系統(tǒng)的復(fù)習(xí),是我明白自己還存在很多很多的不足,以后還需多下工夫,真正實現(xiàn)很完整優(yōu)秀的編程。</p><p><b> 七、參考文獻</b></p><p> 1.《C語言
18、程序設(shè)計》 王曙燕 曹錳 科學(xué)出版社 2005年2月</p><p> 2.《C語言程序設(shè)計》 譚浩強 清華大學(xué)出版社 1999年12月</p><p><b> 八、附錄:源代碼</b></p><p> (略,詳見電子版實驗報告)</p><p> #include<stdio
19、.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p> #include<conio.h></p><p> #define MAX 100</p><p><b> int
20、m=3;</b></p><p> struct day_type /*日期結(jié)構(gòu)體類型*/</p><p><b> { </b></p><p><b> int year;</b></p><p> int month;</p><p><b&
21、gt; };</b></p><p> struct student_type</p><p><b> { </b></p><p> char num[10]; /*學(xué)號*/</p><p> char name[10]; /*姓名*/</p><p&
22、gt; char sex[4]; /*性別(男為m,女為w)*/</p><p> int age; /*年齡*/</p><p> struct day_type birthday; /*出生年月*/</p><p> char aa[20];/*所在院系專業(yè)*/</p><p>
23、; int xue[10];/*學(xué)制*/</p><p> int clas;/*班級*/</p><p><b> };</b></p><p> int number;</p><p> int read_file(struct student_type students[]) </p>
24、;<p> { FILE *fp;</p><p><b> int i=0;</b></p><p> if((fp=fopen("student.txt","rt"))==NULL)</p><p> {printf("\n 庫存文件不存在,請創(chuàng)建!\n")
25、;</p><p><b> return 0;</b></p><p><b> }</b></p><p> while(!feof(fp))</p><p> { fread(&students[i],sizeof(struct student_type),1,fp);<
26、/p><p> if(students[i].num==0)</p><p><b> break;</b></p><p><b> else</b></p><p><b> i++;</b></p><p><b> }</b
27、></p><p> fclose(fp);</p><p><b> return i;</b></p><p><b> }</b></p><p> void save_file(struct student_type students[],int sum)</p>
28、<p> { FILE *fp;</p><p><b> int i;</b></p><p> if((fp=fopen("student.txt","wt"))==NULL)</p><p> { printf("讀文件錯誤\n");</p>&
29、lt;p><b> return;</b></p><p><b> }</b></p><p> for(i=0;i<sum;i++)</p><p> if(fwrite(&students[i],sizeof(struct student_type),1,fp)!=1)</p>
30、<p> printf("寫文件錯誤\n");</p><p> fclose(fp);</p><p><b> }</b></p><p> void mima(void)</p><p><b> {</b></p><p>
31、<b> int j;</b></p><p> char mima[4];</p><p> printf("請輸入密碼:");</p><p> for(j=0;j<6;j++)</p><p><b> {</b></p><p>&
32、lt;b> int t;</b></p><p> for(t=0;t<3;t++)</p><p><b> {</b></p><p> mima[t]=getch();</p><p> putch('*');</p><p><b&g
33、t; }</b></p><p> mima[3]='\0';</p><p><b> getch();</b></p><p> if(strcmp(mima,"123")==0)</p><p><b> {</b></p>
34、<p> printf("成功登陸!\n");</p><p> printf("\t歡迎您的到來!\n");</p><p><b> break;</b></p><p><b> }</b></p><p><b> e
35、lse</b></p><p><b> {</b></p><p><b> if(m==0)</b></p><p><b> {</b></p><p><b> int i;</b></p><p>
36、printf("密碼錯誤,請您停止輸入 !\n");</p><p> printf("由于您設(shè)置了密碼提示,按任意鍵進入下一步操作!\n");</p><p><b> getch();</b></p><p> printf("\t\t1:找回密碼;\n\t\t2:退出系統(tǒng)!!\n&q
37、uot;);</p><p> scanf("%d",&i);</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> if(i==1)</b></p><p&g
38、t;<b> break;</b></p><p><b> if(i==2)</b></p><p><b> exit(0);</b></p><p><b> }</b></p><p><b> }</b></
39、p><p><b> if(m!=4)</b></p><p><b> {</b></p><p> printf("\n\t\t密碼錯誤!\n\t\t\t你還有%d次輸入機會!\n",m);</p><p><b> m--;</b></p&g
40、t;<p> printf("請重新輸入密碼:");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b><
41、/p><p><b> /*輸入模塊*/</b></p><p> int input(struct student_type students[])</p><p><b> { </b></p><p><b> int i=0;</b></p><
42、p> system("cls");</p><p> printf("\n請輸入要錄入的學(xué)生的個數(shù)(最多%d個):\n",MAX);</p><p> scanf("%d",&number);</p><p> printf("\n\n 錄入學(xué)生學(xué)生證信
43、息 (最多錄入%d個)\n",number);</p><p> printf(" ---------------------------------------\n");</p><p> while(i<number)</p><p><b> { </b></p>&l
44、t;p> printf("\n 第%d個學(xué)生",i+1);</p><p> printf("\n 學(xué)生學(xué)號:");</p><p> scanf("%s",students[i].num);</p><p> if(students[i].num==0) break;</p>
45、<p> printf("\n 學(xué)生姓名:");</p><p> scanf("%s",students[i].name);</p><p> printf("\n 學(xué)生性別(男為m,女為w):");</p><p> scanf("%s",students[
46、i].sex);</p><p> printf("\n 學(xué)生年齡:");</p><p> scanf("%d",&students[i].age);</p><p> printf("\n 學(xué)生出生年月(xxxx-yy):");</p><p> scanf(
47、"%d-%d",&students[i].birthday.year,&students[i].birthday.month);</p><p> printf("\n 所在院系專業(yè):");</p><p> scanf("%s",students[i].aa);</p><p>
48、printf("\n 班級:");</p><p> scanf("%d",&students[i].clas);</p><p> printf("\n 學(xué)制");</p><p> scanf("%d",&students[i].xue);</p>
49、;<p><b> i++;</b></p><p><b> }</b></p><p> printf("\n %d個學(xué)生學(xué)生證信息已成功錄入!\n",i);</p><p> getchar();</p><p> printf("\n
50、按回車鍵返回主菜單!");</p><p> getchar();</p><p><b> return i;</b></p><p><b> }</b></p><p><b> /*輸出模塊*/</b></p><p> vo
51、id output(struct student_type students[],int sum)</p><p> { FILE *fp;</p><p><b> int i=0;</b></p><p> system("cls");</p><p> fp=fopen("st
52、udent.txt","rt");</p><p> printf("\n ----學(xué)生證信息---- \n\n");</p><p> printf("\n*********************************************************
53、***************\n");</p><p> printf("\n學(xué)生學(xué)號-學(xué)生姓名-學(xué)生性別-學(xué)生年齡-出生年月(xxxx-yy)-院系專業(yè)-班級-學(xué)制\n");</p><p> printf("\n-----------------------------------------------------------------
54、-------\n");</p><p><b> do</b></p><p> { fread(&students[i],sizeof(struct student_type),1,fp);</p><p> if(students[i].num!=0)</p><p><b>
55、{</b></p><p> printf("%4s %5s %2s %2d %7d-%2d %3s %d %d\n",students[i].num,students[i].name,</p><p> students[i].sex,students[i].age,students[i].birthday.year,stu
56、dents[i].birthday.month,</p><p> students[i].aa,students[i].clas,students[i].xue);</p><p> printf("------------------------------------------------------------------------\n");</p
57、><p><b> i++;</b></p><p><b> }</b></p><p> }while(i<sum);</p><p> getchar();</p><p> printf("按回車鍵返回主菜單");</p>
58、<p> getchar();</p><p> fclose(fp);</p><p><b> }</b></p><p> void modify(struct student_type students[],int sum) /*修改模塊*/ </p><p><b>
59、; { </b></p><p> int i=0,choice,flag;</p><p> char modify_num[8];</p><p><b> do</b></p><p> { system("cls");</p><p> prin
60、tf("\n 請輸入要修改的學(xué)生的學(xué)號:");</p><p> scanf("%s",modify_num);</p><p> for(i=0;i<sum;i++)</p><p> if(!strcmp(students[i].num,modify_num))</p>&
61、lt;p><b> {</b></p><p> printf("\n ----學(xué)生證信息---- \n ");</p><p> printf("\n**********************************************************************&q
62、uot;);</p><p> printf("學(xué)生學(xué)號-學(xué)生姓名-學(xué)生性別-學(xué)生年齡-出生年月(xxxx-yy)-院系專業(yè)-班級-學(xué)制\n");</p><p> printf("------------------------------------------------------------------------\n");</p
63、><p> printf("%4s %5s %2s %2d %8d-%2d %3s %d %d\n",students[i].num,students[i].name,</p><p> students[i].sex,students[i].age,students[i].birthday.year,students[i].birthday
64、.month,</p><p> students[i].aa,students[i].clas,students[i].xue);</p><p> printf("1.學(xué)號 2.姓名 3.性別 4.年齡 5.出生年月(xxxx-yy) 6.院系專業(yè) 7.班級 8.學(xué)制\n");</p><p> printf("請輸入要修改項
65、的編號(選擇1-8):");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> { case 1: printf("\n 輸入修改后的學(xué)生學(xué)號:");</p><p> scanf("%s&q
66、uot;,students[i].num); break;</p><p> case 2: printf("\n 輸入修改后的學(xué)生姓名:");</p><p> scanf("%s",students[i].name); break;</p><p> case 3: printf("\n 輸入修改后的學(xué)生性
67、別:");</p><p> scanf("%s",students[i].sex); break;</p><p> case 4: printf("\n 輸入修改后的學(xué)生年齡:");</p><p> scanf("%d",&students[i].age); break;<
68、;/p><p> case 5: printf("\n 輸入修改后的學(xué)生出生年月(yyyy-mm):");</p><p> scanf("%d-%d",&students[i].birthday.year,&students[i].birthday.month); break;</p><p> case
69、6: printf("輸入修改后的學(xué)生專業(yè)院系:"); </p><p> scanf("%s",students[i].aa);break;</p><p> case 7: printf("\n 輸入修改后的班級");</p><p> scanf("%d",&stud
70、ents[i].clas);break;</p><p> case 8: printf("\n 輸入修改后的學(xué)制");</p><p> scanf("%d",&students[i].xue);</p><p><b> }</b></p><p> print
71、f("\n ----學(xué)生證信息----(修改后) \n ");</p><p> printf("\n**********************************************************************");</p><p> printf("學(xué)生學(xué)號-學(xué)生姓名-學(xué)
72、生性別-學(xué)生年齡-出生年月(xxxx-yy)-院系專業(yè)-班級-學(xué)制\n");</p><p> printf("------------------------------------------------------------------------\n");</p><p> printf("%4s %6s %2s %2
73、d %8d-%2d %3s %d %d\n",students[i].num,students[i].name,</p><p> students[i].sex,students[i].age,students[i].birthday.year,students[i].birthday.month,</p><p> students[i].aa,studen
74、ts[i].clas,students[i].xue);</p><p> getchar();</p><p><b> break;</b></p><p><b> }</b></p><p> if(i==sum) {printf("\n 該學(xué)生不存在");
75、 getchar();}</p><p> save_file(students,sum);</p><p> printf("\n\n 您要繼續(xù)修改嗎?( Y/N(選擇N則返回主菜單) )");</p><p> choice=getchar();</p><p> if(choice=='Y'
76、;||choice=='y')</p><p><b> { flag=1;</b></p><p> printf("\n 繼續(xù)修改!\n");</p><p><b> }</b></p><p> else flag=0;</p>&l
77、t;p> }while(flag==1);</p><p> printf("\n");</p><p><b> }</b></p><p> void reserch(struct student_type students[],int sum) /*查詢模塊*/</p><
78、;p> { int i=0,choice,flag;</p><p> char reserch[8];</p><p><b> do</b></p><p> { system("cls");</p><p> printf("\n 請選擇查詢方式
79、: 1.按學(xué)號 2.按姓名\n");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> { case 1: printf("\n 請輸入要查詢的學(xué)生的學(xué)號:");</p><p&
80、gt; scanf("%s",reserch);</p><p> for(i=0;i<sum;i++)</p><p> if(!strcmp(students[i].num,reserch))</p><p><b> { </b></p><p> printf("\n
81、 ----學(xué)生證信息---- \n ");</p><p> printf("\n**********************************************************************\n");</p><p> printf("學(xué)生學(xué)號-學(xué)生姓名-學(xué)生性別-學(xué)生年齡-出生年月
82、(xxxx-yy)-院系專業(yè)-班級-學(xué)制\n");</p><p> printf("\n----------------------------------------------------------------------");</p><p> printf("%4s %6s %2s %2d %8d-%2d
83、%3s %d %d\n",students[i].num,</p><p> students[i].name,students[i].sex,students[i].age,students[i].birthday.year,</p><p> students[i].birthday.month,students[i].aa,students[i].clas,stude
84、nts[i].xue);</p><p> getchar();</p><p><b> break;</b></p><p><b> }break;</b></p><p> case 2: printf("\n 請輸入要查詢的學(xué)生的姓名:"
85、);</p><p> scanf("%s",reserch);</p><p> for(i=0;i<sum;i++)</p><p> if(!strcmp(students[i].name,reserch))</p><p><b> { </b></p><p
86、> printf("\n ----學(xué)生證信息---- \n ");</p><p> printf("\n**********************************************************************");</p><p> printf("學(xué)生學(xué)號-
87、學(xué)生姓名-學(xué)生性別-學(xué)生年齡-出生年月(xxxx-yy)-院系專業(yè)-班級-學(xué)制\n");</p><p> printf("------------------------------------------------------------------------\n");</p><p> printf("%4s %6s %2
88、s %2d %8d-%2d %3s %d %d\n",students[i].num,students[i].name,</p><p> students[i].sex,students[i].age,students[i].birthday.year,students[i].birthday.month,</p><p> students[i].
89、aa,students[i].clas,students[i].xue);</p><p> getchar();</p><p><b> break;</b></p><p><b> }break;</b></p><p><b> }</b></p>
90、<p> if(i==sum) {printf("\n 該學(xué)生不存在"); getchar();}</p><p> printf("\n\n 您要繼續(xù)查詢嗎?( Y/N(選擇N則返回主菜單) )");</p><p> choice=getchar();</p><p> if(choice=
91、='Y'||choice=='y')</p><p><b> { </b></p><p><b> flag=1;</b></p><p> printf("\n 繼續(xù)修改!\n");</p><p><b> }</b
92、></p><p> else flag=0;</p><p><b> }</b></p><p> while(flag==1);</p><p> printf("\n");</p><p><b> }</b></p>
93、<p> void sort(struct student_type students[],int sum) /*排序模塊*/ </p><p><b> { </b></p><p> int i,j,choice;</p><p> printf("\n按學(xué)號排序: 1:升序!2:降序!\n\n&
94、quot;);</p><p> scanf("%d",&choice);</p><p> printf("\n ----學(xué)生證信息表---- \n\n");</p><p> printf("\n****************************
95、******************************************");</p><p> printf("學(xué)生學(xué)號-學(xué)生姓名-學(xué)生性別-學(xué)生年齡-出生年月(xxxx-yy)-院系專業(yè)-班級-學(xué)制\n");</p><p> printf("--------------------------------------------
96、----------------------------\n");</p><p> switch(choice)</p><p><b> {</b></p><p><b> case 1:</b></p><p><b> { </b></p&
97、gt;<p> struct student_type t;</p><p> system("cls");</p><p> for(i=0;i<sum-1;i++)</p><p> for(j=i+1;j<sum;j++)</p><p><b> { </b>
98、;</p><p> if(strcmp(students[i].num,students[j].num)>0)</p><p><b> { </b></p><p> t=students[i];</p><p> students[i]=students[j];</p><p>
99、; students[j]=t;</p><p><b> }</b></p><p><b> }</b></p><p><b> } break;</b></p><p><b> case 2:</b></p><p&
100、gt;<b> {</b></p><p> struct student_type t;</p><p> system("cls");</p><p> for(i=0;i<sum-1;i++)</p><p> for(j=i+1;j<sum;j++)</p>
101、<p><b> { </b></p><p> if(strcmp(students[i].num,students[j].num)<0)</p><p><b> { </b></p><p> t=students[i];</p><p> students[i]=
102、students[j];</p><p> students[j]=t;</p><p><b> }</b></p><p><b> }</b></p><p><b> } break;</b></p><p><b> }&l
103、t;/b></p><p> for(i=0;i<sum;i++)</p><p><b> { </b></p><p> printf("%3s %4s %2s %2d %6d-%2d %3s %d %d\n",students[i].num,students[i].name,
104、</p><p> students[i].sex,students[i].age,students[i].birthday.year,students[i].birthday.month,</p><p> students[i].aa,students[i].clas,students[i].xue);</p><p> printf("----
105、-----------------------------------------------------------------\n");</p><p><b> }</b></p><p> getchar();</p><p> printf("\n 按回車鍵返回主菜單!");</p>
106、<p> getchar();</p><p><b> }</b></p><p> int del(struct student_type students[],int sum) /*刪除模塊*/ </p><p><b> { </b></p><p>
107、int i,j,k=0;</p><p> char del_num[8];</p><p> system("cls");</p><p> printf("請輸入要刪除的學(xué)生證信息的學(xué)號\n\n");</p><p> scanf("%s",del_num);</p
108、><p> for(i=0;i<sum;i++)</p><p> if(strcmp(students[i].num,del_num)==0)</p><p> for(j=i;j<sum;j++)</p><p> students[j]=students[j+1];</p><p> else
109、 k++;</p><p> if(k==sum)</p><p><b> { </b></p><p> printf("該學(xué)生不存在\n");</p><p> getchar();</p><p> printf("按回車鍵返回主菜單");
110、</p><p> getchar();</p><p> return(sum);</p><p><b> }</b></p><p><b> else</b></p><p> { save_file(students,sum);</p>&l
111、t;p> printf("恭喜您刪除成功:\n");</p><p> getchar();</p><p> printf("\n 按回車鍵返回主菜單!");</p><p> getchar();</p><p> return(sum-1);</p><p&g
112、t;<b> }</b></p><p><b> }</b></p><p><b> /*添加模塊*/</b></p><p> void add(struct student_type students[],int *sum)</p><p> { int i,
113、flag; char choice;</p><p> system("cls");</p><p><b> i=(*sum);</b></p><p><b> do</b></p><p><b> {</b></p><
114、p><b> if(i<MAX)</b></p><p><b> { </b></p><p> printf(" 請輸入要添加的學(xué)生的學(xué)生證信息:\n");</p><p> printf("\n 學(xué)生學(xué)號:");</p><p>
115、 scanf("%s",students[i].num);</p><p> if(students[i].num==0) break;</p><p> printf("\n 學(xué)生姓名:");</p><p> scanf("%s",students[i].name);</p>&l
116、t;p> printf("\n 學(xué)生性別(男為m,女為w):");</p><p> scanf("%s",students[i].sex);</p><p> printf("\n 學(xué)生年齡:");</p><p> scanf("%d",&students[
117、i].age);</p><p> printf("\n 學(xué)生出生年月(yyyy-mm):");</p><p> scanf("%d-%d",&students[i].birthday.year,&students[i].birthday.month);</p><p> printf("\
118、n 學(xué)生所在的院系:");</p><p> scanf("%s",students[i].aa);</p><p> printf("\n 學(xué)生班級:");</p><p> scanf("%d",&students[i].clas);</p><p>
119、 printf("\n 學(xué)生學(xué)制:");</p><p> scanf("%d",&students[i].xue);</p><p><b> (*sum)++;</b></p><p><b> i=(*sum);</b></p><p>
120、; getchar();</p><p> printf("\n 恭喜您成功添加一個學(xué)生的信息!\n");</p><p> getchar();</p><p> printf("\n 是否繼續(xù)添加??( Y/N(選擇N則返回主菜單) )\n");</p><p> choice=getch
121、ar();</p><p> if(choice=='Y'||choice=='y')</p><p><b> { flag=1;</b></p><p> printf("\n 繼續(xù)添加!\n");</p><p><b> }</b>
122、</p><p> else flag=0;</p><p><b> }</b></p><p> else {printf("\n 返回主菜單\n"); break;}</p><p><b> }</b></p><p> while(fl
123、ag==1);</p><p><b> }</b></p><p> void main(void)</p><p><b> { </b></p><p> int choice,sum;</p><p> /*system("color "
124、);*/</p><p> struct student_type students[MAX];</p><p> sum=read_file(students)-1;</p><p> if(sum==0)</p><p><b> { </b></p><p> printf(&qu
125、ot;按回車鍵開始錄入基本學(xué)生信息!");</p><p> getchar();</p><p> sum=input(students);</p><p> save_file(students,sum);</p><p><b> }</b></p><p><b&g
126、t; do</b></p><p><b> { </b></p><p> system("cls");</p><p> printf("\n **************恭喜您成功進入學(xué)生證管理系統(tǒng)*****************\n ");</p>
127、<p> printf("\n ***********************************************************\n\n");</p><p> printf(" ~~ 1.請輸入學(xué)生的學(xué)生證信息 ~~ \n\n");</p><p> p
128、rintf(" ~~ 2.查詢學(xué)生證信息 ~~ \n\n");</p><p> printf(" ~~ 3.輸出學(xué)生證信息 ~~ \n\n");</p><p> printf(" ~~ 4.
129、添加學(xué)生證信息 ~~ \n\n");</p><p> printf(" ~~ 5.排序?qū)W生證信息 ~~ \n\n");</p><p> printf(" ~~ 6.修改學(xué)生證信息 ~~ \n\n");</p>&l
130、t;p> printf(" ~~ 7.刪除學(xué)生證信息 ~~ \n\n");</p><p> printf(" ~~ 8.退出系統(tǒng) ~~ \n\n");</p><p> printf("\n\t輸入密碼***\n&q
131、uot;);</p><p><b> mima();</b></p><p> printf(" 請選擇您要執(zhí)行的操作(1-8):\n");</p><p> scanf("%d",&choice);</p><p> switch
132、(choice)</p><p><b> { </b></p><p> case 1: sum=input(students); save_file(students,sum); break;</p><p> case 2: reserch(students,sum); break;</p><p> ca
133、se 3: save_file(students,sum); output(students,sum); break;</p><p> case 4: add(students,&sum); save_file(students,sum); break;</p><p> case 5: sort(students,sum); break;</p><p
134、> case 6: modify(students,sum); save_file(students,sum); break;</p><p> case 7: sum=del(students,sum); save_file(students,sum); break;</p><p> case 8: printf("祝您好運!拜拜!\n"); break
135、;</p><p><b> }</b></p><p><b> }</b></p><p> while(choice!=8);</p><p> save_file(students,sum);</p><p><b> }</b><
0/150
提交評論
聯(lián)系客服
本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知眾賞文庫,我們立即給予刪除!
Copyright ? 2013-2023 眾賞文庫版權(quán)所有 違法與不良信息舉報電話:15067167862
復(fù)制分享文檔地址
http://www.omd.org.cn/shtml/view-3394051.html
復(fù)制
下載本文檔
評論
0/150
提交評論