ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:39.54KB ,
资源ID:2682803      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2682803.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(语言专业课程设计网学生成绩标准管理系统.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

语言专业课程设计网学生成绩标准管理系统.doc

1、一)、课程设计题目 《学生成绩管理系统》设计与实现   (二)、课程设计目 1、  进一步掌握和运用C语言进行程设计能力; 2、  进一步理解和运用构造化程设计思想和办法; 3、  初步掌握开发一种小型实用系统基本办法; 4、  学会调试一种较长程序基本办法; 5、  学会运用流程图或N-S图表达算法; 6、  掌握书写程设计开发文档能力(书写课程设计报告);     (三)、设计内容 1、每一条记录涉及一种学生学号、姓名、3门课成绩、平均成绩。 2、输入功能:可以一次完毕若干条记录输入。 3、显示功能:完毕所有学生记录显示。 4、查找功能:完毕按姓名查找学生

2、记录,并显示。 5、排序功能:按学生平均成绩进行排序。 6、插入功能:按平均成绩高低插入一条学生记录。 7、将学生记录存在文献score中。 8、应提供一种界面来调用各个功能,调用界面和各个功能操作界面应尽量清晰美观!   (四)、设计规定 1、  用C语言实现系统; 2、  运用构造体数组实现学生成绩数据构造设计; 3、  系统具备增长,查询,插入,排序等基本功能; 4、  系统各个功能模块规定用函数形式实现; 5、  完毕设计任务并书写课程设计报告。 6、  将学生成绩信息存在文献中。   (五)、提交材料 1、课程设计报告 1)课程设计题目、内容、规定。

3、 2)总体设计(包括几大功能模块)。 3)详细设计(各功能模块详细实现算法——流程图) 4)数据构造设计描述,各模块(函数)功能简介,参数阐明等。 5)调试分析(包括各模块测试用例,及测试成果。) 6)总结(课程设计完毕了哪些功能,尚有哪些地方需要改进,及通过一周课程设计有何收获,调试程序体会等) 二:本程序共有八个功能与数据构造阐明: 1.学生记录输入(一次性输入,输入个数由顾客决定,最大可容纳80记录,最大数可以在源程序中改) 。 2.追加学生记录。(追加后不能超过最在值80)。 3.修改记录。 4.删除记录。 5.浏览所有记录。 6.查找记录(按姓名查找)。 7.

4、插入记录。 8.对记录进行排序(按平均成绩排序)。 9.退出。 10.数据构造是这样:学号只能由数字字符构成,最大可以11个字符;姓名由字符构成,最大可以20个字符;三门科目分数都是整型;平均成绩是实型。 11.程序中定义了学生容量为50个。容量可以在源程序宏定义中改,本程序宏定义#define N 50 #include #include /*控制学生记录容量*/ #define N 50 struct student {char num[11];  char name[20];  int score[3];  float av

5、e; }stu[N]; /*全新保存函数*/ save(int n)                      /*保存函数,保存n个记录*/ {FILE *fp;  int i;  if((fp=fopen("score.txt","wb"))==NULL)    /*以输出打开方式,在此前记录被覆盖*/   {printf("\nCannot open file\n");    return NULL;   }  for(i=0;i

6、 if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)        printf("file write error\n");  fclose(fp); }  /*加载记录或可以计算记录个数函数*/ load()                       /*加载记录或可以计算记录个数函数*/ {FILE *fp;  int i;  if((fp=fopen("score.txt","rb"))==NULL)    /*以输出打开方式,在此前记录被覆盖*/   {printf("\nCannot open file\n");

7、    return NULL;   }  for(i=0;!feof(fp);i++)   fread(&stu[i],sizeof(struct student),1,fp);  fclose(fp);  return(i-1);                /*返回记录个数*/ } /*一种任务结束时选取浏览还是返回函数*/ void printf_back()              /*一种任务结束时选取浏览还是返回*/ {int k,w;  printf("\n\n\tSuccessful. ^_^\n\n");  printf("What do you

8、 want to do?\n\n\t1).Browse all now\t2).Back:  [ ]\b\b");  scanf("%d",&w);  if(w==1) browse();  else menu(); } /*显示数据构造项目函数*/ void printf_face()            /*显示数据构造项目*/ {printf("\n\tNO.  name                 score1   score2   score3  average\n"); } average(int i)                    /*对第i个记录

