欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    c语言程序设计课程学籍管理系统源代码.docx

    • 资源ID:3155396       资源大小:41.20KB        全文页数:23页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言程序设计课程学籍管理系统源代码.docx

    c语言程序设计课程学籍管理系统源代码附表1.程序源码 #include<stdio.h> #include<conio.h> #include<string.h> #include<math.h> #define N 100 struct student ; void mainprint; void scoreprint; void studentprint; void scoreInput; void scoreStat; void studentStatus; void bukao; /*生成并打印补考通知单*/ void tuixue; /*生成并打印退学通知单*/ void xinmingdan; /*生成并打印新名单*/ void sortAnhao; /*按学号排序*/ void jisuanPingjun; /*计算平均分并排序*/ void tongjiFenshu; /*统计分数段*/ void fenxi; /*分析学生成绩,算出不及格门数*/ char num13; char name18; float math; float english; float cprogram; float circuit; float law; float pingjun; float score5; void mynew; /*创新功能*/ void outstudent; void outdanke; void teshutuixue; void main void mainprint printf(" |*|n"); printf(" | 欢迎使用学籍管理系统 |n"); printf(" |*|n"); printf(" | 请输入选项编号(04) |n"); printf(" |-|n"); printf(" | 1-录入成绩 |n"); printf(" | 2-统计成绩 |n"); printf(" | 3-处理学籍 |n"); printf(" | 4-创新功能 |n"); printf(" | 0- 退出 |n"); char choose='0',yes_no='0' do system("color 4f"); system("cls"); mainprint; printf(" "); choose=getche( ); switch(choose) case'1':scoreInput;break; /*成绩录入*/ case'2':scoreStat;break; case'3':studentStatus;break; case'4':mynew;break; case'0':break; default:printf("n %c是非法选项!n"); if(choose='0') break; printf("n 即将进入主菜单,要继续选择吗(Y/N)?n"); do yes_no=getche( ); while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n'); break; while(yes_no='y'|yes_no='Y'); printf(" |-|n"); void scoreInput void scoreStat char choose='0',yes_no='0' system("color 9f"); do system("cls"); printf("n 欢迎选择成绩统计系统n"); printf("n |-|"); int i=0;char yes_no='0' struct student ex1N=0; FILE *fp=NULL; system("color 5f"); system("cls"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n欢迎进入成绩录入系统n"); fp=fopen("d:学生基本信息.txt","w"); printf("n 请输入第%d个记录:n",i+1); printf("n输入学生学号:(用#结束程序)"); scanf("%s",ex1i.num); printf("n输入学生姓名:(用#结束程序)"); scanf("%s",ex1i.name); printf("n请依次输入学生的数学、英语、c编程、电路设计和法律基础的成绩:n"); scanf("%f%f%f%f%f",&ex1i.math,&ex1i.english,&ex1i.cprogram,&ex1i.circuit,&ex1i.law); while(ex1i.num0!='#'&&ex1i.name0!='#') fprintf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn",i,ex1i.num,ex1i.name,ex1i.math,ex1i.engl i+; printf("n 请输入第%d个记录:n",i+1); printf("n输入学生学号:(用#结束程序)"); scanf("%s",ex1i.num); printf("n输入学生姓名:(用#结束程序)"); scanf("%s",ex1i.name); printf("n请依次输入学生的数学、英语、c编程、电路设计和法律基础的成绩:n"); scanf("%f%f%f%f%f",&ex1i.math,&ex1i.english,&ex1i.cprogram,&ex1i.circuit,&ex1i.law); ish,ex1i.cprogram,ex1i.circuit,ex1i.law); fclose(fp); /*显示菜单*/ printf("n | 请输入选项编号(04) |"); printf("n |-|"); printf("n | 1-按学号排序 |"); printf("n | 2-按平均分数排序 |"); printf("n | 3-统计分数段 |"); printf("n | 4-返回 |"); printf("n | 0-退出系统 |"); printf("n |-|n"); choose=getch; switch(choose) case'1':sortAnhao;break; case'2':jisuanPingjun;break; case'3':tongjiFenshu;break; case'4':main; break; case'0':break; default:printf("n %c是非法选项!n");break; if(choose='0') break; printf("n 要继续选择吗(Y/N)?n"); do yes_no=getche; while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n'); while(yes_no='y'|yes_no='Y'); void sortAnhao int i=0,j=0,n=0; struct student ex2N=0,temp=0; FILE *fp=NULL; system("color 9f"); fp=fopen("d:学生基本信息.txt","r"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n 欢迎进入按学号排序系统n"); while(feof(fp)=0) fscanf(fp,"%3d%15s%16s%f%f%f%f%fn",&i,&ex2i.num,ex2i.name,&ex2i.math,&ex2i.english, i+; n+; &ex2i.cprogram,&ex2i.circuit,&ex2i.law); fclose(fp); for(j=i+1;j<n;j+) if(strcmp(ex2i.num,ex2j.num)>0) temp=ex2i; ex2i=ex2j; for(i=0;i<n-1;i+) ex2j=temp; fp=fopen("d:按学号排序.txt","w"); if(fp=NULL) printf("n 打开文件失败!n"); return; fprintf(fp,"序号 学号 姓名 高数 英语 编程 电路 法律n"); for(i=0;i<n;i+) fprintf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn",i,ex2i.num,ex2i.name,ex2i.math,ex2i.englprintf("n 文件已保存至D:按学号排序.txtn"); fclose(fp); ish,ex2i.cprogram,ex2i.circuit,ex2i.law); void jisuanPingjun int i=0,j=0,n=0; char c='0' struct student ex2N=0,temp=0; FILE *fp=NULL; system("color 9f"); fp=fopen("d:学生基本信息.txt","r"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n 欢迎使用按学号排序系统n"); while(feof(fp)=0) fscanf(fp,"%3d%15s%16s%f%f%f%f%fn",&i,ex2i.num,ex2i.name,&ex2i.math,&ex2i.english,&e i+; n+; x2i.cprogram,&ex2i.circuit,&ex2i.law); fclose(fp); for(i=0;i<n;i+) ex2i.pingjun=(ex2i.math+ex2i.english+ex2i.cprogram+ex2i.circuit+ex2i.law)/5; for(i=0;i<n-1;i+) for(j=i+1;j<n;j+) if(ex2i.pingjun<ex2j.pingjun) temp=ex2i; ex2i=ex2j; ex2j=temp; fp=fopen("d:按平均成绩排序.txt","w"); if(fp=NULL) printf("n 打开文件失败!n"); return; fprintf(fp,"序号 学号 姓名 高数 英语 编程 电路 法律 平均n"); for(i=0;i<n;i+) fprintf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1f%7.1fn",i,ex2i.num,ex2i.name,ex2i.math,ex2i.english,ex2i.cprogram,ex2i.circuit,ex2i.law,ex2i.pingjun); printf("n 文件已保存至D:按平均成绩排序.txtn"); fclose(fp); void tongjiFenshu "); printf("n -"); printf("n 高数 | %3d | %3d | %3d | %3d | %3d printf("n -"); printf("n 英语 | %3d | %3d | %3d | %3d | %3d printf("n -"); int i=0,j=0,t=0,n=0,e=0,a55=0; char yes_no='0' float list55=0; struct student ex2N=0; FILE *fp=NULL; system("color 9f"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n 欢迎进入分数段统计系统!"); fp=fopen("d:学生基本信息.txt","r"); while(feof(fp)=0) fscanf(fp,"%3d%15s%16s%f%f%f%f%fn",&i,ex2i.num,ex2i.name,&listi0,&listi1,&listi2, i+; n+; &listi3,&listi4); fclose(fp); for(j=0;j<5;j+) a0j=0; for(i=0;i<n;i+) if(listij>100|listij<0) e+; else t=(int)listij/10; switch(t) case 10:aj0+;break; case 9:aj0+;break; case 8:aj1+;break; case 7:aj2+;break; case 6:aj3+;break; default:aj4+;break; for(j=0;j<5;j+) printf("nnnn 各门课、个分数段学生人数"); printf("n -"); printf("n | 90分以上 | 8089分 | 7079分 | 6069分 | 60分以下 ",a00,a01,a02,a03,a04); ",a10,a11,a12,a13,a14); printf("n 编程 | %3d | %3d | %3d | %3d | %3d printf("n -"); printf("n 电路 | %3d | %3d | %3d | %3d | %3d printf("n -"); printf("n 法律 | %3d | %3d | %3d | %3d | %3d printf("n -"); if(e!=0) printf("n 有%d个错误的成绩,请检查。n",e); ",a20,a21,a22,a23,a24); ",a30,a31,a32,a33,a34); ",a40,a41,a42,a43,a44); void studentStatus int i=1; char choose='0',yes_no='0' struct student ex3N=0; FILE *fp=NULL; if(fp=NULL) do system("cls"); printf (" |-|n"); printf (" | 请输入选项编号(0-4) |n"); printf (" |-|n"); printf (" | 1-生成并打印补考通知单 |n"); printf (" | 2-生成并打印退学通知单 |n"); printf (" | 3-生成并打印新名册 |n"); printf (" | 4-返回 |n"); printf (" | 0-退出系统 |n"); printf (" |-|n"); choose=getche; while(choose!='0'&&choose!='1'&&choose!='2'&&choose!='3'&&choose!='4') switch(choose) case '2':tuixue; break; printf(" %c为非法选项!请重新输入:",choose); choose=getchar; printf("n 打开文件失败!n"); return; system("color 2f"); fp=fopen("d:学生基本信息.txt","r"); case '1':bukao; break; case '3':xinmingdan; break; case '4':main; break; case '0':break; if(choose='0') do printf("n"); printf("感谢您的使用!n"); break; printf("n 要继续选择吗(Y/N)?n"); yes_no=getche( ); while(yes_no!='Y' && yes_no!='y'&& yes_no!='N' && yes_no!='n'); while(yes_no='Y' | yes_no='y'); void bukao int i=0,j=0,count=0,n=0; struct student ex3N=0; FILE *fp=NULL; system("color 2f"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n 欢迎进入生成并打印补考通知单系统!n"); char time510="",site515="",sbj510="高数","英语","c语言编程","电路设计","法律基础" fp=fopen("d:学生基本信息.txt","r"); while(feof(fp)=0) fscanf(fp,"%3d%15s%16s%f%f%f%f%fn",&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1 i+; n+; ,&ex3i.score2,&ex3i.score3,&ex3i.score4); fclose(fp); for(i=0;i<5;i+) for(i=0;i<4;i+) for(j=i+1;j<5;j+) while(strcmp(timei,timej)=0&&strcmp(sitei,sitej)=0) printf("nn%s科目与%s科目相冲突,请重新输%s的考试时间、地点:scanf("%s%s",&timej,&sitej); printf("n请输入%s的补考时间、地点:",sbji); scanf("%s%s",&timei,&sitei); ",sbji,sbjj,sbjj); for(i=0;i<n;i+) for(j=0;j<5;j+) if(ex3i.scorej<60) count+; if(count>0&&count<3) printf("nn"); printf("n%15s学生%d门课不及格,补考科目、时间、地点:",ex3i.name,count); for(j=0;j<5;j+) if(ex3i.scorej<60) switch(j) case 0:printf("ncase 1:printf("ncase case case 2:printf("nc3:printf("n4:printf("n高数:%3.1f, 时间%s, 地英语:%3.1f, 时间%s, 地语言编程:%3.1f,时间%s, 电路设计:%3.1f, 法律基础:%3.1f, 时间%s, 时间%s, 地地地点%s",ex3i.scorej,timej,sitej);break; 点%s",ex3i.scorej,timej,sitej);break; 点%s",ex3i.scorej,timej,sitej);break; 点%s",ex3i.scorej,timej,sitej);break; 点%s",ex3i.scorej,timej,sitej);break; void tuixue int i=0,j=0,count=0,n=0,k=0; struct student ex3N=0; FILE *fp=NULL; system("color 2f"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n 进入生成并打印退学通知单系统!n"); fp=fopen("d:学生基本信息.txt","r"); while(feof(fp)=0) fscanf(fp,"%3d%15s%16s%f%f%f%f%fn",&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1i+; n+; fclose(fp); for(i=0;i<n;i+) count=0; for(j=0;j<5;j+) if(ex3i.scorej<60) count+; printf("nn%15s同学,您本学期共%d门不及格科目,满足退学标准。请尽快处理for(j=0;j<5;j+) if(ex3i.scorej<60) switch(j) case 0:printf("高数:%-7.1f",ex3i.scorej);break; case 1:printf("英语:%-7.1f",ex3i.scorej);break; case 2:printf("c语言编程:%-7.1f",ex3i.scorej);break; case 3:printf("电路设计:%-7.1f",ex3i.scorej);break; if(count>=4) ,&ex3i.score2,&ex3i.score3,&ex3i.score4); n",ex3i.name,count); case 4:printf("法律基础:%-7.1f",ex3i.scorej);break; printf("n"); for(k=i;k<n-1;k+) ex3k=ex3k+1; n-; fp=fopen("d:升学名单.txt","w"); if(fp=NULL) printf("n 打开文件失败!n"); return; for(i=0;i<n;i+) fprintf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn",i,ex3i.num,ex3i.name,ex3i.score0,ex3i.sfclose(fp); core1,ex3i.score2,ex3i.score3,ex3i.score4); void xinmingdan void mynew char choose='0',yes_no='0' do system("color 8f"); system("cls"); printf("n |*|"); printf("n | 欢迎进入创新部分 |"); printf("n |*|"); printf("n | 1-查找学生 |"); printf("n | 2-输出单科成绩 |"); printf("n | 3-特殊原因退学 |"); int i=0; struct student ex3N=0; FILE *fp=NULL; system("color 2f"); if(fp=NULL) printf("n 打开文件失败!n"); return; printf("n 欢迎进入生成并打印新名册系统!n"); printf("n序号 学号 姓名 高数 英语 编程 电路 法律n"); fp=fopen("d:升学名单.txt","r"); while(feof(fp)=0) fscanf(fp,"%3d%15s%16s%f%f%f%f%fn",&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1printf("%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn",i,ex3i.num

    注意事项

    本文(c语言程序设计课程学籍管理系统源代码.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开