欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)學生信息管理系統(tǒng)(文件版)

 更新時間:2022年06月20日 10:53:11   作者:CM666_  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)學生信息管理系統(tǒng)的具體代碼,供大家參考,具體內容如下

下面是我自己用寫的學生信息管理系統(tǒng),為了增加數(shù)據(jù)的利用率,分為學生端和教師端,同時實現(xiàn)賬號密碼登錄,以文件的形式將其存入。

代碼如下

#include <stdio.h>
#include <string.h> 
#include <string>
#include<Windows.h>
#define USER "TOM"  // 事先定義用戶名,用于登錄頁面,驗證身份。 
#define PW "123456789" // 事先定義密碼 ,作用同上。
void Level_menu();//主菜單的聲明--選擇學生端還是老師端。
void Level_2_menu(); //二級菜單——具體功能分化 
void Student_add_Level_3_menu();// 增添學生信息菜單功能分化 
void Student_Insert(); //添加單個學生信息 
void Student_Insert1(); /*為上面批量輸入設置的函數(shù),其代碼與上面的
         單個輸入相似,刪減了一部分*/

void Student_Tongji_menu();//統(tǒng)計菜單部分
void Student_Tongji_menu2();//統(tǒng)計二級菜單 
void Student_Tongji_menu3();//統(tǒng)計 
void IO_ReadInfo();/*將學生信息從文件(student database.txt)中讀出*/ 
void IO_WriteInfo();/*將學生信息寫入文件(Database.txt)*/ 
void student_Delete_menu(); /*刪除學生信息菜單*/
void student_menu1();/*學生查詢課程信息菜單*/
void student_Kecheng_menu2();
void Student_From_high_to_low1(); /*按綜合測評從高到低排序*/ 
void jiangxue_menu();/*獎學金評定辦法*/ 
void Student_Display2();/*顯示學生信息2在獎學金評定時使用*/


 
 
/*定義學生結構體*/ 
struct Student 
{
  char ID[20];  //學號
  char Name[20];  //姓名 
  char sushe[6];  //宿舍房間號 
 float mathA1;  //高等數(shù)學成績 
 float EnglishA1; //大學英語成績 
 float software;  //軟件技術導論
 float china_history;//中國近代史綱要
 float junshi;  //軍事教育
 float xinli;  //心理健康輔導
 float sports;  //體育*/ 
  float C_Mark;  //C語言程學設計成績
  float pingjun;  //總學分
 float Banzhuren; //班主任評分
 float Cepingfen; //測評分 
};

/*聲明學生數(shù)組及學生數(shù)量*/ 
struct Student students[1000]; 
int num=0;
int Num; 

/*通過學號返回數(shù)組下標*/ 
int Student_SearchByIndex(char id[]) 
{
 int i; 
 for (i=0;i<num;i++) 
 {
  if (strcmp(students[i].ID,id)==0) 
  {
   return i; 
  } 
 } 
 return -1; 
}

/*通過姓名返回數(shù)組下標*/
int Student_SearchByName(char name[]) 
{
 int i; 
 for (i=0;i<num;i++) 
 { 
  if (strcmp(students[i].Name,name)==0)
  { 
   return i;
  } 
 } 
 return -1; 
} 

/*通過宿舍成員返回數(shù)組下標*/
void Student_SearchBySushe()