9、分数求平均值*/ {int j,sum;  for(sum=0,j=0;j<3;j++)    sum+=stu[i].score[j];  stu[i].ave=sum/3.0; } /*学号输入函数*/ no_input(int i,int n)                  /*i表达第i个学生信息,n表达比较到第n个学生*/ {int j,k,w1;   do   {w1=0;    printf("NO.:");    scanf("%s",stu[i].num);    for(j=0;stu[i].num[j]!='\0';j++)         

10、 /*学号输入函数,作了严格规定*/      if(stu[i].num[j]<'0'||stu[i].num[j]>'9')     /*判断学号与否为数字*/        {puts("Input error!Only be made up of (0-9).Please reinput!\n");         w1=1;break;        }    if(w1!=1)     for(k=0;k

11、stu[k].num,stu[i].num)==0)    /*判断学号与否有雷同*/        {puts("This record is exist. please reinput!\n");         w1=1;break;        }   }   while(w1==1); } /*对分数输入*/ score_input(int i) {int j;  for(j=0;j<3;j++)   {printf("score %d:",j+1);    scanf("%d",&stu[i].score[j]);   } }  /*输入一种记录函

12、数*/ input(int i)                           /*输入一种记录函数*/ {  no_input(i,i);                      /*调用学号输入函数*/  printf("name:");  scanf("%s",stu[i].name);  score_input(i);           /*调用分数输入函数*/  average(i);               /*调用求平均值函数*/ }  /*显示一种记录函数*/ printf_one(int i)                         

13、     /*显示一种记录函数*/ {int j;  printf("%11s  %-17s",stu[i].num,stu[i].name);  for(j=0;j<3;j++)    printf("%9d",stu[i].score[j]);  printf("%9.2f\n",stu[i].ave); } void puts___()     /*显出---函数*/ {puts("\n--------------------------------------------------------------------"); } /*修改记录函数*/ modify

14、data(int i,int n)          /*修改数据函数,修改第i个记录*/ {int c,w1;   do                              /*输入选取作个判断*/    {puts("\nmodify by =>\n\n  1).NO.  2.name  3).score1  4).score2\n  5).score3  6).all score  7).all data  8).cancel and back");     printf("Which you needed?:[ ]\b\b");     scanf("%d",&c);

15、     if(c>8||c<1)             {puts("\nChoice error!Please again!");   /*判断选取与否错误,若是则重新选取性*/              getchar();    /*当输入是字符时可以防止死循环*/             }    }    while(c>8||c<1);   do    {switch(c)                     /*选取要修改项目*/     {case 1:no_input(i,n);break;    /*调用学号输入函数*/      case 2:

16、printf("name:");scanf("%s",stu[i].name);break;      case 3:printf("score1:");scanf("%d",&stu[i].score[0]);break;      case 4:printf("score2:");scanf("%d",&stu[i].score[1]);break;      case 5:printf("score3:");scanf("%d",&stu[i].score[2]);break;      case 6:score_input(i);break;/*调用分数输入函数*/     

17、 case 7:input(i);break;   /*调用输入整条学生记录*/      case 8:menu();   /*直接返回主介面*/     }     if(c>2&&c<7)       average(i);                  /*调用求平均值函数*/     puts("\nNow:\n");     printf_face();                         /*调用显示数据构造项目函数*/     printf_one(i);                 /*修改后记录让顾客确认*/     printf("\n

18、Are you sure?\n\n\t1).Sure  2).No and remodify   3).Back without save in this time   [ ]\b\b");  /*与否拟定*/     scanf("%d",&w1);   /*选取2则表达这次修改错误要重新修改*/    }    while(w1==2);   return(w1);        /*返回控制值*/ }  /****************输入模块****************/ enter()                           /*输入模块*/ {in

