學(xué)生信息管理系統(tǒng)C語言編寫-編輯學(xué)生信息如何寫

        發(fā)布時(shí)間:2020-07-28 來源: 主持詞 點(diǎn)擊:

         目

         錄

         1 設(shè)計(jì)目得………………………………………………………………………3 2 設(shè) 計(jì) 題 目 及 要 求 … … … … … … … … … … … … … … … … … … … … 3 3設(shè)計(jì)算法分析………………………………………………………………3

          3、1 模塊調(diào)用層次圖………………………………………………………3

          3、2 核心算法描述………………………………………………………4

          3、3 系統(tǒng)特點(diǎn)………………………………………………………6 4 程序代碼………………………………………………………………………6 5調(diào)試情況……………………………………………………………………8 6 結(jié)論……………………………………………………………………………11

         學(xué)生信息管理

         1 1 、設(shè)計(jì)目得

         本課程設(shè)計(jì)得目得就就是要通過一次集中得強(qiáng)化訓(xùn)練,使學(xué)生能及時(shí)鞏固已學(xué)得知識(shí),補(bǔ)充未學(xué)得但又必要得內(nèi)容。進(jìn)行課程設(shè)計(jì)目得在于加深對(duì)程序設(shè)計(jì)基礎(chǔ)中基礎(chǔ)理論與基本知識(shí)得理解,促進(jìn)理論與實(shí)踐得結(jié)合,進(jìn)一步提高程序設(shè)計(jì)得能力.具體目得如下: 1.使學(xué)生更深入地理解與掌握該課程中得有關(guān)基本概念,程序設(shè)計(jì)思想與方法. 2.培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)獨(dú)立完成課題得能力。

        。。培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求就是、有錯(cuò)必改,用實(shí)踐來檢驗(yàn)理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有得素質(zhì). 4。提高學(xué)生對(duì)工作認(rèn)真負(fù)責(zé)、一絲不茍,對(duì)同學(xué)團(tuán)結(jié)友愛,協(xié)作攻關(guān)得基本素質(zhì)。

         5.培養(yǎng)學(xué)生從資料文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識(shí)得能力,提高學(xué)生從別人經(jīng)驗(yàn)中找到解決問題得新途徑得悟性,初步培養(yǎng)工程意識(shí)與創(chuàng)新能力。

         6.對(duì)學(xué)生掌握知識(shí)得深度、運(yùn)用理論去處理問題得能力、實(shí)驗(yàn)?zāi)芰、課程設(shè)計(jì)能力、書面及口頭表達(dá)能力進(jìn)行考核. 2 2 、設(shè)計(jì)題目及要求

         【1】設(shè)計(jì)題目

         【2】要求 實(shí)現(xiàn)如下功能:

         (1)建立學(xué)生信息得結(jié)構(gòu)體 (2)學(xué)生信息得初始化(可以從文件獲。

         (3)學(xué)生信息得添加、修改、刪除、查找 (4)學(xué)生信息得輸出 (5)對(duì)學(xué)生信息按學(xué)號(hào)、成績(jī)排序 (6)計(jì)算一門課得平均分與總分 (7)將學(xué)生信息保存為文件 綜合應(yīng)用數(shù)組、指針、結(jié)構(gòu)體、文件等,對(duì)該設(shè)計(jì)題目進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。課程設(shè)計(jì)完成后,提交課程設(shè)計(jì)報(bào)告。

         3 3 、 設(shè)計(jì) 算法分析

         3、1 模塊調(diào)用層次圖

          【1】變量描述

         定義形式/名稱 含義/作用 數(shù)組 char name[20] 定義姓名數(shù)組 結(jié)構(gòu)體 struct student stu[50] 聲明一個(gè)結(jié)構(gòu)數(shù)組 全局變量 int input=0;float ave,sum;

         全局變量標(biāo)記當(dāng)前錄入學(xué)生個(gè)數(shù)

         FILE *fp;

         文件 stu_list2、doc 保存學(xué)生信息 函數(shù) Save InputStu DelStu Modif y Stu FindStu InsertStu SortStu ListStu 保存 錄入 刪除 修改 查找 插入 排序 顯示學(xué)生信息

         【2】系統(tǒng)模塊調(diào)用層次圖

         3、2核心算法描述

         1、總體模塊流程圖:

        。

         T

          2、修改模塊:

          for(i=0;i<=15;i++)

          for(i=0;i<input;i++)

         stu[i]、num==id

          T(flag!=0)

         F(flag!=0)

         輸出修改后學(xué)生信息

        。餽intf(”\n\nnull")

          3、查詢模塊: Main ListStu SortStu ModifyStu FindStu InsertStu Save InputStu DelStu

          開始

         !(scanf("%d",&in1)==1

          學(xué)生信息

         修改

         查詢

          插入

          刪除

          排序

         保存

         結(jié)束

         for(i=0;i<=15;i++)

         for(i=0;i<input;i++)

          (stu[i]、num==id)

          T

         (flag=0)

          F (flag!=0)

         輸出查詢后學(xué)生信息

        。餽intf("\n\nnull")

          (stu[i]、classid==id)

          T (flag=0)

          F(flag!=0)

          輸出查詢后學(xué)生信息

          printf(”\n\nnull”)

         T (flag=0)

          (!strcmp(stu[i]、name,name))

          F(flag!=0)

         輸出查詢后學(xué)生信息

         無找到有關(guān)信息 4、插入模塊: for(i=0;i<input;i++)

        。髏u[i]、num=id

        。0=galf(T? F(flag。剑)

          學(xué)號(hào)信息已經(jīng)存在

          輸入要插入學(xué)生信息

         5、刪除模塊:

         ask != "n’ T

        。 i=0;i〈input;i++

          stu[i]、num == delnum

         T (flag=0)

         F(flag!=0)

        。妫飏(j=i;j<input;j++)

         刪除成功且

         顯示刪除后數(shù)據(jù)

         刪除指定學(xué)生得信息

          沒有要?jiǎng)h除得學(xué)生 6、排序模塊:

          chose==1 T

         F(chose==2) for(i=0;i〈input-1;i++)

          for(i=0;i〈input-1;i++)

         for(j=i+1;j〈input;j++)

         for(j=i+1;j<input;j++)

          stu[i]、num〉stu[j]、num

        。髏u[i]、ave〈stu[j]、ave

         T

          F

          T

         F

         temp=stu[i]

          temp=stu[i]

         stu[i]=stu[j]

          stu[i]=stu[j]

         stu[j]=temp

          stu[j]=temp 3、3 系統(tǒng)特點(diǎn) 【1】特點(diǎn):這個(gè)學(xué)生信息管理系統(tǒng)建立了學(xué)生信息得結(jié)構(gòu)體,實(shí)現(xiàn)了學(xué)生信息得錄入、添加、修改、刪除、查找等功能,并能計(jì)算學(xué)生得平均分與總分,對(duì)學(xué)生進(jìn)行排序。

        。、 程序代碼

         【1】程序代碼

          void Help();

         void Save(struct student stu[]);

          void InputStu(struct student stu[]);

         void DelStu(struct student stu[]);

         void ModifyStu(struct student stu[]);

         void FindStu(struct student stu[]);

          void InsertStu(struct student stu[]);

         void SortStu(struct student stu[]);

          void ListStu(struct student stu[]);

          void main()

          {

         struct student stu[50];

          struct student *p;

         int

         in;

         int

        。椋1;

          char ch;

          void InputStu(struct student stu[])

          {

         pp=stu;

          system("cls");

         int i;

         printf("Number of students you want to enter informat(yī)ion:");

         scanf("%d",&input); if((fp=fopen("inputdata、sys","wb+"))==NULL)

          {

         printf("Cannot open

         any key exit!");

         getch();

          exit(1);

         }

          void ModifyStu(struct student stu[])

         {

         system("cls");

         pp=stu;

          int id,i,flag=1;

        。閒((fp=fopen("modifydata、sys","wb+"))==NULL)

          {

         printf(”Cannot open

         any key exit!”); getch();

         exit(1);

          }

        。鰋id FindStu(struct student stu[])

        。

         system("cls");

         int i=0,id,flag=1,chose;

        。餽intf("\nPlease select query:

        。、No、 inquiries by school;2、Query by class;3、Query by name\n"); scanf("%d",&chose); switch(chose){ case 1:

         printf(”Please enter your query No、 students:”); scanf("%d”,&id); for(i=0;i<input;i++) {

        。椋 (stu[i]、num==id)

          {

         flag=0; stu[i]、sum=stu[i]、score1+stu[i]、score2+stu[i]、score3; stu[i]、ave=stu[i]、sum/3; printf(”\nNo、 Studies\ Name\ No、 classes\ The first subjec\

         The second subject\ The third subject\Average \Total\n"); void InsertStu(struct student stu[ ])

          {

         system(”cls”); int flag=1;

         pp=stu;

        。閚t i,id; if((fp=fopen("insertdata、sys”,”wb+”))==NULL)

          {

         printf("Cannot open

         any key exit!”); getch();

         exit(1);

          }

          void ListStu(struct student stu[])

          {

         int i=0; for(i=0;i〈input;i++)

         {

         stu[i]、sum=stu[i]、score1+stu[i]、score2+stu[i]、score3; stu[i]、ave=stu[i]、sum/3;} printf("\nNo、 Studies\ Name\ No、 classes\ The first subjec\

        。詇e second subject\ The third subject\Average \Total\n”); for(i=0;i<input;i++)

        。鹥rintf("\n %d %s %d \t%d \t%d \t%d

         \t%d

          %d”,stu[i]、num,stu[i]、name,stu[i]、classid,stu[i]、score1,stu[i]、score2,stu[i]、score3,stu[i]、ave, stu[i]、sum);

         }

        。鏴tch();

        。 void DelStu(struct student stu[])

        。

        。髖stem(”cls"); pp=stu;

         int delnum,flag=1;

          char ask;

        。椋顃 i,j; if((fp=fopen("Deldata、sys","wb+"))==NULL)

          {

         printf("Cannot open

        。醤y key exit!”); getch();

          exit(1);

         } void SortStu(struct student stu[])

         {

         system("cls"); int i,j,chose;

         struct student temp; printf(”To sort the data before:\n”); printf("\nNo、 Studies\ Name\ No、 classes\ The first subjec\

        。裕鑕 second subject\ The third subject\Average \Total\n"); for(i=0;i<input;i++) {printf(”\n %d

          %s

         %d

        。ィ鋅t %d\t

         %d\t %d\t %d\n",stu[i]、num,stu[i]、name,stu[i]、classid,stu[i]、score1,stu[i]、score2,stu[i]、score3,stu[i]、ave,stu[i]、sum);

          } printf("\n1、Sort by Student ID\t2、By the average score (high → low) Sort\n");

         void Save(struct student stu[])

          {

        。閚t i,j;

          pp=stu;

         system(”cls"); printf(”\n\n\n\n\t\t\tSaving"); if((fp=fopen(”stu_list2、doc”,”wb+"))==NULL)

          {

         printf("Cannot open

         any key exit!"); getch();

          exit(1); }

          【2】程序執(zhí)行結(jié)果

         【3】結(jié)果得討論:系統(tǒng)最后將修改過后得學(xué)生信息保存了下來 5 5 、 調(diào)試情況

          三科成績(jī)、平均分、總分不能用 float定義應(yīng)改為 int

          定義應(yīng)在函數(shù)得最前端

         文件未定義

         這就是建立學(xué)生信息文件

         添加學(xué)生信息并計(jì)算平均分與總分

         找不到要?jiǎng)h除得學(xué)生信息

          刪除了學(xué)號(hào)為 12 得學(xué)生信息

         修改學(xué)生信息

         新學(xué)生信息記錄

         保存信息后退出程序 6 6 、結(jié)論

         (1)能夠通過編譯時(shí)出現(xiàn)得出錯(cuò)提示信息,進(jìn)行初步得糾錯(cuò)。

         (2)完成一個(gè)程序得一般步驟為設(shè)計(jì),錄入 ,編譯 ,如果出錯(cuò),則修改,然后再編譯,編譯成功后,瞧瞧結(jié)果就是否正確,如果結(jié)果不正確,則再重復(fù)以上步驟。

        。3)從這次編程序得過程中,我學(xué)到了編程所必須具備得專業(yè)技能,更領(lǐng)會(huì)編譯程序所需要得細(xì)心與耐心。

        相關(guān)熱詞搜索:學(xué)生 信息管理系統(tǒng) 編寫

        版權(quán)所有 蒲公英文摘 www.zuancaijixie.com
        91啦在线播放,特级一级全黄毛片免费,国产中文一区,亚洲国产一成人久久精品