乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      【干貨】學生管理系統(tǒng)源碼分享

       客天 2017-04-03

      大家好

      我就是如假包換的...陳玲

      自從運營了C語言程序設(shè)計微信公眾號

      很多粉絲都給我備注

      ...奇葩

      實在是不敢當

      也被人開始叫玲玲姐

      我知道

      很多人都想看我出境

      我本人也有 1 年多的舞臺演講訓練

      實話告訴大家 —— 我喜歡出境


      不過,既然我們做編程語言公眾號的,就要去掉其他因素,我們挖掘文字本身所蘊含的力量。所以,這次分享的表達方式就是 —— 純文字。


      今天的分享,只有一個目的

      就是上代碼

      那么,準備好了

      #include 

      #include 

      //結(jié)構(gòu)體可以存放的學生信息最大個數(shù),不可變變量

       int const MAX_LENGTH=100; 

       //學生信息結(jié)構(gòu)體數(shù)組,最多可以存放100個學生信息 

       struct student{

      int id; //學號 

      char *name; //姓名 

      int age; //年齡

      float c_score; //C語言成績 

      float english_score; //英語成績 

      float database_score; //數(shù)據(jù)庫成績

      float total_score; //總分 

       }student_array[MAX_LENGTH]; 

       

       //學生信息數(shù)量 

       int student_count=0; 


       //函數(shù)聲明 

       void print_all_students();

       void input_info(); 

       void query_info();

       void modify_info();

       void delete_info(); 

       void compute_total_score();

       void sort_info(); 

       int search_one_student(); 

       void print_one_student(struct student one);

       void delete_one_student(int student_index);

       char * get_item_name(int item_index);

       void modify_one_student(int student_index);

       void sort_by_id();

       void sort_by_c_score(); 

       void sort_by_english_score(); 

       void sort_by_database_score();


       //主函數(shù) 

       int main()

       {

      while(1)

      printf('請選擇要使用的功能:\n');

      printf('錄入信息,請輸入1,然后回車!\n');

      printf('查詢信息,請輸入2,然后回車!\n'); 

      printf('修改信息,請輸入3,然后回車!\n'); 

      printf('刪除信息,請輸入4,然后回車!\n'); 

      printf('計算總分,請輸入5,然后回車!\n'); 

      printf('排序信息,請輸入6,然后回車!\n'); 

      printf('輸出全部,請輸入0,然后回車!\n');

      printf('退出程序,請輸入-1,然后回車!\n'); 

      //函數(shù)選擇變量 

      int function=0;

      //輸入選擇的函數(shù)編號值 

      scanf('%d',&function); 

      //根據(jù)輸入的函數(shù)編號,執(zhí)行對應(yīng)的功能

      switch(function){

      case -1: 

      exit(1);

      case 0: 

      print_all_students(); 

      break;

      case 1: 

      input_info();

      break;

      case 2:

      query_info();

      break; 

      case 3: 

      modify_info();

      break; 

      case 4: 

      delete_info();

      break; 

      case 5: 

      compute_total_score(); 

      break; 

      case 6:

      sort_info(); 

      break; 

      default: 

      printf('請輸入正確的功能編號!?。n\n');

      break;

      return 0; 

       } 

       

       //錄入信息函數(shù)

      void input_info()

       {

      printf('當前功能————錄入信息!\n'); 

      //判斷是否還有空間 

      if(student_count

      {

      //聲明一些臨時變量

      int id=0; char *name=(char *)malloc(100);

      int age=0; float c_score=0; 

      float english_score=0;

      float database_score=0; 

      printf('請輸入學生信息,格式為:學號,姓名,年齡,C語言成績,英語成績,數(shù)據(jù)庫成績\n');

      scanf('%d %s %d %f %f %f',&id,name,&age,&c_score,&english_score,&database_score);

      printf('學生信息校對:學號:%d,姓名:%s,年齡:%d,C語言成績:%f,英語成績:%f,數(shù)據(jù)庫成績:%f\n',id,name,age,c_score,english_score,database_score); 

      //學生信息加入結(jié)構(gòu)體數(shù)組 

      student_array[student_count].id=id;

      student_array[student_count].name=name;

      student_array[student_count].age=age;

      student_array[student_count].c_score=c_score; 

      student_array[student_count].english_score=english_score; 

      student_array[student_count].database_score=database_score; 

      student_count++; 

      //是否繼續(xù)錄入信息

      printf('是否繼續(xù)錄入信息?繼續(xù)請輸入y,返回主菜單輸入n\n');

      char go_on; 

      scanf('%s',&go_on); 

      if(go_on=='y')

      input_info();

      }

      else

      printf('學生結(jié)構(gòu)體數(shù)據(jù)已滿,可以刪除一部分學生信息!\n');

      }

       } 



       //查詢信息函數(shù) 

      void query_info()

       {

      printf('當前功能————查詢信息!\n');

      printf('請輸入學生的學號\n'); 

      int id=0; 

      scanf('%d',&id);

      //查找輸入id學生的序號

      int student_index=search_one_student(id);

      if(student_index!=-1)

      {

      print_one_student(student_array[student_index]); 

      }

      else

      printf('沒有該學號的學生!\n');

      //是否繼續(xù)查詢信息 

      printf('是否繼續(xù)查詢信息?繼續(xù)請輸入y,返回主菜單輸入n\n');

      char go_on; 

      scanf('%s',&go_on);

      if(go_on=='y') 

      query_info();

       } 

       

       

       //修改信息函數(shù)

      void modify_info()

       { 

      printf('當前功能————修改信息!\n');

      printf('請輸入學生的學號\n');

      int id=0; 

      scanf('%d',&id);

      //查找輸入id學生的序號

      int student_index=search_one_student(id);

      if(student_index!=-1)

      modify_one_student(student_index); 

      }

      else

      printf('沒有該學號的學生!\n');

       

       

       //刪除信息函數(shù) 

      void delete_info()

       { 

      printf('當前功能————刪除信息!\n');

      printf('請輸入學生的學號\n'); 

      int id=0;

      scanf('%d',&id);

      //查找輸入id學生的序號

      int student_index=search_one_student(id);

      if(student_index!=-1)

      //防止student_index被改變,傳入temp_index計算

      int temp_index=student_index;

      print_one_student(student_array[temp_index]);

      //刪除前進行確認

      printf('確定刪除學號 %d 同學的信息?繼續(xù)請輸入y\n',id);

      char be_true; 

      scanf('%s',&be_true);

      if(be_true=='y')

      printf('%d\n', student_index); 

      //執(zhí)行刪除動作 

      delete_one_student(student_index); 

      }

      else

      printf('沒有該學號的學生!\n'); 

      //是否繼續(xù)刪除信息

      printf('是否繼續(xù)刪除信息?繼續(xù)請輸入y,返回主菜單輸入n\n');

      char go_on; 

      scanf('%s',&go_on);

      if(go_on=='y') 

      delete_info();

       } 

       

       

       //計算總分函數(shù) 

      void compute_total_score()

       { 

      printf('當前功能————計算總分!\n'); 

      for (int i = 0; i < student_count; ++i)

      student_array[i].total_score=student_array[i].c_score+student_array[i].english_score+student_array[i].database_score; 

      print_one_student(student_array[i]);

      printf('總成績:%f\n', student_array[i].total_score);

      printf('總分計算完成!??!\n');

       } 

       

       

       //成績排序函數(shù)

      void sort_info()

       {

      printf('當前功能————成績排序!\n'); 

      printf('排序前所有學生信息如下:\n');

      print_all_students();

      int sort_type;

      while(1)

      printf('請輸入排序字段,學號:1,C語言成績:2,英語成績:3,數(shù)據(jù)庫成績:4\n');

      scanf('%d',&sort_type);

      if(sort_type>=1&&sort_type<=4)

      break; 

      }

      switch(sort_type)

      case 1: 

      sort_by_id(); 

      break; 

      case 2:

      sort_by_c_score();

      break;

      case 3: 

      sort_by_english_score(); 

      break; 

      case 4: 

      sort_by_database_score(); 

      break;

      printf('排序后所有學生信息如下:\n');

      print_all_students(); 

      //是否繼續(xù)刪除信息 

      printf('是否繼續(xù)排序信息?繼續(xù)請輸入y,返回主菜單輸入n\n'); 

      char go_on;

      scanf('%s',&go_on);

      if(go_on=='y')

      sort_info();

       } 



      //根據(jù)輸入的學號,遍歷結(jié)構(gòu)體數(shù)組,若存在該學生,返回數(shù)組下標,不存在返回-1

      int search_one_student(int id)

       {

      for (int i = 0; i < student_count; ++i)

      if(student_array[i].id==id)

      return i;

      }

      return -1; 

       } 



      //輸出某個學生的信息 

      void print_one_student(struct student one)

      {

      printf('學生信息:學號:%d,姓名:%s,年齡:%d,C語言成績:%f,英語成績:%f,數(shù)據(jù)庫成績:%f\n',one.id,one.name,one.age,one.c_score,one.english_score,one.database_score);



      //輸出所有學生的信息

      void print_all_students()

      if(student_count==0)

      {

      printf('暫無學生信息\n\n\n');

      }

      for (int i = 0; i < student_count; ++i)

      print_one_student(student_array[i]);



      void modify_one_student(int student_index)

      //修改前,輸出學生信息 

      print_one_student(student_array[student_index]); 

      //字段序號初始值 

      int item_index=0; 

      //不允許修改學號字段 

      while(1)

      printf('請輸入要修改的字段序號,姓名:1,年齡:2,C語言成績:3,英語成績:4,數(shù)據(jù)庫成績:5\n'); 

      scanf('%d',&item_index); 

      if(item_index>=1&&item_index<=5)

      break; 

      switch(item_index)

      case 1: 

      printf('請輸入 %s 字段的新值\n', get_item_name(item_index)); 

      char* item_value_1=(char *)malloc(100);

      scanf('%s',item_value_1);

      student_array[student_index].name=item_value_1;

      break;

      case 2:

      printf('請輸入 %s 字段的新值\n', get_item_name(item_index));

      int item_value_2; 

      scanf('%d',&item_value_2);

      student_array[student_index].age=item_value_2;

      break;

      case 3: 

      printf('請輸入 %s 字段的新值\n', get_item_name(item_index));

      float item_value_3;

      scanf('%f',&item_value_3); 

      student_array[student_index].c_score=item_value_3;

      break; 

      case 4:

      printf('請輸入 %s 字段的新值\n', get_item_name(item_index));

      float item_value_4;

      scanf('%f',&item_value_4); 

      student_array[student_index].english_score=item_value_4;

      break; 

      case 5:

      printf('請輸入 %s 字段的新值\n', get_item_name(item_index)); 

      float item_value_5;

      scanf('%f',&item_value_5); 

      student_array[student_index].database_score=item_value_5;

      break; 

      }

      printf('修改成功!新的學生信息如下:\n');

      //修改后輸出學生信息 

      print_one_student(student_array[student_index]);

      //是否繼續(xù)刪除信息 

      printf('是否繼續(xù)修改該學生信息?繼續(xù)請輸入y,返回主菜單輸入n\n');

      char go_on; 

      scanf('%s',&go_on);

      if(go_on=='y') 

      modify_one_student(student_index);



      //刪除數(shù)組對應(yīng)序號的學生信息,把i位置后面的數(shù)據(jù)組元素向前移動覆蓋i,student_count計數(shù)器減1 

      void delete_one_student(int student_index)

      {

      for (int i = student_index; i < student_count-1; ++i) 

      student_array[i]=student_array[i+1]; 

      student_count--;

      printf('刪除完成\n\n\n'); 



      //根據(jù)輸入的字段序號,返回字段名稱

      char * get_item_name(int item_index)

      switch(item_index)

      {  

      case 0:

      return '學號';

      case 1: 

      return '姓名'; 

      case 2:

      return '年齡';

      case 3:

      return 'C語言成績'; 

      case 4:

      return '英語成績';

      case 5: 

      return '數(shù)據(jù)庫成績';

      default: 

      return '';



      //按照id排序,使用最簡單的冒泡排序法

      void sort_by_id()

      for (int i = 0; i < student_count; ++i)

      {

      for (int j = i; j < student_count; ++j) 

      if(student_array[i].id>student_array[j].id)

      {  

      struct student temp=student_array[i]; 

      student_array[i]=student_array[j];

      student_array[j]=temp;

      printf('按照 學號 排序完成\n');



      //按照C語言成績排序,使用最簡單的冒泡排序法

      void sort_by_c_score()

      for (int i = 0; i < student_count; ++i)

      for (int j = i; j < student_count; ++j)

      {

      if(student_array[i].c_score>student_array[j].c_score)

      struct student temp=student_array[i];

      student_array[i]=student_array[j]; 

      student_array[j]=temp;

      }

      printf('按照 C語言成績 排序完成\n');



      //按照英語成績排序,使用最簡單的冒泡排序法 

      void sort_by_english_score()

      for (int i = 0; i < student_count; ++i)

      for (int j = i; j < student_count; ++j)

      if(student_array[i].english_score>student_array[j].english_score)

      struct student temp=student_array[i]; 

      student_array[i]=student_array[j]; 

      student_array[j]=temp;

      }

      }

      }

      printf('按照 英語成績 排序完成\n'); 



      //按照數(shù)據(jù)庫成績排序,使用最簡單的冒泡排序法 

      void sort_by_database_score()

      for (int i = 0; i < student_count; ++i)

      for (int j = i; j < student_count; ++j)

      {

      if(student_array[i].database_score>student_array[j].database_score)

      struct student temp=student_array[i]; 

      student_array[i]=student_array[j]; 

      student_array[j]=temp;

      }

      printf('按照 數(shù)據(jù)庫成績 排序完成\n');

      }



      ------------------------------------------------華麗的分割線-------------------------------------------


      每天還是堅持著上下班,即使上班什么事情也沒做

      每天還是跟往常一樣,在上班時間做著與工作無關(guān)的事情,并幻想著10年、20年、30年以后...

      剛好,差不多一年的時間?;嫉没际?,開始在意家人的期望,在意朋友的眼光。

      哎,看來是做不了高冷的女子了

      青春、 都會有很多不羈的想法,很多天馬行空的夢幻

      我的理想就是不上班,還有數(shù)不盡的錢!

      總覺得以后會有花不完的錢,我也不知道自己這是哪來的勇氣寫這個日志,對此、我就服我自己

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約