19、t i,n;  printf("How many students(0-%d)?:",N);  scanf("%d",&n);                  /*要输入记录个数*/  printf("\nEnter data now\n\n");  for(i=0;i

20、 /*调用保存函数*/  printf_back();                       /*一种任务结束时让顾客选取是浏览还是返回*/}  /****************追加模块****************/ add()                             /*追加模块*/ {int i,n,m,k;  FILE *fp;  n=load();  printf("How many students are you want to add(0-%d)?:",N-n);  scanf("%d",&m);               /*输入要

21、追加记录个数*/  k=m+n;  for(i=n;i

22、文献*/    if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)      printf("file write error\n");  fclose(fp);  printf_back();                       /*一种任务结束时选取浏览还是返回*/ }  /****************修改模块****************/ modify()                         /*修改模块*/ {struct student s;  FILE *fp;  int i,n,k,

23、w0=1,w1,w2=0;  n=load();  do  {clrscr();   k=-1;   /*给顾客看所有记录以便确认要修改记录*/   puts___();             /*显示-----*/   printf_face();                /*调用显示数据构造项目函数*/   for(i=0;i

24、ontiune  . . .");         getch();         puts("\n\n");        }      printf_one(i);                  /*调用显示一种记录函数*/     }   puts___();   do    {printf("\n\nEnter NO. that you want to modify!    NO.:");     scanf("%s",s.num);                /*输入要修改数据学号*/     for(i=0;i

25、    /*查找要修改数据*/      if(strcmp(s.num,stu[i].num)==0)        {k=i;                      /*找到要修改记录*/         s=stu[i];                /*把stu[i](即当次修改学生记录)备份给s,以便顾客反悔时恢复名誉*/        }     if(k==-1) printf("\n\nNO exist!please again");    }    while(k==-1);            /*当K=-1表达没有找到*/   printf_fac

26、e();               /*调用显示数据构造项目函数*/   printf_one(k);                  /*调用显示一种记录函数*/   w1=modify_data(k,n);          /*修改学生记录并且返回保存控制值w1,w1=1则表达顾客已确认修改*/   if(w1==1)       /*W1等于1时则表达顾客拟定这次修改*/     {printf("\nSuccessful ^_^.\n\nAre you modify another?\n\n\t1).Yes  2).Back with save\t[ ]\b\b");

27、     scanf("%d",&w0);      w2=1;         /*来控制保存,使w2=1是标记已有过修改*/     }   else     {w0=0;      if(w2==1)        stu[k]=s;     }      /*走到这里是由于顾客没有确认这次修改(在调用修改函数w1=modify_data(k,n);时没有确认).  使W0=0,为了让终结循环,   stu[k]=s,则把备份s恢复给stu[k](即当次修改),这样好处是保证在此之前修改过成功保存,而本次(顾客没有确认)不修改*/   if(w0!=1&&w2==1) 

28、    /*W0不等于1则表达正常返回,w2=1表达在此之前有过修改,这时就保存顾客已确认修改并返回*/         save(n);       /*w2不等于1表达在本次之前没有修改过(即:第一次),而又反悔这次修改,则不保存返回*/   }   while(w0==1);  menu(); } /****************删除模块****************/ del()                             /*删除模块*/ {struct student s;  FILE *fp;  int i,j,n,k,c,w0=1;  n=

29、load();  do  {clrscr();   k=-1;   /*给顾客看所有记录以便确认要删除记录*/   puts___();   printf_face();                /*调用显示数据构造项目函数*/   for(i=0;i

30、");         getch();         puts("\n\n");        }       printf_one(i);                   /*调用显示一种记录函数*/      }   puts___();   do    {printf("\n\nEnter NO. that you want to Delete!    NO.:");     scanf("%s",s.num);                /*输入要修改数据学号*/     for(i=0;i

31、改数据*/      if(strcmp(s.num,stu[i].num)==0)        {k=i;                      /*找到要修改记录下标赋给K*/         s=stu[i];        }     if(k==-1) printf("\n\nNO exist!please again");/*K=-1,表达没有找到相似之*/    }    while(k==-1);   puts("\n");   printf_face();                /*调用显示数据构造项目函数*/   printf_one(k)

32、                  /*调用显示一种记录函数*/   printf("\nAre you sure?\n\t1).sure   2).no and del another   3).back without save all  [ ]\b\b");   scanf("%d",&c);   if(c==1)     {stu[k].ave=0;         /*stu[k].ave=0用来标记这个记录是要删除.保存时则不保存stu[k].ave=0数据*/      printf("\n\nSuccessful ^_^.\n\nAre you again?\n\t

33、1).again  2).back to menu\t[ ]\b\b");   /*问与否继续*/      scanf("%d",&w0);     }   if(c==3) w0=0;           /*w0=0不删除直接返回*/   if(w0!=1&&c!=3)           /*只有当确认删除后返回才保存,不删除直接返回则不保存,且不保存在此之前删除过记录*/      save(n);   }   while(w0==1);  menu();              /*返回主介面*/ } /****************浏览(所有)模块****

34、/ browse()                          /*浏览(所有)模块*/ {int i,j,n;  n=load();         /*加载记录*/  clrscr();  puts___();  printf_face();                  /*调用显示数据构造项目函数*/  for(i=0;i

35、");       getch();       puts("\n\n");      }     printf_one(i);                 /*调用显示一种记录函数*/    }  puts___();  printf("\tThere are  %d record.\n",n);  printf("\nPass any key to back  . . .");  getch();                          /*按任意健*/  menu(); }  /****************查找模块***************

36、/ search()                          /*查找模块*/ {int i,n,k,w1=1,w2,w3,w4;  struct student s;  n=load();  do   {do     {k=-1;      printf("\n\nEnter name that you want to search!    name:");      scanf("%s",s.name);                /*输入要修改数据学号*/      printf_face();                 /*调用显示数据构造项目

37、函数*/      for(i=0;i

38、nAre you again?\n\t1).again   2).NO and back   [ ]\b\b");         scanf("%d",&w1);        }     }     while(k==-1&&w1==1);              /*如果w1不等于1则直接返回*/    w4=0;w3=0;    if(k!=-1)                           /*k不等于-1表达找到,如果找到则选取操作*/        {printf("\n\nWhat do you want to do?\n\t1).Search anot

39、her   2).Modify   3).Delete   4).Back menu   [ ]\b\b");         scanf("%d",&w2);         switch(w2)           {case 2:w3=modify_data(k,n);break;/*调用修改数据函数*/            case 3:{printf("\nAre you sure?\n\t1).Sure   2).No and back   [ ]\b\b");                    scanf("%d",&w4);                  

