收藏 分销(赏)

C语言课设之学生学籍管理系统.doc

上传人:天**** 文档编号:4374120 上传时间:2024-09-14 格式:DOC 页数:9 大小:33.50KB 下载积分:6 金币
下载 相关 举报
C语言课设之学生学籍管理系统.doc_第1页
第1页 / 共9页
C语言课设之学生学籍管理系统.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
  题目:学生学籍管理系统       目录: 一、个人简介。 二、报告摘要。 三、报告目录。 四、报告正文。 1、系统需求分析   2、系统总体设计    3、系统详细设计 六、总结。  二、报告摘要     这个C语言课程设计就是关于学生学籍管理系统得设计,题目要求能够录入数据,查询,删除与排序得功能。报告依次以主函数板块、数据录入板块、查询板块、删除板块、排序板块得顺序进行。  三、报告目录   1 主函数 2 数据录入    3 查询 4 删除   5 排序 四、报告正文   1 系统需求分析   根据题目需求,在程序中要求浏览学生得信息,应该提供数据录入、查询、删除、排序得操作。题目要求实得成绩、实得学分根据条件自动运算,应该提供求综合成绩与实得学分得算法,另外还应该提供键盘式选择菜单实现功能选择。     2 系统总体设计 数据录入 数据查询 删除数据 数据排序 学生学籍管理系统        3 系统详细设计 (1)主函数  负责提供输入、处理与输出部分得函数调用,其中各功能模块用菜单方式选择。  程序: void menu() {int n,w; do  { ﻩputs("\t\t****************MENU******************\n\n"); puts("\t\t\t\t1、enter new data-student"); puts("\t\t\t\t2、search by name"); ﻩputs("\t\t\t\t3、search by learn number"); puts("\t\t\t\t4、delete data"); ﻩputs("\t\t\t\t5、insert data"); ﻩputs("\t\t\t\t6、enter new data-sorce"); puts("\t\t\t\t6、exit"); ﻩputs("\n\n\t\t************************************\n"); ﻩprintf("choice 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:search by name();break; case 3:search by learn number();break; case 4:del();break; case 5:insert():break; case 6:exit(0);break; } } main() {menu(); }   (2)数据录入板块   数据信息中学号、姓名等就是字符型,采用字符型数组,分数、号码、等为整数,可以采用整型数组,实得学分可能为小数,采用实型。采用结构体数组存放学生数据信息到文件。 程序: /*************************************************/ #define N 10 struct student { int num;  char name[20];  char sex; char tel[20]; char domi[3]; }stu[N]; viod enter new data-student() {int i,n; printf("hou many students(0-%d)?:",n-1); for(n=1;n<10;n++) printf("\n enter data now\n\n"); for(i=0;i<n;i++) {printf("\n input%dth student record、\n",i+1); input(i); } if(i!=0) save(n); printf_back(); } #define N 10 struct course { int num; int course_num;   char coursename[];   int normalsorce[]  int normal;\\平时成绩   int lab;\\实验成绩 int  text;\\考试成绩 int ture[];\\综合成绩 float act[];\\实得学分 }cou[N] void enter new data-sorce() {int i,n,z,c; float s; printf("how many num(0-%d)?: "N-1); for(n=1;n<10;n++) printf(\n enter data now\n\n"); for(i=0;i<n;i++) {print("\n input%dth record、\n",i+1); input(i); }  if(i!=0) save(n); printf_back(); if(cou[1]、lab==-1) cou[1]、true=cou[1]、normal*0、3+cou[1]、text*0、7;  else cou[1]、true=cou[1]、lab*0、15+cou[1]、normal*0、15+cou[1]、text*0、7;  if(c=100) s=cou[1]、normalsorce*1;   else c=cou[1]、text/10; switch(c) {case 10:   case 9:s=cou[1]、normalsorce*0、9;break;   case 8:s=cou[1]、normalsorce*0、8;break;  case 7:s=cou[1]、normalsorce*0、75;break; case 6:s=cou[1]、normalsorce*0、6;break;  case 5:   case 4:    case 3:   case 2: case 1:  case 0:s=0;break;   default:printf("error\n"); } cou[i]、act=s; }   (3)数据查询   这个模块要求a、输入一个学号或姓名查讯学生得基本信息并显示输出;输入一个宿舍号码,可查出本室所有学生得基本信息并显示输出; c、输入一个学号时,查出此学生所有课程情况。 程序: /*******************************************************/ Search() {int i,n,k; Struct student s; Struct course c;  n=load(); do  {    do {k=-1;   printf("\n\nenter name that you want to search! name:");   scanf("%s",s、name);    printf _face();}   do {n=-1;   Printf("\n\nenter domi that you want to search!   domi:")    scanf("%d",s、domi); printf_ face();} do {i=-1; printf("\n\nenter num that you want to search!  num ");    scanf("%d%c%d%f",c、num,c、coursename,c、ture,c、act);               printf_face();}  } } (4)删除数据        题目要求在删除A、TXT中一个学生信息时,B、TXT中相应得信息也要被删除。 程序: /*********************************************************/ void del() {struct student s sturct course c;  ; int i,n,k w0=1,w1,w2=0; n=load(); do { k=-1;  printf_face(); for(i=0,i<n;i++) if(i!=0)&&(i%10==0) {printf("\n\nremember no、 which needed delete、Pass any key to contiune、、、"); getch()   puts("\n\n"); } printf_one(i);  } do {printf("\n\nenter no、 That you want to delete!   no、"); scanf("%s",s、num);  for(i=0;i<n;i++)ﻩ   if(strcmp(s、num,stu[i]、mum==0)) {k=i;    s=stu[i];     } [for(i=0,i<n,i++) {if(strcmp(cou[i]==stu[i]))    if(k==-1)printf("\n\nno exist!Please again"); }    while(k==-1);   printf_face();printf_one(k);  w1=delete_data(k,n); if(w1==1)   Printf("\nsuccessful !\n\nare you delete another ?\n\n\t1)yes  2)back with save\t\b\b"); scanf("%d",&w0); w2=1; } else {w0=0;   if(w2==1) stu[k]=s } if(w0!=1&&w2==1) save(n);   } while(w0==1); menu() } (5)数据排序 能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 程序: /*************************************************************/ void order() {int i,j,k; int m,n,p; struct course s;  struct course c;  for(i=0;i<9;i++) {k=i; for(j=i+1;j<10;j++) if(cou[j]、true>cou[k]、true) k=j; s=cou[i]、true;cou[i]、true=cou[j]、true;cou[j]、true=s; } for(m=0;m<9;m++)   {p=m   for(n=m+1;n<10;n++) if(cou、act[n]>cou、Act[p])p=n; c= cou、act[m];cou、act[m]=cou、atc[n];cou、act[n]=c;   } (6)公共函数//*********************************************************************** void printf_face1() //每次要输出文件1数据得时候用到(打印到数据得第一排,提示作用) { printf("\n   学号 姓名 性别 宿舍号码 电话号码\n"); } //*********************************************************************** void printf_face() //每次要输出文件2数据得时候用到(打印到数据得第一排,提示作用) { printf("\n  学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩  综合成绩  实得分数\n"); } //*********************************************************************** void printf_back() //返回函数 {    int w;   printf("\n\n\t数据输入成功^_^\n\n");     printf("选择需要实现得功能\n\n\t1)、浏览输入得数据\t2)、返回主菜单: [ ]\b\b");  scanf("%d",&w); if(w==1) browse(); else menu(); } //*********************************************************************** int save(int n) //保存输入得数据到txt文档 {FILE *fp; int i;   if((fp=fopen("Pro、txt","wb"))==NULL) {printf("\nCannot open file\n");  return NULL; } for(i=0;i<n;i++)   if(course[i]、num!=0)   if(fwrite(&course[i],sizeof(struct course),1,fp)!=1) printf(" error\n"); fclose(fp); return 0; }  //*********************************************************************** void no_input(int i,int n) //检查输入数据就是否存在以及编号就是否正确 {int j,k,w1; do {w1=0;   for(j=0;course[i]、num[j]!='\0';j++) //判断输入编号格式就是否正确   if(course[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<n;k++) if(k!=i&&strcmp(course[k]、num,course[i]、num)==0) //判断此编号就是否存在 {puts("This record is exist、please reinput!\n"); } } while(w1==1); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服