亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

慣導(dǎo)信息生成

  • 第14章源代碼控制

    當許多編程人員從事這項工作但又不使用源代碼管理工具時,源代碼管理幾乎不可能進行。Visual SourceSafe是Visual Basic的企業版配備的一個工具,不過這個工具目的是為了保留一個內部應用版本,不向公眾發布(應當說明的是,M i c r o s o f t并沒有開發Visual SourceSafe,它是M i c r o s o f t公司買來的) 。雖然Visual SourceSafe有幫助文本可供參考,但該程序的一般運行情況和在生產環境中安裝 Visual SourceSafe的進程都沒有詳細的文字說明。另外,Visual SourceSafe像大多數M i c r o s o f t應用程序那樣經過了很好的修飾,它包含的許多功能特征和物理特征都不符合 Microsoft Wi n d o w s應用程序的標準。例如,Visual SourceSafe的三個組件之一(Visual SourceSafe Administrator)甚至連F i l e菜單都沒有。另外,許多程序的菜單項不是放在最合適的菜單上。在程序開發環境中實現Visual SourceSafe時存在的復雜性,加上它的非標準化外觀和文檔資料的不充分,使得許多人無法實現和使用 Visual SourceSafe。許多人甚至沒有試用 Vi s u a l  S o u r c e S a f e的勇氣。我知道許多高水平技術人員無法啟動Visual SourceSafe并使之運行,其中有一位是管理控制系統項目師。盡管如此,Visual SourceSafe仍然不失為一個很好的工具,如果你花點時間將它安裝在你的小組工作環境中,你一定會為此而感到非常高興。在本章中我并不是為你提供一些指導原則來幫助你創建更好的代碼,我的目的是告訴你如何使用工具來大幅度減少管理大型項目和開發小組所需的資源量,這個工具能夠很容易處理在沒有某種集成式解決方案情況下幾乎無法處理的各種問題。

    標簽: 源代碼 控制

    上傳時間: 2013-10-24

    上傳用戶:lgd57115700

  • 多功能單片機開發工具

    超級單片機開發工具,包含:模擬/數字轉換表計算,LED 編碼器,色環電阻阻值計算,Hex/Bin轉換,串口調試器,端口監視器等實用功能 單片機開發過程中用到的多功能工具,包括熱敏電阻RT值--HEX數據轉換;3種LED編碼;色環電阻計算器;HEX/BIN 文件互相轉換;eeprom數據到C/ASM源碼轉換;CRC校驗生成;串口調試,帶簡單而實用的數據分析功能;串口/并口通訊監視等功能. 用C++ Builder開發,無須安裝,直接運行,不對注冊表進行操作。純綠色軟件。   1. 模擬/數字轉換表計算 本功能主要用于準備用于查表計算的 R/T 表格,主要用于溫度、濁度等模擬量的測量,根據電路分壓電阻的位置分為兩種,可以參看圖示選擇正確的電路連接形式;可自定義分壓電阻阻值;目前支持8位 /10位轉換精度;可選擇生成匯編/C源代碼格式的數據等。   2. LED 編碼器 本功能主要用于自動根據圖形信息、段位置信息生成可保存在單片機程序存儲器中供查表使用的數據。可自行定義字符的圖形及各段的位置信息;可以選擇LED類型,目前有 7段、14段、16段三種類型;自帶圖形定義,也可自定義并能保存自定義方案;自定義位置信息并可保存;可以生成 8位、4位編碼,4位編碼主要針對一些有 4個COM端的LED/LCD驅動器;同樣可以保存為C/ASM格式數據。   3. 色環電阻阻值計算 本功能主要為記不住色環值的人(像我)用的,比較簡單,單擊相應環的相應顏色,阻值將實時給出。   4. Hex/Bin轉換 Intel Hex格式文件和Bin格式文件相互轉換,本功能使用機會較少。 Hex/Bin文件轉換為文本方式(變量定義方式),將Hex文件或Bin文件轉換為C/ASM源代碼格式的數據。 CRC計算,提供3種計算方法。   5. 串口調試器 可以通過串口接收/發送數據,作為普通的串口調試器,可以手動發送所填內容,也可以發送整個文件;   內存映射功能,對于監控單片機內存非常方便,還可以定義內存變量,自動從接收到的數據中提取變量值,支持字節型、整型、長整型、浮點型、雙精度型、位掩碼(可用于位變量)、數組型(其他不規則變量)等,同時支持10進制、16進制、2進制顯示;可以自由選擇需要實時監測的變量;變量方案可以存盤等等;可以設為固定長度或定義首/尾標志,設置內存中實際起始地址,顯示時和計算變量時用;由map文件自動讀取內存變量(因條件所限,目前只支持由 ImageCraft C(ICC) 編譯器產生的map文件,歡迎提供其他編譯器的map文件樣本);   變量組合,適用于文本方式的變量監測,例如: Var1=1111#var2=2222#var3=333.333   通訊時可以選擇二進制、文本方式顯示;可設置自動滾屏;設置最大顯示行數; 可以選擇多命令交互方式通訊,且可以作為主發方、從發方;主發時可以循環發送所選命令;從發時可以定義自動應答命令,即接收到表中所列的命令后,自動用相應內容應答,是不是很實用?   可以設為手動發送或定時發送。   可自定義通訊超時時間。   可以保存歷史數據,包括發送和接收數據!   計劃加入調制解調器控制。   6. 端口監視器 監視所選串口/并口的一切通訊活動而不占用其資源,可以設置過濾條件,可同時監視多個端口,可以保存數據,可以直接記錄到文件中。

    標簽: 多功能 單片機 開發工具

    上傳時間: 2013-10-13

    上傳用戶:大灰狼123456

  • 多功能單片機開發工具

    超級單片機開發工具,包含:模擬/數字轉換表計算,LED 編碼器,色環電阻阻值計算,Hex/Bin轉換,串口調試器,端口監視器等實用功能 單片機開發過程中用到的多功能工具,包括熱敏電阻RT值--HEX數據轉換;3種LED編碼;色環電阻計算器;HEX/BIN 文件互相轉換;eeprom數據到C/ASM源碼轉換;CRC校驗生成;串口調試,帶簡單而實用的數據分析功能;串口/并口通訊監視等功能. 用C++ Builder開發,無須安裝,直接運行,不對注冊表進行操作。純綠色軟件。   1. 模擬/數字轉換表計算 本功能主要用于準備用于查表計算的 R/T 表格,主要用于溫度、濁度等模擬量的測量,根據電路分壓電阻的位置分為兩種,可以參看圖示選擇正確的電路連接形式;可自定義分壓電阻阻值;目前支持8位 /10位轉換精度;可選擇生成匯編/C源代碼格式的數據等。   2. LED 編碼器 本功能主要用于自動根據圖形信息、段位置信息生成可保存在單片機程序存儲器中供查表使用的數據。可自行定義字符的圖形及各段的位置信息;可以選擇LED類型,目前有 7段、14段、16段三種類型;自帶圖形定義,也可自定義并能保存自定義方案;自定義位置信息并可保存;可以生成 8位、4位編碼,4位編碼主要針對一些有 4個COM端的LED/LCD驅動器;同樣可以保存為C/ASM格式數據。   3. 色環電阻阻值計算 本功能主要為記不住色環值的人(像我)用的,比較簡單,單擊相應環的相應顏色,阻值將實時給出。   4. Hex/Bin轉換 Intel Hex格式文件和Bin格式文件相互轉換,本功能使用機會較少。 Hex/Bin文件轉換為文本方式(變量定義方式),將Hex文件或Bin文件轉換為C/ASM源代碼格式的數據。 CRC計算,提供3種計算方法。   5. 串口調試器 可以通過串口接收/發送數據,作為普通的串口調試器,可以手動發送所填內容,也可以發送整個文件;   內存映射功能,對于監控單片機內存非常方便,還可以定義內存變量,自動從接收到的數據中提取變量值,支持字節型、整型、長整型、浮點型、雙精度型、位掩碼(可用于位變量)、數組型(其他不規則變量)等,同時支持10進制、16進制、2進制顯示;可以自由選擇需要實時監測的變量;變量方案可以存盤等等;可以設為固定長度或定義首/尾標志,設置內存中實際起始地址,顯示時和計算變量時用;由map文件自動讀取內存變量(因條件所限,目前只支持由 ImageCraft C(ICC) 編譯器產生的map文件,歡迎提供其他編譯器的map文件樣本);   變量組合,適用于文本方式的變量監測,例如: Var1=1111#var2=2222#var3=333.333   通訊時可以選擇二進制、文本方式顯示;可設置自動滾屏;設置最大顯示行數; 可以選擇多命令交互方式通訊,且可以作為主發方、從發方;主發時可以循環發送所選命令;從發時可以定義自動應答命令,即接收到表中所列的命令后,自動用相應內容應答,是不是很實用?   可以設為手動發送或定時發送。   可自定義通訊超時時間。   可以保存歷史數據,包括發送和接收數據!   計劃加入調制解調器控制。   6. 端口監視器 監視所選串口/并口的一切通訊活動而不占用其資源,可以設置過濾條件,可同時監視多個端口,可以保存數據,可以直接記錄到文件中。

    標簽: 多功能 單片機 開發工具

    上傳時間: 2013-10-29

    上傳用戶:lacsx

  • 題目: 已知全班有65人

    題目: 已知全班有65人,期末考共8門課,每門功課成績均用百分制(整數)計分,請輸入全班同學成績,在A盤上生成全班成績文件:A:\allscore.dat。輸入形式為: 學號 成績1 成績2 ··· 成績8 long int int int 從全班成績文件中讀出同學成績資料,統計出至少有4門課成績>=85分,其余>=70分的同學及其資料,在D盤上生成D:\score.dat文件;從全班成績文件中找出需要參加補考(有一門或一門以上課程成績<60分)的同學及其資料在C盤上生成補考文件C:\scoreb.dat。

    標簽:

    上傳時間: 2015-02-17

    上傳用戶:zhyiroy

  • 迄今為止

    迄今為止,本書已介紹了可在Microsoft Wi n d o w s操作系統中使用的全部網絡A P I函數。 利用這些函數,我們的應用程序可通過網絡,建立與其他程序的通信聯系。在那些討論中, 我們在很大程度上將重點放在七層O S I模型的應用層和表示層上面

    標簽:

    上傳時間: 2015-07-08

    上傳用戶:royzhangsz

  • struts的詳細說明

    struts的詳細說明,是struts的經典經驗集合,對于做web開發的技術人員來說恨合適d o dio 哦!感覺寫的恨不錯就發上來了!

    標簽: struts

    上傳時間: 2016-01-01

    上傳用戶:懶龍1988

  • (1)自選存儲結構

    (1)自選存儲結構,輸入含n個頂點(用字符表示頂點名稱)和e條邊的圖G; (2)指定任意頂點x為初始頂點,對圖G作DFS遍歷,輸出DFS(深度優先)頂點序列(提示:使用棧實現DFS); (3)指定任意頂點x為初始頂點,對圖G作BFS(廣度遍歷),輸出BFS頂點序列(提示:使用隊列實現BFS); (5)輸入頂點x,查找圖G:若存在含x的頂點,則刪除該結點及與之相關連的邊,并作DFS遍歷(執行操作3);否則輸出信息“不存在x”; (6)判斷圖G是否是連通圖,輸出信息“YES”/“NO”; (7)如果選用的存儲結構是鄰接矩陣,則用鄰接矩陣的信息生成圖G的鄰接表

    標簽: 存儲結構

    上傳時間: 2017-08-29

    上傳用戶:ecooo

  • plc虛擬復卷機

    模擬復卷機運動,可以通過串口通信,使用的是松下的MEWTOCOL協議,會在D盤根目錄生成一個配置文件,可以通過修改配置文件調試按鈕指令

    標簽: plc 虛擬 復卷機

    上傳時間: 2016-08-04

    上傳用戶:zhaomenshi

  • 成績查詢系統

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學生信息   {   FILE *fp;     if((fp=fopen("d:\\學生信息.txt","wb"))==NULL)       {       printf("不能打開文件!\n");       }     else       {       printf("保存信息到D盤\n");       fprintf(fp,"本班所有學生具體信息如下:\r\n");       fprintf(fp,"  學號       姓名           數學成績       英語成績     計算機成績     平均成績\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系統   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統計成績總函數   {   int c;   c=search_student2(iNumOfStu);   printf("學號:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績錄入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//統計成績   {   printf("數學新成績:");   scanf("%f",&stu[a].sco.math);   printf("英語新成績:");   scanf("%f",&stu[a].sco.english);   printf("計算機新成績:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改學生資料   {   printf("學號:%d----修改為:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改為:",stu[a].name);   gets(stu[a].name);   printf("數學成績:%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語成績:%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計算機成績:%.2f----修改為:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改總函數   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此學生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//刪除總函數   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否刪除此條記錄?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("記錄已刪除!\n");     }   } void delete_student2(int a,int b)//刪除學生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查詢總函數   {   printf("1、按學號查詢\n2、按平均分最高查詢\n請選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜單調度總函數   {   print_menu();   choosemenu();   } void sort_student1(void)//排序總函數   {   printf("1、按數學成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//顯示全部學生資料   {   printf("本班所有學生具體信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//顯示學生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//顯示表頭   {   printf("  學號       姓名           數學成績       英語成績     計算機成績     平均成績\n");   } void input_student4(int a,int b)//覆蓋原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判斷學號是否重復   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此學號代表的學生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替換!\n");             break;             }           case 2:             {             printf("請重新輸入學生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//輸出菜單   {   printf("======歡迎來到學生信息管理系統======\n");   printf("      1、輸入學生資料\n");   printf("      2、刪除學生資料\n");   printf("      3、查詢學生資料\n");   printf("      4、修改學生資料\n");   printf("      5、顯示學生資料\n");   printf("      6、統計學生成績\n");   printf("      7、排序學生成績\n");   printf("      8、保存學生資料\n");   printf("      9、獲取幫助信息\n");   printf("      10、退出系統\n");   printf("====================================\n");   printf("請選擇:");   } void input_student2(void)//輸入總函數   {   char end;   printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//輸入學生信息   {   printf("學號:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("數學成績:");   scanf("%f",&stu[a].sco.math);   printf("英語成績:");   scanf("%f",&stu[a].sco.english);   printf("計算機成績:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計算學生平均成績   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查詢并輸出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照數學成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英語成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照計算機成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照學號查找學生并輸出   {   int num;   int c;   printf("請輸入要查詢的學號:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此學生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜單選擇   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         運行結果:                         源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面)  

    標簽: 成績查詢系統

    上傳時間: 2019-06-08

    上傳用戶:啊的撒旦

  • 學生成績guanli

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學生信息   {   FILE *fp;     if((fp=fopen("d:\\學生信息.txt","wb"))==NULL)       {       printf("不能打開文件!\n");       }     else       {       printf("保存信息到D盤\n");       fprintf(fp,"本班所有學生具體信息如下:\r\n");       fprintf(fp,"  學號       姓名           數學成績       英語成績     計算機成績     平均成績\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系統   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統計成績總函數   {   int c;   c=search_student2(iNumOfStu);   printf("學號:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績錄入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//統計成績   {   printf("數學新成績:");   scanf("%f",&stu[a].sco.math);   printf("英語新成績:");   scanf("%f",&stu[a].sco.english);   printf("計算機新成績:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改學生資料   {   printf("學號:%d----修改為:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改為:",stu[a].name);   gets(stu[a].name);   printf("數學成績:%.2f----修改為:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英語成績:%.2f----修改為:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("計算機成績:%.2f----修改為:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改總函數   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此學生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//刪除總函數   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否刪除此條記錄?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("記錄已刪除!\n");     }   } void delete_student2(int a,int b)//刪除學生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查詢總函數   {   printf("1、按學號查詢\n2、按平均分最高查詢\n請選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜單調度總函數   {   print_menu();   choosemenu();   } void sort_student1(void)//排序總函數   {   printf("1、按數學成績排序\n2、按英語成績排序\n3、按計算機成績排序\n4、按平均成績排序\n請選擇:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//顯示全部學生資料   {   printf("本班所有學生具體信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//顯示學生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//顯示表頭   {   printf("  學號       姓名           數學成績       英語成績     計算機成績     平均成績\n");   } void input_student4(int a,int b)//覆蓋原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判斷學號是否重復   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此學號代表的學生已錄入\n1、覆蓋原信息\n2、重新輸入\n請選擇:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替換!\n");             break;             }           case 2:             {             printf("請重新輸入學生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//輸出菜單   {   printf("======歡迎來到學生信息管理系統======\n");   printf("      1、輸入學生資料\n");   printf("      2、刪除學生資料\n");   printf("      3、查詢學生資料\n");   printf("      4、修改學生資料\n");   printf("      5、顯示學生資料\n");   printf("      6、統計學生成績\n");   printf("      7、排序學生成績\n");   printf("      8、保存學生資料\n");   printf("      9、獲取幫助信息\n");   printf("      10、退出系統\n");   printf("====================================\n");   printf("請選擇:");   } void input_student2(void)//輸入總函數   {   char end;   printf("請輸入學生信息(在最后一個學生信息錄入完成后以“/”結束錄入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//輸入學生信息   {   printf("學號:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("數學成績:");   scanf("%f",&stu[a].sco.math);   printf("英語成績:");   scanf("%f",&stu[a].sco.english);   printf("計算機成績:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//計算學生平均成績   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查詢并輸出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照數學成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英語成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照計算機成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成績排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照學號查找學生并輸出   {   int num;   int c;   printf("請輸入要查詢的學號:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此學生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜單選擇   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回車鍵返回主菜單");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         運行結果:                         源文件下載地址: http://115.com/file/clnq138g#一個簡單的學生成績管理系統.rar (請將此地址復制到瀏覽器地址欄中訪問下載頁面)   #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學生信息 void input_student2(void);//輸入總函數 void input_student3(int &,int);//判斷學號是否重復 void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數學成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學生信息 void print_student1(int);//顯示全部學生資料 void sort_student1(void);//排序總函數 void menu(void);//菜單調度總函數 int search_student2(int);//按學號查詢學生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數 void delete_student2(int,int);//刪除學生信息 void delete_student1(void);//刪除總函數 void change_student2(int);//修改學生資料 void change_student1(void);//修改總函數 void input_score3(int);//統計成績 void input_score1(void);//統計成績總函數 void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統 void save_student(student *,int);//保存學生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存學生信息   {   FILE *fp;     if((fp=fopen("d:\\學生信息.txt","wb"))==NULL)       {       printf("不能打開文件!\n");       }     else       {       printf("保存信息到D盤\n");       fprintf(fp,"本班所有學生具體信息如下:\r\n");       fprintf(fp,"  學號       姓名           數學成績       英語成績     計算機成績     平均成績\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系統   {   exit(1);   } void print_help(void)//輸出幫助信息   {   printf("本系統所能容納的最大學生數為%d人\n學生信息保存在D盤根目錄下,保存文件為“學生信息.txt”。\n感謝使用!\n",N);   } void input_score1(void)//統計成績總函數   {   int c;   c=search_student2(iNumOfStu);   printf("學號:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成績錄入成功!

    標簽: c語言

    上傳時間: 2019-06-09

    上傳用戶:啊的撒旦

主站蜘蛛池模板: 钦州市| 门头沟区| 江城| 广东省| 永靖县| 肃北| 仙桃市| 德化县| 赤城县| 威远县| 通城县| 北京市| 万山特区| 综艺| 浙江省| 集安市| 攀枝花市| 汶上县| 虞城县| 韶关市| 顺平县| 紫云| 竹溪县| 福清市| 岳普湖县| 罗田县| 友谊县| 历史| 北票市| 大同市| 易门县| 桓台县| 庐江县| 绥芬河市| 金阳县| 伊川县| 土默特右旗| 宜良县| 广灵县| 石阡县| 北安市|