40、  if(w4==1)                      stu[k].ave=0;     /*表达删除*/                    break;                   }           }         if(w3==1||w4==1)            {save(n);             printf("\n\nSuccessful. ^_^.");             printf("\n\nWhat do you want to do?\n\t1).Search another   2).Back   [ ]

41、\b\b");             scanf("%d",&w2);            }        }    }    while(w2==1);  menu(); } /****************插入模块****************/ insert()                           /*插入模块*/ {int i,j,n,c;  struct student s;  n=load();  puts("\nInput one data.\n");  do   {input(n);       /*输入到第n个记录,即插

42、入到最后*/    printf_face();    printf_one(n);    printf("\n\nAre you sure?\n\n\t1).Sure\t2).cancel snd again\t3).Back withuot save  [ ]\b\b");    scanf("%d",&c);    if(c==1)      {for(j=0;jj;i--)           if(stu[i].ave>stu[i-1].ave)     

43、        {s=stu[i-1];stu[i-1]=stu[i];stu[i]=s;}       save(n+1);       printf_back();      }    else if(c!=2) menu();   }   while(c==2); }  /****************排序模块(按平均成绩)****************/ order()                           /*排序模块(按平均成绩)*/ {int i,j,k,n;  struct student s;  n=load();  for(i=0

44、istu[k].ave) k=j;     s=stu[i];stu[i]=stu[k];stu[k]=s;    }  save(n);  puts("\n\n");  printf_back(); }  /****************主界面****************/ menu()                            /*主界面*/ {int n,w1;  do  

45、 {clrscr();                   /*清屏*/    puts("\n\t\t\t   Copy right by CHEN LIN BIN!");    puts("\t\t\t\t  24/06/!\n\n");    puts("\t\t*********************MENU*********************\n\n");    puts("\t\t\t\t1.Enter new data");    puts("\t\t\t\t2.Addition data");    puts("\t\t\t\t3.Modify data")

46、    puts("\t\t\t\t4.Delete data");    puts("\t\t\t\t5.Browse all");    puts("\t\t\t\t6.Search by name");    puts("\t\t\t\t7.Insert data");    puts("\t\t\t\t8.Order by average");    puts("\t\t\t\t9.Exit");    puts("\n\n\t\t**********************************************\n");    printf("Choice

47、 your number(1-9):[ ]\b\b");    scanf("%d",&n);    if(n<1||n>9)                                  /*对选取数字作判断*/      {w1=1;getchar();}    else  w1=0;   }   while(w1==1);  /*选取功能*/  switch(n)   {case 1:enter();break;      /*输入模块*/    case 2:add();break;        /*追加模块*/    case 3:modify();bre

48、ak;     /*修改模块*/    case 4:del();break;        /*删除模块*/    case 5:browse();break;     /*浏览模块*/    case 6:search();break;     /*查找模块*/    case 7:insert();break;     /*插入模块*/    case 8:order();break;      /*排序模块*/    case 9:exit(0);            /*退出*/   } } /*****************主函数****************/ main() {menu(); } 点击此处下载报告

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服