我剛接觸計(jì)算機(jī)的時(shí)候?qū)懙某绦?/h2>

我早年寫的一個(gè)程序,大一上半學(xué)期的時(shí)候?qū)懙?/h3>

當(dāng)時(shí)讀大一,這是我哥給我的一個(gè)題,計(jì)算機(jī)研究生的機(jī)試最后一道大題,當(dāng)時(shí)的我就躍躍欲試三個(gè)小時(shí),做出來(lái)這個(gè)樣子:

用C語(yǔ)言,沒(méi)有持久化,實(shí)現(xiàn):

操作提示: 1.插入記錄 2.查詢記錄 3.按英語(yǔ)成績(jī)排序 4.刪除記錄 5.修改記錄 6.退出

超級(jí)簡(jiǎn)單,程序也很拙劣。當(dāng)時(shí)那種心境,發(fā)出來(lái)懷念。

#include <stdio.h>
struct student
{
  int number;
  char name[20];
  int math;
  int english;
  int mark;
};
struct student stu[200],exc;
struct student list[200];  //排序用
int n=0; //數(shù)組的總數(shù)

int fun1()
{
  printf("輸入新的學(xué)生學(xué)號(hào),數(shù)學(xué)成績(jī),英語(yǔ)成績(jī),名字 逗號(hào)隔開(kāi)\n");
  scanf("%d,%d,%d,%s",&stu[n].number,&stu[n].math,&stu[n].english,stu[n].name);
  stu[n].mark=n;
  n++;
  return 0;
}
int fun2()
{
  printf("輸入查詢的學(xué)生學(xué)號(hào):\n");
  int l;//暫時(shí)存儲(chǔ)輸入學(xué)號(hào)
  int i,x=0;
  scanf("%d",&l);
  printf("查詢結(jié)果:\n");
  for(i=0;i<=n;i++)
  {
    if(stu[i].number==l)
    {
      printf("\n學(xué)生信息:\n學(xué)號(hào):%d\n名字:%s\n數(shù)學(xué)成績(jī):%d\n英語(yǔ)成績(jī):%d\n",stu[i].number,stu[i].name,stu[i].math,stu[i].english);
      x=1;
    }
    if(x==0)printf("未找到\n");
  }
  return 0;
}
int fun3()
{
  
  int i,j,min,imin;
  
  for(i=0;i<n;++i)
    list[i]=stu[i];
  for(j=0;j<n;j++)
  {
    min=list[j].english;     //initialization the min
    for(i=j;i<n;i++)
    {
      if(list[i].english<=min)
        imin=i;  //mark the min's situation
    }
    exc=list[imin];                  //exchange the a[j] and a[min]
    list[imin]=list[j];
    list[j]=exc;
  }
  for(i=0;i<n;++i)//輸出循環(huán)
  {
    
    printf("學(xué)號(hào):%d 名字:%s 數(shù)學(xué)成績(jī):%d 英語(yǔ)成績(jī):%d\n",list[i].number,list[i].name,list[i].math,list[i].english);
  }
  return 0;
}
int fun4()
{
  printf("輸入刪除的學(xué)號(hào):\n");
  int d;
  int lin,i,j;
  scanf("%d",&d);
  for(i=0;i<=n;++i)
  {
    if(stu[i].number==d)
    {
      lin=stu[i].mark;
      for(j=lin;j<=(n-1);++j)
      {stu[lin]=stu[lin+1];}
      n-=1;
    }
  }
  return 0;
}
int fun5()
{
  printf("請(qǐng)輸入要修改信息的學(xué)生的學(xué)號(hào);\n");
  int l;//暫時(shí)存儲(chǔ)輸入學(xué)號(hào)
  int i,x=0;
  scanf("%d",&l);
  for(i=0;i<n;i++)
  {
    if(stu[i].number==l)
    {
      printf("輸入該學(xué)號(hào)新的學(xué)號(hào),數(shù)學(xué)成績(jī),英語(yǔ)成績(jī),名字 逗號(hào)隔開(kāi)\n");
      scanf("%d,%d,%d,%s",&stu[i].number,&stu[i].math,&stu[i].english,stu[i].name);
      x=1;
    }
    
  }
  if(x==0)printf("找不到改學(xué)號(hào)的信息\n");
  return 0;
}
int main()
{
  int i;
  /*  學(xué)號(hào)初始化 */
  for(i=0;i<200;++i)
    stu[i].number=0;
  
  int s; //操作提示使用變量
  while(printf("操作提示:\n1.插入記錄\n2.查詢記錄\n3.按英語(yǔ)成績(jī)排序\n4.刪除記錄\n5.修改記錄\n6.退出\n"),scanf("%d",&s)!=EOF)
  {
    switch(s)
    {
      case 1:fun1();break;
      case 2:fun2();break;
      case 3:fun3();break;
      case 4:fun4();break;
      case 5:fun5();break;
      case 6:return 0;
      default : printf("error!\n");break;
    }
  }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容