{
 system("cls");
 system("color f0");
 int i;
 char Sushe[6] ;
 printf("請輸入你想要查詢的宿舍房間號: ");
 scanf("%s",&Sushe); 
 printf("%10s%10s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號","高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","總學分","班主任評分","測評分"); 
 printf("------------------------------------------------------------------------------------------------------------------------\n"); 
 
 
  
 for (i=0;i<num;i++) 
 { 
  if (strcmp(students[i].sushe,Sushe)==0)
  { 
   printf("%10s%10s%5s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[i].ID,students[i].Name,students[i].sushe,students[i].mathA1,students[i].EnglishA1,students[i].software,students[i].china_history,students[i].junshi,students[i].xinli,students[i].sports,students[i].C_Mark,students[i].pingjun,students[i].Banzhuren,students[i].Cepingfen); 
  }
  
 } 
 
 printf("數(shù)據(jù)加載完畢!"); 
 Student_Tongji_menu2();
 
} 

/*顯示單條學生記錄*/ 
void Student_DisplaySingle(int index) 
{
 printf("%10s%10s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號","高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","品行分"); 
 printf("------------------------------------------------------------------------------------------------------------------------\n"); 
 printf("%10s%10s%5s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[index].ID,students[index].Name,students[index].sushe,students[index].mathA1,students[index].EnglishA1,students[index].software,students[index].china_history,students[index].junshi,students[index].xinli,students[index].sports,students[index].C_Mark,students[index].pingjun); 
} 

/*增加單條學生記錄*/ 
void Student_Insert() 
{ 
 system("cls");
 system("color f0");
 float a1,a2,a3,a4,a5,a6,a7,a8;
 float j=0; 
 while(1) 
 { 
  printf("請輸入學號:");
  scanf("%s",&students[num].ID); 
  getchar();
  printf("請輸入姓名:"); 
  scanf("%s",&students[num].Name); 
  getchar();
 printf("請輸入宿舍號:"); 
  scanf("%s",&students[num].sushe); 
  getchar();
 printf("請輸入高等數(shù)學成績:"); 
  scanf("%f",&students[num].mathA1); 
  getchar();
  if (59<students[num].mathA1 && students[num].mathA1<100) 
  
   a8= 1.5;  
  
  else
  
   a8=0;
 

 printf("請輸入大學英語成績:"); 
  scanf("%f",&students[num].EnglishA1); 
  getchar();
  if (59<students[num].EnglishA1 && students[num].EnglishA1<100) 
  
   a1= 2;  
  
   else
  
   a1=0;
 

 printf("請輸入軟件技術導論成績:"); 
  scanf("%f",&students[num].software); 
  getchar();
  if (59<students[num].software && students[num].software<100) 
  
   a2= 1.5;  
  
   else
  
   a2=0;
 

 printf("請輸入中國近代史綱要成績:"); 
  scanf("%f",&students[num].china_history); 
  getchar();
  if (59<students[num].china_history && students[num].china_history<100) 
  
   a3= 2.5;  
  
   else
  
   a3=0;
 

 printf("請輸入軍事教育:"); 
  scanf("%f",&students[num].junshi); 
  getchar();
  if (59<students[num].junshi && students[num].junshi<100) 
  
   a4= 2;  
  
   else
  {
   a4=0;
 }

 printf("請輸入心理健康教育成績:"); 
  scanf("%f",&students[num].xinli); 
  getchar();
  if (59<students[num].xinli && students[num].xinli<100) 
  
   a5= 1.5;  
  
   else
  
   a5=0;
 
 printf("請輸入體育成績:"); 
  scanf("%f",&students[num].sports); 
  getchar();
  if (59<students[num].sports && students[num].sports<100) 
  
   a6= 2;  
  
   else
  
   a6=0;
 

 printf("請輸入C語言成績:"); 
  scanf("%f",&students[num].C_Mark); 
  getchar();
  if (59<students[num].C_Mark && students[num].C_Mark<100) 
  
   a7= 3.5;  
  
   else
  
   a7=0;
 
  
  printf("請輸入班主任評分:"); 
  scanf("%f",&students[num].Banzhuren); 
  getchar();
  students[num].pingjun=a1+a2+a3+a4+a5+a6+a7+a8; //總學分 
  
  j=(students[num].pingjun*0.4)+(students[num].Banzhuren*0.6);
  students[num].Cepingfen=j;
  num++;

  printf("是否繼續(xù)?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
  if (getchar()=='N') 
  { 
   Num=num;
   break;
  } 
  } 
}  

 
 /*批量添加學生記錄*/ 
void Student_many1()
{
 { 
  system("cls");
  system("color f0");
  int i,j;
  printf("請輸入你將要添加的人員數(shù): ");
  scanf("%d",&j); 
 for(i=0;i<j;i++)
 {
 Student_Insert1();
 }
 printf("成員添加完畢,是否跳轉至上一級菜單?\n");
 printf("是?,請按任意鍵,確認輸入: \n"); 
  if (getchar()=='Y') 
  { 
   Student_add_Level_3_menu(); 
  } 
  
 }
 } 
/*為上面批量輸入設置的函數(shù),其代碼與上面的
單個輸入相似,刪減了一部分*/ 
void Student_Insert1() 
{ 
 
 {
  printf("請輸入學號:"); 
  scanf("%s",&students[num].ID); 
  getchar(); 
  printf("請輸入姓名:"); 
  scanf("%s",&students[num].Name); 
  getchar();
 printf("請輸入宿舍號:"); 
  scanf("%s",&students[num].sushe); 
  getchar();
 printf("請輸入高等數(shù)學成績:"); 
  scanf("%f",&students[num].mathA1); 
  getchar();
 printf("請輸入大學英語成績:"); 
  scanf("%f",&students[num].EnglishA1); 
  getchar();
 printf("請輸入軟件技術導論成績:"); 
  scanf("%f",&students[num].software); 
  getchar();
 printf("請輸入中國近代史綱要成績:"); 
  scanf("%f",&students[num].china_history); 
  getchar();
 printf("請輸入軍事教育:"); 
  scanf("%f",&students[num].junshi); 
  getchar();
 printf("請輸入心理健康教育成績:"); 
  scanf("%f",&students[num].xinli); 
  getchar();
 printf("請輸入體育成績:"); 
  scanf("%f",&students[num].sports); 
  getchar();
 printf("請輸入C語言成績:"); 
  scanf("%f",&students[num].C_Mark); 
  getchar();
  printf("請輸入班主任評分:"); 
  scanf("%f",&students[num].Banzhuren); 
  getchar();
  if (54<students[num].C_Mark && students[num].C_Mark< 60) //把55~59分之間的成績都加上5分
  {
   students[num].C_Mark += 5;  
  }

  num++;
  } 
} 
/*修改學生信息*/ 
void Student_Modify() 
{ 
 system("cls");
 system("color f0");
 float a1,a2,a3,a4,a5,a6,a7,a8;
 float j=0; 
 while(1) 
 { 
  char id[20]; 
  int index; 
  printf("請輸入要修改的學生的學號:"); 
  scanf("%s",&id); 
  getchar(); 
  index=Student_SearchByIndex(id); 
  if (index==-1) 
  { 
   printf("該學生不存在!\n"); 
   }
  else 
  { 
   printf("你要修改的學生信息為:\n"); 
   Student_DisplaySingle(index); 
   printf("-- 請輸入新值--\n"); 
   /*printf("請輸入學號:"); 
   scanf("%s",&students[index].ID); 
   getchar(); 
   printf("請輸入姓名:"); 
   scanf("%s",&students[index].Name); 
   getchar(); 
 printf("請輸入宿舍號:"); 
   scanf("%s",&students[index].sushe); 
   getchar();
  printf("請輸入高等數(shù)學成績:"); 
   scanf("%f",&students[index].mathA1); 
   getchar();
  printf("請輸入大學英語成績:"); 
   scanf("%f",&students[index].EnglishA1); 
   getchar();
  printf("請輸入軟件技術導論成績:"); 
   scanf("%f",&students[index].software); 
   getchar();
  printf("請輸入中國近代史綱要成績:"); 
   scanf("%f",&students[index].china_history); 
   getchar();
  printf("請輸入軍事教育:"); 
   scanf("%f",&students[index].junshi); 
   getchar();
  printf("請輸入心理健康教育成績:"); 
   scanf("%f",&students[index].xinli); 
   getchar();
  printf("請輸入體育成績:"); 
   scanf("%f",&students[index].sports); 
   getchar();
   printf("請輸入C語言成績:"); 
   scanf("%f",&students[index].C_Mark); 
   getchar();
 printf("請輸入班主任評分:"); 
   scanf("%f",&students[num].Banzhuren); 
   getchar();*/
 printf("請輸入學號:");
  scanf("%s",&students[index].ID); 
  getchar();
  printf("請輸入姓名:"); 
  scanf("%s",&students[index].Name); 
  getchar();
 printf("請輸入宿舍號:"); 
  scanf("%s",&students[index].sushe); 
  getchar();
 printf("請輸入高等數(shù)學成績:"); 
  scanf("%f",&students[index].mathA1); 
  getchar();
  if (59<students[index].mathA1 && students[index].mathA1<100) 
  
   a8= 1.5;  
  
  else
  
   a8=0;
 

 printf("請輸入大學英語成績:"); 
  scanf("%f",&students[index].EnglishA1); 
  getchar();
  if (59<students[index].EnglishA1 && students[index].EnglishA1<100) 
  
   a1= 2;  
  
   else
  
   a1=0;
 

 printf("請輸入軟件技術導論成績:"); 
  scanf("%f",&students[index].software); 
  getchar();
  if (59<students[index].software && students[index].software<100) 
  
   a2= 1.5;  
  
   else
  
   a2=0;
 

 printf("請輸入中國近代史綱要成績:"); 
  scanf("%f",&students[index].china_history); 
  getchar();
  if (59<students[index].china_history && students[index].china_history<100) 
  
   a3= 2.5;  
  
   else
  
   a3=0;
 

 printf("請輸入軍事教育:"); 
  scanf("%f",&students[index].junshi); 
  getchar();
  if (59<students[index].junshi && students[index].junshi<100) 
  
   a4= 2;  
  
   else
  {
   a4=0;
 }

 printf("請輸入心理健康教育成績:"); 
  scanf("%f",&students[index].xinli); 
  getchar();
  if (59<students[index].xinli && students[index].xinli<100) 
  
   a5= 1.5;  
  
   else
  
   a5=0;
 
 printf("請輸入體育成績:"); 
  scanf("%f",&students[index].sports); 
  getchar();
  if (59<students[index].sports && students[index].sports<100) 
  
   a6= 2;  
  
   else
  
   a6=0;
 

 printf("請輸入C語言成績:"); 
  scanf("%f",&students[index].C_Mark); 
  getchar();
  if (59<students[index].C_Mark && students[index].C_Mark<100) 
  
   a7= 3.5;  
  
   else
  
   a7=0;
 
  
  printf("請輸入班主任評分:"); 
  scanf("%f",&students[index].Banzhuren); 
  getchar();
  students[index].pingjun=a1+a2+a3+a4+a5+a6+a7+a8; //總學分 
  
  j=(students[index].pingjun*0.4)+(students[index].Banzhuren*0.6);
  students[index].Cepingfen=j; 

   } 

   printf("是否繼續(xù)?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
   if (getchar()=='N') 
   { 
   break;
   } 

  } 

} 

/*按學號刪除學生信息*/ 
void Student_Delete() 
{ 
 system("cls");
 system("color f0");
 IO_ReadInfo();
 int i; 
 while(1) 
 { 
  char id[20]; 
  int index; 
  printf("請輸入要刪除的學生的學號:"); 
  scanf("%s",&id); 
  getchar(); 
  index=Student_SearchByIndex(id); 
  if (index==-1) 
  { 
   printf("學生不存在!\n"); 
  } 
  else 
  { 
   printf("你要刪除的學生信息為:\n"); 
   Student_DisplaySingle(index); 
   printf("%d",index);
   printf("%d",num);
   { 
    for (i=index;i<num-1;i++) 
    { 
     students[i]=students[i+1];  //把后邊的對象都向前移動 
    }
  
    num--; 
    } 
   printf("已刪除\n");
 
    IO_WriteInfo(); 
   } 

   printf("是否繼續(xù)刪除?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
   if (getchar()=='N') 
   { 
   break;
   } 
  } 
} 

/*按姓名刪除學生信息*/ 
void Student_Delete_1() 
{ 
 system("cls");
 system("color f0");
 IO_ReadInfo();
 int i; 
 while(1) 
 { 
  char name[20]; 
  int index; 
  printf("請輸入要刪除的學生的姓名: "); 
  scanf("%s",&name); 
  getchar(); 
  index=Student_SearchByName(name); 
  if (index==-1) 
  { 
   printf("學生不存在!\n"); 
  } 
  else 
  { 
   printf("你要刪除的學生信息為:\n"); 
   Student_DisplaySingle(index); 
   { 
    for (i=index;i<num-1;i++) 
    { 
     students[i]=students[i+1];  //把后邊的對象都向前移動 
    }
  
    num--; 
    } 
   printf("已刪除\n");
 
    IO_WriteInfo(); 
   } 

   printf("是否繼續(xù)刪除?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
   if (getchar()=='N') 
   { 
   break;
   } 
  } 
} 


/*按姓名查詢*/ 
void Student_Select_1() 
{ 
 while(1) 
 { 
  char name[20]; 
  int index; 

  printf("請輸入要查詢的學生的姓名:"); 
  scanf("%s",&name); 
  getchar(); 
  index=Student_SearchByName(name); 

  if (index==-1) 
  { 
   printf("學生不存在!\n"); 
  } 
  else 
  { 
   printf("你要查詢的學生信息為:\n"); 
   Student_DisplaySingle(index); 
  } 

  printf("是否繼續(xù)?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
  if (getchar()=='N') 
  { 
   break;
  } 

  }
} 
/*按學號查找*/
void Student_Select_2() 
{
 while(1)
 {
  char ID[20];
  int index;
 
  system("cls");
  system("color f0"); 
  printf("請輸入要查詢的學生的學號:"); 
  scanf("%s",&ID);
 getchar();
 index=Student_SearchByIndex(ID);
 
  if (index==-1) 
  { 
   printf("學生不存在!\n"); 
  } 
  else 
  { 
   printf("你要查詢的學生信息為:\n"); 
   Student_DisplaySingle(index); 
  } 

  printf("是否繼續(xù)?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
  if (getchar()=='N') 
  { 
   break;
  } 

  }
 
}

void Student_Search_menu()
{
  int choice;
   while(1) 
 {
 system("cls");
  system("color f0");
 printf("\t\t\t\t\t\t1. 按姓名查詢學生記錄\n"); 
   printf("\t\t\t\t\t\t2. 按學號查詢學生記錄\n");
   printf("\t\t\t\t\t\t3. 返回上一級菜單\n");
 printf("\t\t\t\t\t\t4. 返回主菜單\n");
 printf("\t\t\t\t\t\t請選擇(1-4):");
 scanf("%d",&choice); 
   getchar();
 switch(choice)
 {
  case 1:Student_Select_1();
   break;
  
  case 2:Student_Select_2();
   break;
   
  case 3:Level_2_menu();
   break;
   
 case 4:Level_menu(); 
     break;
     
 } 
 } 
   
   
}

/*按C語言成績從高到低排序*/ 
void Student_From_high_to_low() 
{ 
 int i,j; 
 struct Student tmp; 

 for (i=0;i<num;i++) 
 { 
  for (j=1;j<num-i;j++) 
  { 
   if (students[j-1].C_Mark<students[j].C_Mark) 
   { 
    tmp=students[j-1]; 
    students[j-1]=students[j]; 
    students[j]=tmp; 
   } 
  } 
 } 
} 

/*按C語言成績從低到高排序*/ 
void Student_From_low_to_high()
{
  int i,j; 
 struct Student tmp; 

 for (i=0;i<num;i++) 
 { 
  for (j=1;j<num-i;j++) 
  { 
   if (students[j-1].C_Mark>students[j].C_Mark) 
   { 
    tmp=students[j-1]; 
    students[j-1]=students[j]; 
    students[j]=tmp; 
   } 
  } 
 } 
 
} 


/*按綜合測評從高到低排序*/ 
void Student_From_high_to_low1() 
{ 
 int i,j,k; 
 struct Student tmp; 

 for (i=0;i<num;i++) 
 { 
  for (j=1;j<num-i;j++) 
  { 
   if (students[j-1].Cepingfen<students[j].Cepingfen) 
   { 
    tmp=students[j-1]; 
    students[j-1]=students[j]; 
    students[j]=tmp; 
   } 
  } 
 }
 
 /*system("cls");
 system("color f0");
 while(1) 
 { 
 int k; 
 printf("%10s%10s %8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號"," 高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","品行分","班主任評分","測評分"); 
 printf("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n"); 
 for (k=0;k<num;k++) 
 { 
 if(59<students[k].mathA1&&students[k].mathA1<101&&59<students[k].EnglishA1&&students[k].EnglishA1<101&&59<students[k].software&&students[k].software<101&&59<students[k].china_history&&students[k].china_history<101&&59<students[k].junshi&&students[k].junshi<101&&59<students[k].xinli&&students[k].xinli<101&&59<students[k].sports&&students[k].sports<101&&59<students[k].C_Mark&&students[k].C_Mark<101); 
  {
 printf("%10s%10s %8s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[k].ID,students[k].Name,students[k].sushe,students[k].mathA1,students[k].EnglishA1,students[k].software,students[k].china_history,students[k].junshi,students[k].xinli,students[k].sports,students[k].C_Mark,students[k].pingjun,students[k].Banzhuren,students[k].Cepingfen); 
  }
 }
  printf("數(shù)據(jù)加載完畢!");
 jiangxue_menu(); 
  Student_Tongji_menu3();
  
 } */
}


/*獎學金評定辦法*/
void jiangxue_menu()
{
 float i=0,j=0,k=0;
 int a,b,c;
 i=num*0.1;
 j=num*0.15;
 k=num*0.2;
 a=(int)i;
 b=(int)j;
 c=(int)k;
 printf("一等獎獲得人數(shù)為:%d\n",a);
 printf("二等獎獲獎人數(shù)為:%d\n",b);
 printf("三等獎獲獎人數(shù)為:%d\n",c);
 
 
 
 
}
//對獎學金及格的人員篩選出來 
void jiangxue()
{
 system("cls");
 system("color f0");
 while(1) 
 { 
 int k; 
 printf("%10s%10s %8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號"," 高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","品行分","班主任評分","測評分"); 
 printf("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n"); 
 for (k=0;k<num;k++) 
 { 
 if(59<students[k].mathA1&&students[k].mathA1<101&&59<students[k].EnglishA1&&students[k].EnglishA1<101&&59<students[k].software&&students[k].software<101&&59<students[k].china_history&&students[k].china_history<101&&59<students[k].junshi&&students[k].junshi<101&&59<students[k].xinli&&students[k].xinli<101&&59<students[k].sports&&students[k].sports<101&&59<students[k].C_Mark&&students[k].C_Mark<101); 
  {
 printf("%10s%10s %8s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[k].ID,students[k].Name,students[k].sushe,students[k].mathA1,students[k].EnglishA1,students[k].software,students[k].china_history,students[k].junshi,students[k].xinli,students[k].sports,students[k].C_Mark,students[k].pingjun,students[k].Banzhuren,students[k].Cepingfen); 
  }
 }
  printf("數(shù)據(jù)加載完畢!");
 jiangxue_menu(); 
  Student_Tongji_menu3();
  
 }
}

/*顯示學生信息*/ 
void Student_Display() 
{ 

 system("cls");
 system("color f0");
 while(1) 
 { 
 int i; 
 printf("%10s%10s %8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號"," 高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","品行分"); 
 printf("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n"); 
 for (i=0;i<num;i++) 
 { 
 printf("%10s%10s %8s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[i].ID,students[i].Name,students[i].sushe,students[i].mathA1,students[i].EnglishA1,students[i].software,students[i].china_history,students[i].junshi,students[i].xinli,students[i].sports,students[i].C_Mark,students[i].pingjun); 
 }
  printf("是否繼續(xù)?(Y/N),繼續(xù)請按任意鍵,否則輸入N:"); 
  if (getchar()=='N') 
  { 
   break;
  } 
 }
  
} 

/*顯示學生信息1*/ 
void Student_Display1() 
{ 

 system("cls");
 system("color f0");
 while(1) 
 { 
 int i; 
 printf("%10s%10s %8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號"," 高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","品行分","班主任評分","測評分"); 
 printf("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n"); 
 for (i=0;i<num;i++) 
 { 
 printf("%10s%10s %8s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[i].ID,students[i].Name,students[i].sushe,students[i].mathA1,students[i].EnglishA1,students[i].software,students[i].china_history,students[i].junshi,students[i].xinli,students[i].sports,students[i].C_Mark,students[i].pingjun,students[i].Banzhuren,students[i].Cepingfen); 
 }
  printf("數(shù)據(jù)加載完畢!"); 
  Student_Tongji_menu3();
  
 }
  
} 

/*顯示學生信息2在獎學金評定時使用*/ 
void Student_Display2() 
{ 

 system("cls");
 system("color f0");
 while(1) 
 { 
 int i; 
 printf("%10s%10s %8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s\n","學號","姓名","宿舍號"," 高等數(shù)學","大學英語","軟件技術導論","中國近代史","軍事教育","心理健康教育","大學體育","C語言成績","品行分","班主任評分","測評分"); 
 printf("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n"); 
 for (i=0;i<num;i++) 
 { 
 printf("%10s%10s %8s %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f\n",students[i].ID,students[i].Name,students[i].sushe,students[i].mathA1,students[i].EnglishA1,students[i].software,students[i].china_history,students[i].junshi,students[i].xinli,students[i].sports,students[i].C_Mark,students[i].pingjun,students[i].Banzhuren,students[i].Cepingfen); 
 }
  printf("數(shù)據(jù)加載完畢!");
 jiangxue_menu(); 
  Student_Tongji_menu3();
  
 }
  
} 
/*將學生信息從文件(student database.txt)中讀出*/ 
void IO_ReadInfo() 
{ 
 FILE *fp; 
 int i; 

 if ((fp=fopen("student database.txt","rb"))==NULL) 
 { 
  printf("不能打開文件!\n"); 
  return; 
 }

 if (fread(&num,sizeof(int),1,fp)!=1) 
 { 
  num=-1; 
 } 
 else 
 { 
  for(i=0;i<num;i++) 
  { 
   fread(&students[i],sizeof(struct Student),1,fp); 
  } 
 } 

 fclose(fp); 
} 

/*將學生信息寫入文件(Database.txt)*/ 
void IO_WriteInfo()
{ 
 FILE *fp; 
 int i; 
 if ((fp=fopen("student database.txt","wb"))==NULL) 
 { 
  printf("不能打開文件!\n"); 
  return; 
 } 
 if (fwrite(&num,sizeof(int),1,fp)!=1) 
 { 
  printf("寫入文件錯誤!\n"); 
 } 
 for (i=0;i<num;i++) 
 { 
  if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1) 
  { 
   printf("寫入文件錯誤!\n"); 
  } 
 } 
 fclose(fp); 
}
 /*一級菜單*/ 
 /*賬號密碼登錄*/
void Level_1_menu( )
{ char account[20];
 char password[30];
 int i = 0;
 int j = 3;
 for (; i < 3; i++){
  printf("\n\n\n\n\t\t\t\t\t\t  *主菜單*\n");
 printf("\t\t\t\t\t\t******************\n");
 printf("\t\t\t\t\t\t*請輸入您的賬號:*\n");
 printf("\t\t\t\t\t\t******************\n");
 printf("            請輸入:"); 
 scanf ("%s", account);
 printf("\t\t\t\t\t\t******************\n");
 //scanf ("%s", account);
 printf("\t\t\t\t\t\t******************\n");
 printf("\t\t\t\t\t\t*請輸入您的密碼:*\n"); 
 printf("\t\t\t\t\t\t******************\n");
 printf("            請輸入:"); 
 scanf ("%s", password);
 if (strcmp(USER, account) == 0 && strcmp(PW, password) == 0){
 printf("登錄成功!\n");
 break;
 }
 else{
 j--;
 printf("登錄失敗您還有%d次機會!\n", j);
 }
 }
 if (i == 3){
 printf("登錄失敗,退出!");
 }
 //system("pause");
 system("cls");
 system("color f0"); 
}
/*增加學生信息三級菜單模塊*/ 
 
void Student_add_Level_3_menu()
 {
  int choice;
   while(1) 
 {
 system("cls");
  system("color f0");
  IO_ReadInfo();  //讀取文件 
 printf("\t\t\t\t\t\t1. 單個添加學生信息\n"); 
   printf("\t\t\t\t\t\t2. 批量添加學生信息\n");
   printf("\t\t\t\t\t\t3. 返回上一級菜單\n");
 printf("\t\t\t\t\t\t4. 返回主菜單\n");
 printf("\t\t\t\t\t\t請選擇(1-4):");
 scanf("%d",&choice); 
   getchar();
 switch(choice)
 {
  case 1:Student_Insert();
   IO_WriteInfo();  //寫入文件 
   break;
  
  case 2:Student_many1();
   IO_WriteInfo();  //寫入文件
   break;
   
  case 3:Level_2_menu();
   break;
   
 case 4:Level_menu(); 
     break;
     
 }
 IO_WriteInfo();  //寫入文件 
 } 
   //Student_Insert(); 
   
 }

  /*二級菜單*/ 
  /*主菜單*/
void Level_2_menu( )
{
int choice;
 while(1) 
 { 
  /*二級菜單*/ 
  /*主菜單*/
 system("cls");
  system("color f0");
 IO_ReadInfo();  //讀取文件 
  printf("\n\t\t\t\t\t\t------ 學生成績管理系統(tǒng)------\n"); 
  printf("\t\t\t\t\t\t1. 增加學生記錄\n"); 
  printf("\t\t\t\t\t\t2. 修改學生記錄\n"); 
  printf("\t\t\t\t\t\t3. 刪除學生記錄\n");
 printf("\t\t\t\t\t\t4. 查詢學生記錄\n"); 
  printf("\t\t\t\t\t\t5. 統(tǒng)計學生記錄\n"); 
  printf("\t\t\t\t\t\t6. 退出\n"); 
  printf("\t\t\t\t\t\t請選擇(1-6):"); 

  scanf("%d",&choice); 
  getchar(); 

  switch(choice) 
  { 
  case 1:
   Student_add_Level_3_menu();
   break; 

  case 2: 
   Student_Modify(); 
   break; 

  case 3: 
   student_Delete_menu(); 
   break; 

  case 4: 
   Student_Search_menu();
   break; 

  case 5:
  Student_Tongji_menu();
 break; 
 
  case 6: 
   Level_menu(); 
   break;

  }
 IO_WriteInfo(); 
 } 
}

/*學生端成績查詢模塊*/
void student_Delete_menu()
{
 int choice; 
 while(1)
 {
 system("cls");
  system("color f0");
  IO_ReadInfo();  //讀取文件
 printf("\n\n\n\n\t\t\t\t\t\t************************\n");  
  printf("\t\t\t\t\t\t* 刪除學生信息菜單******\n");
 printf("\t\t\t\t\t\t************************\n");
  printf("\t\t\t\t\t\t*1、按姓名刪除信息  *\n");
 printf("\t\t\t\t\t\t*2、按學號刪除信息  *\n");
 printf("\t\t\t\t\t\t*3、返回上一級功能菜單 *\n");
 printf("\t\t\t\t\t\t*4、返回主菜單   *\n");
 printf("\t\t\t\t\t\t************************\n");
 printf("\t\t\t\t\t\t************************\n"); 
 printf("            請選擇(1-4):"); 
 scanf("%d",&choice);
 
 switch(choice) 
  { 
  case 1:
  system("cls");
   system("color f0");
    Student_Delete_1();
    break;
  case 2:
   system("cls");
   system("color f0");
   Student_Delete(); 
   break;
  case 3:
    Level_2_menu(); 
    break;
    
  case 4:
    Level_menu(); 
    break;  
  }
  
 IO_WriteInfo(); 
 } 
 }
 

/*學生端成績查詢模塊*/
void student_menu()
{
 int choice; 
 while(1)
 {
 system("cls");
  system("color f0");
  IO_ReadInfo();  //讀取文件
 printf("\n\n\n\n\t\t\t\t\t\t*******************\n");  
  printf("\t\t\t\t\t\t*  學生菜單 *\n");
 printf("\t\t\t\t\t\t*******************\n");
  printf("\t\t\t\t\t\t*1、按姓名查詢成績*\n");
 printf("\t\t\t\t\t\t*2、按學號查詢成績*\n");
 printf("\t\t\t\t\t\t*3、查詢課程信息 *\n");
 printf("\t\t\t\t\t\t*4、退出   *\n");
 printf("\t\t\t\t\t\t*******************\n");
 printf("\t\t\t\t\t\t*******************\n"); 
 printf("            請選擇(1-3):"); 
 scanf("%d",&choice);
 
 switch(choice) 
  { 
  case 1:
  system("cls");
   system("color f0");
    Student_Select_1();
    break;
  case 2:
   Student_Select_2();
   break;
   
  case 3:
    student_menu1();
  break; 
   
  case 4:
    Level_menu(); 
    break;
  }
  
 IO_WriteInfo(); 
 } 
 }

 

void student_Kecheng_menu1()
{ printf("\n\n\n\n\t\t\t\t\t\t************************************************\n");
 printf("\t\t\t\t\t\t* 課程代號  課程名稱  學分 必修/選修*\n");
 printf("\t\t\t\t\t\t*B27020100 中國近現(xiàn)代史綱要 2.0  必修 *\n");
 printf("\t\t\t\t\t\t*B10060111 大學英語A1   4.0  必修 *\n");
 printf("\t\t\t\t\t\t*B14010101 大學體育1   2.0  必修 *\n");
 printf("\t\t\t\t\t\t*B06010111 高等數(shù)學A1   5.0  必修 *\n");
 printf("\t\t\t\t\t\t*B08050101 軟件技術導論  2.0  必修 *\n");
 printf("\t\t\t\t\t\t*B08010100 C語言程序設計  5.0  必修 *\n");
 printf("\t\t\t\t\t\t*B08010201 C語言程序設計實訓1 2.0  必修 *\n");
 printf("\t\t\t\t\t\t*B08056601 創(chuàng)新與指導實踐1 1.0  必修 *\n");
 printf("\t\t\t\t\t\t*B21991100 軍事教育   2.0  選修 *\n");
 printf("\t\t\t\t\t\t**************************************************\n");
 printf("\t\t\t\t\t\t**************************************************\n");
 printf("\t\t\t\t\t\t1. 返回上一級菜單\n");
 printf("\t\t\t\t\t\t2. 返回主菜單\n");
 printf("\t\t\t\t\t\t請選擇(1-2):");
  int choice;
 scanf("%d",&choice);
 while(1) 
   
 switch(choice)
 
 {
 
   
  case 1:student_menu1();
   break;
   
 case 2:Level_menu(); 
     break;
     
 }
  //寫入文件
}

void student_Kecheng_menu2()
{ printf("\n\n\n\n\t\t\t\t\t\t************************************************\n");
 printf("\t\t\t\t\t\t* 課程代號  課程名稱  學分 必修/選修*\n");
 printf("\t\t\t\t\t\t*B27010100 思想道德修養(yǎng)  3.0  必修 *\n");
 printf("\t\t\t\t\t\t*B10060112 大學英語A2   4.0  必修 *\n");
 printf("\t\t\t\t\t\t*B14010102 大學體育2   2.0  必修 *\n");
 printf("\t\t\t\t\t\t*B06010112 高等數(shù)學A2   5.0  必修 *\n");
 printf("\t\t\t\t\t\t*B08052200 數(shù)字邏輯設計  2.0  必修 *\n");
 printf("\t\t\t\t\t\t*B06050131 大學物理C1   2.5  必修 *\n");
 printf("\t\t\t\t\t\t*B06020100 離散數(shù)學   4.0  必修 *\n");
 printf("\t\t\t\t\t\t*B08056601 創(chuàng)新與指導實踐2 1.0  必修 *\n");
 printf("\t\t\t\t\t\t*B21991100 C語言程序設計實踐2 2.0  選修 *\n");
 printf("\t\t\t\t\t\t**************************************************\n");
 printf("\t\t\t\t\t\t**************************************************\n");
 printf("\t\t\t\t\t\t1. 返回上一級菜單\n");
 printf("\t\t\t\t\t\t2. 返回主菜單\n");
 printf("\t\t\t\t\t\t請選擇(1-2):");
  int choice;
 scanf("%d",&choice);
 while(1) 
   
 switch(choice)
 
 {
 
   
  case 1:student_menu1();
   break;
   
 case 2:Level_menu(); 
     break;
     
 }
  //寫入文件
}
 
 
/*學生端學生課程查詢模塊*/
void student_menu1()
{
 int choice; 
 while(1)
 {
 system("cls");
  system("color f0");
  IO_ReadInfo();  //讀取文件
 printf("\n\n\n\n\t\t\t\t\t\t*******************\n");  
  printf("\t\t\t\t\t\t*  課程信息 *\n");
 printf("\t\t\t\t\t\t*******************\n");
  printf("\t\t\t\t\t\t*1、第一學期  *\n");
 printf("\t\t\t\t\t\t*2、第二學期  *\n");
 printf("\t\t\t\t\t\t*3、第三學期  *\n");
 printf("\t\t\t\t\t\t*4、第四學期  *\n");
 printf("\t\t\t\t\t\t*5、第五學期  *\n");
 printf("\t\t\t\t\t\t*6、第六學期  *\n");
 printf("\t\t\t\t\t\t*7、第七學期  *\n");
 printf("\t\t\t\t\t\t*8、退出   *\n");
 printf("\t\t\t\t\t\t*******************\n");
 printf("\t\t\t\t\t\t*******************\n"); 
 printf("            請選擇(1-3):"); 
 scanf("%d",&choice);
 
 switch(choice) 
  { 
  case 1:
  system("cls");
   system("color f0");
    student_Kecheng_menu1();
    break;
  case 2:
   system("cls");
   system("color f0");
   student_Kecheng_menu2();
   break;
  case 3:
    
    break;
  case 4:
    
    break;
  case 5:
     
    break;
  case 6:
     
    break;
  case 7:
     
    break;
  case 8:
    Level_menu(); 
    break;
   
  }
  
 IO_WriteInfo(); 
 } 
 }
 
/*統(tǒng)計菜單模塊*/
void Student_Tongji_menu()
{
 int choice; 
 while(1)
 {
 system("cls");
  system("color f0");
  IO_ReadInfo();  //讀取文件
 printf("\n\n\n\n\t\t\t\t\t\t******************************\n");  
  printf("\t\t\t\t\t\t*  學生統(tǒng)計菜單  *\n");
 printf("\t\t\t\t\t\t******************************\n");
  printf("\t\t\t\t\t\t*1、按C語言成績從高到低排序 *\n");
 printf("\t\t\t\t\t\t*2、按C語言成績從低到高排序 *\n");
 printf("\t\t\t\t\t\t*3、按宿舍成員進行統(tǒng)計  *\n");
 printf("\t\t\t\t\t\t*4、獎學金評定    *\n"); 
 printf("\t\t\t\t\t\t*5、返回功能菜單    *\n");
 printf("\t\t\t\t\t\t*6、返回主菜單    *\n");
 printf("\t\t\t\t\t\t******************************\n");
 printf("\t\t\t\t\t\t******************************\n"); 
 printf("            請選擇(1-5):"); 
 scanf("%d",&choice);
 
 switch(choice) 
  { 
  case 1: 
   Student_From_high_to_low();
   Student_Display1();
   break;
    
  case 2:
   Student_From_low_to_high();
  Student_Display1();
  break;
  
 case 3:
   Student_SearchBySushe();
  break;
  
 case 4:
  
   Student_From_high_to_low1();
  Student_Display2(); 
    break;
     
  case 5:
   Level_2_menu( ); 
    break;
    
  case 6:
    Level_menu(); 
    break;
    
  }
  
 IO_WriteInfo(); 
 } 
 }
 
/*統(tǒng)計菜單模塊*/
void Student_Tongji_menu2()
{
 int choice; 
 while(1)
 {
 
  IO_ReadInfo();  //讀取文件
 printf("\n\n\n\n\t\t\t\t\t\t******************************\n");  
  printf("\t\t\t\t\t\t* 你目前在學生宿舍統(tǒng)計頁面! *\n");
 printf("\t\t\t\t\t\t******************************\n");
  printf("\t\t\t\t\t\t*1、返回上一級統(tǒng)計菜單  *\n");
 printf("\t\t\t\t\t\t*2、返回功能選擇菜單   *\n");
 printf("\t\t\t\t\t\t*3、返回主菜單    *\n");
 printf("\t\t\t\t\t\t******************************\n");
 printf("\t\t\t\t\t\t******************************\n"); 
 printf("            請選擇(1-3):"); 
 scanf("%d",&choice);
 
 switch(choice) 
  { 
  case 1: 
    system("cls");
   system("color f0");
   Student_Tongji_menu(); 
    
  case 2:
   system("cls");
   system("color f0");
   Level_2_menu( );
  
 case 3:
   system("cls");
   system("color f0");
   Level_menu();
  }
  
 } 
 }
 
/*統(tǒng)計菜單模塊*/
void Student_Tongji_menu3()
{
 int choice; 
 while(1)
 {
 
  IO_ReadInfo();  //讀取文件
 printf("\n\n\n\n\t\t\t\t\t\t******************************\n");  
  printf("\t\t\t\t\t\t* 你目前按C語言成績統(tǒng)計頁面!*\n");
 printf("\t\t\t\t\t\t******************************\n");
  printf("\t\t\t\t\t\t*1、返回上一級統(tǒng)計菜單  *\n");
 printf("\t\t\t\t\t\t*2、返回功能選擇菜單   *\n");
 printf("\t\t\t\t\t\t*3、返回主菜單    *\n");
 printf("\t\t\t\t\t\t******************************\n");
 printf("\t\t\t\t\t\t******************************\n"); 
 printf("            請選擇(1-3):"); 
 scanf("%d",&choice);
 
 switch(choice) 
  { 
  case 1: 
    system("cls");
   system("color f0");
   Student_Tongji_menu(); 
    
  case 2:
   system("cls");
   system("color f0");
   Level_2_menu( );
  
 case 3:
   system("cls");
   system("color f0");
   Level_menu();
  }
  
 } 
 } 
 
 
/*第一級主菜單學生or老師的判斷*/ 
void Level_menu()
{  int choice;
  while(1)
 { 
 system("cls");
  system("color f0");
  printf("\n\n\n\n\n\n\n\t\t\t\t\t\t******************\n");
 printf("\t\t\t\t\t\t*1、教師端  *\n");
 printf("\t\t\t\t\t\t*2、學生端  *\n");
 printf("\t\t\t\t\t\t*3、退出   *\n");
 printf("\t\t\t\t\t\t******************\n");
 printf("            請選擇(1-3):"); 
 scanf("%d",&choice);
 switch(choice)
 {
  case 1:
   system("cls");
   system("color f0");  
     Level_1_menu(); //一級菜單,密碼登錄。 
     IO_ReadInfo();   //讀取文件
     Level_2_menu(); //二級菜單-主菜單 
     IO_WriteInfo();
  break;
  
 case 2:
  student_menu();
  break; 
 case 3:
  exit(0); 
     break;  
 } 
 } 
 } 


 
/***********主程序*********/ 
main() 
{ 
 Level_menu();
}

關于管理系統(tǒng)的更多內容請點擊《管理系統(tǒng)專題》進行學習

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • opencv實現(xiàn)角點檢測

    opencv實現(xiàn)角點檢測

    這篇文章主要為大家詳細介紹了opencv實現(xiàn)角點檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • c++ 數(shù)組定義及初始化詳解

    c++ 數(shù)組定義及初始化詳解

    這篇文章主要介紹了c++ 數(shù)組定義及初始化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • .h和.cpp文件的區(qū)別(zt)詳細介紹

    .h和.cpp文件的區(qū)別(zt)詳細介紹

    特別是對源文件和頭文件的概念,需要深入對它了解,本文將詳細介紹,需要了解的朋友可以參考下
    2012-11-11
  • C語言簡明講解隊列的實現(xiàn)方法

    C語言簡明講解隊列的實現(xiàn)方法

    隊列(Queue)與棧一樣,是一種線性存儲結構,它具有如下特點:隊列中的數(shù)據(jù)元素遵循“先進先出”(First?In?First?Out)的原則,簡稱FIFO結構。在隊尾添加元素,在隊頭刪除元素
    2022-04-04
  • C++中Covariant返回值類型詳解

    C++中Covariant返回值類型詳解

    這篇文章主要介紹了C++中Covariant返回值類型詳解,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以可以參考一下
    2022-09-09
  • C++設計模式之觀察者模式

    C++設計模式之觀察者模式

    這篇文章主要介紹了C++設計模式之觀察者模式,本文講解了什么是觀察者模式、觀察者模式的UML類圖、觀察者模式的使用場合等內容,需要的朋友可以參考下
    2014-10-10
  • C++通過類實現(xiàn)線性表

    C++通過類實現(xiàn)線性表

    這篇文章主要為大家詳細介紹了C++通過類實現(xiàn)線性表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C++結構體與類指針知識點總結

    C++結構體與類指針知識點總結

    在本篇文章里小編給大家整理了關于C++結構體與類指針知識點以及相關內容,有興趣的朋友們參考學習下。
    2019-09-09
  • linux系統(tǒng)中c++寫日志文件功能分享

    linux系統(tǒng)中c++寫日志文件功能分享

    這篇文章主要介紹了linux系統(tǒng)中c++寫日志文件功能,簡化了glog,只保留了寫日志文件的功能,只是改寫了linux版本,需要的朋友可以參考下
    2014-03-03
  • C語言中獲取進程識別碼的相關函數(shù)

    C語言中獲取進程識別碼的相關函數(shù)

    這篇文章主要介紹了C語言中獲取進程識別碼的相關函數(shù),分別為getpid()函數(shù)和getppid()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08

最新評論