1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          學生信息管理系統代碼(使用C語言代碼實現學生信息管理系統怎么寫)

          來源:互聯網轉載 時間:2024-05-13 07:53:52

          程序介紹

          運行程序時,首先進入到菜單部分,菜單部分提供了菜單顯示和輸入功能部分。其運行效果如圖所示。在主界面上輸入0到8內的數字,實現相應的功能。

          主界面輸入1時,進入錄入學生信息的界面,當沒有存儲記錄時,根據提示對學生的信息進行輸入,運行效果如圖所示。

          在存在學生信息的情況下繼續添加學生信息時,會首先顯示存在的學生信息,運行效果如圖所示。

          主界面輸入2時,進入查詢學生信息模塊,根據學生學號,對學生信息進行查詢。運行效果如圖所示。

          在主界面輸入3時,進入到刪除學生信息模塊,輸入需要刪除的學生學號,即可在文件中將該學號的所有信息刪除,運行效果如圖所示。

          當在主界面輸入4時,系統進入到修改學生信息模塊,首先會顯示出所有學生的信息,輸入要修改的學生學號,系統會對輸入的學號進行匹配,若在顯示出來的學生信息中存在,則會提示輸入修改的內容。運行效果如圖所示。

          在主界面輸入5時,可以插入學生信息,根據提示輸入想要插入的位置,以及插入的學號等信息。運行效果如圖所示。

          在主界面輸入6時,可以根據學生的總成績從高到低進行排序。排序完成后,將排序結果保存,但是排序后的結果并不現實在該界面。運行效果如圖所示。

          當在主界面輸入7時,可以對學生的人數進行統計,顯示出統計的人數。運行效果如圖所示。

          當在主界面輸入8時,可以對學生的信息進行顯示,運行效果如圖所示。該圖為對成績進行排序后的顯示結果。

          代碼

          #include<stdio.h>#include<stdlib.h>#include<conio.h>#include<dos.h>#include<string.h>#defineLENsizeof(structstudent)#defineFORMAT"%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"#defineDATAstu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum/***結構體*/structstudent/*定義學生成績結構體*/{intnum;/*學號*/charname[15];/*姓名*/doubleelec;/*選修課*/doubleexpe;/*實驗課*/doublerequ;/*必修課*/doublesum;/*總分*/};/***函數聲明*/structstudentstu[50];/*定義結構體數組*/voidin();/*錄入學生成績信息*/voidshow();/*顯示學生信息*/voidorder();/*按總分排序*/voiddel();/*刪除學生成績信息*/voidmodify();/*修改學生成績信息*/voidmenu();/*主菜單*/voidinsert();/*插入學生信息*/voidtotal();/*計算總人數*/voidsearch();/*查找學生信息*/voidmain()/*主函數*/{system("colorf0\n");//白底黑字intn;menu();scanf("%d",&n);/*輸入選擇功能的編號*/while(n){switch(n){case1:in();break;case2:search();break;case3:del();break;case4:modify();break;case5:insert();break;case6:order();break;case7:total();break;case8:show();break;default:break;}getch();menu();/*執行完功能再次顯示菜單界面*/scanf("%d",&n);}}voidin()/*錄入學生信息*/{inti,m=0;/*m是記錄的條數*/charch[2];FILE*fp;/*定義文件指針*/if((fp=fopen("data.txt","a+"))==NULL)/*打開指定文件*/{printf("文件不存在!\n");return;//直接返回,不在執行}while(!feof(fp))//判斷是否指向結束符{if(fread(&stu[m],LEN,1,fp)==1){m++;/*統計當前記錄條數*/}}fclose(fp);if(m==0){printf("文件中沒有記錄!\n");}else{show();/*調用show函數,顯示原有信息*/}if((fp=fopen("data.txt","wb"))==NULL){printf("文件不存在!\n");return;}printf("輸入學生信息(y/n):");scanf("%s",ch);while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要錄入新信息*/{printf("number:");scanf("%d",&stu[m].num);/*輸入學生學號*/for(i=0;i<m;i++)if(stu[i].num==stu[m].num){printf("number已經存在了,按任意鍵繼續!");getch();fclose(fp);return;}printf("name:");scanf("%s",stu[m].name);/*輸入學生姓名*/printf("elective:");scanf("%lf",&stu[m].elec);/*輸入選修課成績*/printf("experiment:");scanf("%lf",&stu[m].expe);/*輸入實驗課成績*/printf("requiredcourse:");scanf("%lf",&stu[m].requ);/*輸入必修課成績*/stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ;/*計算出總成績*/if(fwrite(&stu[m],LEN,1,fp)!=1)/*將新錄入的信息寫入指定的磁盤文件*/{printf("不能保存!");getch();}else{printf("%s被保存!\n",stu[m].name);m++;}printf("繼續?(y/n):");/*詢問是否繼續*/scanf("%s",ch);}fclose(fp);printf("OK!\n");}voidshow()//增加data.txt文件不存在或者文件內容為空時的顯示{FILE*fp;inti,m=0;fp=fopen("data.txt","rb");//if((fp=fopen("data.txt","a+"))==NULL)/*打開指定文件*///{//printf("文件不存在!\n");//return;//}//fclose(fp);//if(m==0)//printf("文件中沒有記錄!\n");//return;while(!feof(fp)){if(fread(&stu[m],LEN,1,fp)==1)m++;}fclose(fp);printf("numbernameelectiveexperimentrequiredsum\t\n");for(i=0;i<m;i++){printf(FORMAT,DATA);/*將信息按指定格式打印*/}}voidmenu()/*自定義函數實現菜單功能*/{system("cls");printf("\n\n\n\n");printf("\t\t|---------------學生信息管理系統---------------|\n");printf("\t\t|\t\t\t\t\t|\n");printf("\t\t|\t\t1.錄入學生信息\t|\n");printf("\t\t|\t\t2.查找學生信息\t|\n");printf("\t\t|\t\t3.刪除學生信息\t|\n");printf("\t\t|\t\t4.修改學生信息\t|\n");printf("\t\t|\t\t5.插入學生信息\t|\n");printf("\t\t|\t\t6.排序\t\t|\n");printf("\t\t|\t\t7.統計學生總數\t|\n");printf("\t\t|\t\t8.顯示所有學生信息\t|\n");printf("\t\t|\t\t0.退出系統\t\t|\n");printf("\t\t|\t\t\t\t\t|\n");printf("\t\t|----------------------------------------------|\n\n");printf("\t\t\t請選擇(0-8):");}voidorder()/*自定義排序函數*/{FILE*fp;structstudentt;inti=0,j=0,m=0;if((fp=fopen("data.txt","r+"))==NULL){printf("文件不存在!\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("文件中沒有記錄!\n");return;}if((fp=fopen("data.txt","wb"))==NULL){printf("文件不存在!\n");return;}for(i=0;i<m-1;i++)for(j=i+1;j<m;j++)/*雙重循環實現成績比較并交換*/if(stu[i].sum<stu[j].sum){t=stu[i];stu[i]=stu[j];stu[j]=t;}if((fp=fopen("data.txt","wb"))==NULL){printf("文件不存在!\n");return;}for(i=0;i<m;i++)/*將重新排好序的內容重新寫入指定的磁盤文件中*/if(fwrite(&stu[i],LEN,1,fp)!=1){printf("%s不能保存文件!\n");getch();}fclose(fp);printf("保存成功\n");}voiddel()/*自定義刪除函數*//*邏輯:首先判斷data.txt文件是否存在,如果存在,繼續操作,判斷文件是否為空,不為空,則輸入要刪除的學生學號;如果文件不存在返回“文件不存在”,文件內容為空則返回“文件中沒有記錄”輸入學號----判斷是否有這個學號。有:詢問是否刪除,y刪除;n不刪除,“找到了記錄,選擇不刪除!”沒有:“沒有找到這名學生!”*/{FILE*fp;intsnum,i,j,m=0;charch[2];if((fp=fopen("data.txt","r+"))==NULL)//data.txt文件不存在{printf("文件不存在!\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("文件中沒有記錄!\n");//data.txt文件存在,但里面沒有內容return;}printf("請輸入學生學號");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==stu[i].num){printf("找到了這條記錄,是否刪除?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要進行刪除*/{for(j=i;j<m;j++)stu[j]=stu[j+1];/*將后一個記錄移到前一個記錄的位置*/m--;/*記錄的總個數減1*/if((fp=fopen("data.txt","wb"))==NULL){printf("文件不存在\n");return;}for(j=0;j<m;j++)/*將更改后的記錄重新寫入指定的磁盤文件中*/if(fwrite(&stu[j],LEN,1,fp)!=1){printf("cannotsave!\n");getch();}fclose(fp);printf("刪除成功!\n");}else{printf("找到了記錄,選擇不刪除!");}break;}else{printf("沒有找到這名學生!\n");/*未找到要查找的信息*/}}voidsearch()/*自定義查找函數*///新增:搜索文件中沒有的學號時的情況{FILE*fp;intsnum,i,m=0;if((fp=fopen("data.txt","rb"))==NULL){printf("文件不存在!\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("文件中沒有記錄!\n");return;}printf("請輸入number:");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==stu[i].num)/*查找輸入的學號是否在記錄中*/{printf("numbernameelectiveexperimentrequiredsum\t\n");printf(FORMAT,DATA);/*將查找出的結果按指定格式輸出*/break;}if(i==m)printf("沒有找到這名學生!\n");/*未找到要查找的信息*/}voidmodify()/*自定義修改函數*///修正:要修改文件中沒有記錄的學號時,還是說“找到了。。?!眥FILE*fp;structstudentt;inti=0,j=0,m=0,snum;if((fp=fopen("data.txt","r+"))==NULL){printf("文件不存在!\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;if(m==0){printf("文件中沒有記錄!\n");fclose(fp);return;}show();printf("請輸入要修改的學生number:");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==stu[i].num)/*檢索記錄中是否有要修改的信息*/{printf("找到了這名學生,可以修改他的信息!\n");printf("name:");scanf("%s",stu[i].name);/*輸入名字*/printf("elective:");scanf("%lf",&stu[i].elec);/*輸入選修課成績*/printf("experiment:");scanf("%lf",&stu[i].expe);/*輸入實驗課成績*/printf("requiredcourse:");scanf("%lf",&stu[i].requ);/*輸入必修課成績*/printf("修改成功!");stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;if((fp=fopen("data.txt","wb"))==NULL){printf("cannotopen\n");return;}for(j=0;j<m;j++)/*將新修改的信息寫入指定的磁盤文件中*/if(fwrite(&stu[j],LEN,1,fp)!=1){printf("cannotsave!");getch();}fclose(fp);break;}if(i==m)printf("沒有找到這名學生!\n");/*未找到要查找的信息*/}voidinsert()/*自定義插入函數*/{FILE*fp;inti,j,k,m=0,snum;if((fp=fopen("data.txt","r+"))==NULL){printf("文件不存在!\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;if(m==0){printf("文件中沒有記錄!\n");fclose(fp);return;}printf("請輸入要插入的位置(number):\n");scanf("%d",&snum);/*輸入要插入的位置*/for(i=0;i<m;i++)//遍歷if(snum==stu[i].num)//判斷是否存在break;for(j=m-1;j>i;j--)//學號下面的內容stu[j+1]=stu[j];/*從最后一條記錄開始均向后移一位*/printf("現在請輸入要插入的學生信息.\n");printf("number:");scanf("%d",&stu[i+1].num);for(k=0;k<m;k++)//判斷是否存在if(stu[k].num==stu[m].num){printf("number已經存在,按任意鍵繼續!");getch();fclose(fp);return;}printf("name:");scanf("%s",stu[i+1].name);printf("elective:");scanf("%lf",&stu[i+1].elec);printf("experiment:");scanf("%lf",&stu[i+1].expe);printf("requiredcourse:");scanf("%lf",&stu[i+1].requ);stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ;printf("插入成功!按任意鍵返回主界面!");if((fp=fopen("data.txt","wb"))==NULL){printf("不能打開!\n");return;}for(k=0;k<=m;k++)if(fwrite(&stu[k],LEN,1,fp)!=1)/*將修改后的記錄寫入磁盤文件中*/{printf("不能保存!");getch();}fclose(fp);}voidtotal(){FILE*fp;intm=0;if((fp=fopen("data.txt","r+"))==NULL){printf("文件不存在!\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;/*統計記錄個數即學生個數*/if(m==0){printf("norecord!\n");fclose(fp);return;}printf("這個班級一共有%d名學生!\n",m);/*將統計的個數輸出*/fclose(fp);}

          以上就是“使用C語言代碼實現學生信息管理系統怎么寫”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注本站行業資訊頻道。

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          什么是低碳經濟?低碳經濟是人類社會繼農業文明和工業文明之后的又一重大進展,低碳經濟可以減少經濟發展對生態系統碳循環的影響。我國實行低碳生活,對完成碳中和和碳達峰的目標有幫助。“低碳”在資本市場上也得到了廣泛應用,如能源交易中心推出的“碳交易”。簡單地說,碳交易就是碳排放配額的交易,碳排放配額是排放二氧化碳所必需的。有些公司可能沒有配額或配額不足,所以...

          國內成品油價現年內最大降幅是多少?油價年內最大降幅油價會可能回歸6元時代!2019年1月14日24: 00,中國油價經歷新年第一次調整。此次上漲后,中國油價一路上漲,其中11次調整,8次上漲,2次下跌,1次擱淺。我相信很多車主看到加油站估值表上的數字一步步變大,都是欲哭無淚的。油價將開啟新一輪調整窗口,根據目前的信息,今年迎來的油價將會最大程度的下調!有機構預測這次汽柴油價格下調410元/噸,汽油...

          美通卡的使用范圍包括哪些?美通卡如何辦理?美通卡使用方法詳解,隨小編來了解下。美通卡的使用范圍有:北京、天津、河北物美大賣場、美廉美超市、物美生活超市和便利店、北京新華百貨、圣熙8號都可以使用。美通卡辦理:1、在營業時間內,客戶前往物美集團各公司總部、物美門店、美廉美門店和新街口新華百貨,均可辦理購一卡業務。2、客戶當日即可取卡。3、開通時間:現金辦卡:卡在購買次日啟用;支票辦卡:卡在支票到賬當日...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>