版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<string.h>#include<stdlib.h>struct courseint num;char name20;char kind20;int ttime,mark,term;c;struct student int snum;int cnum;char cnam20;char snam20;s500;int count;/全局变量int main()/主函数int n;int menu();int f1();int luru();int liulan();int chaxun();int xuan
2、ke();int tongji();printf("n * *");printf("nn * 欢迎进入学生选课系统! *");menu();printf("n");printf(" * the end *n");printf("n * *");printf("nn 请 先 选 择 1 进 行 课 程 信 息 录 入:");scanf("%d",&n);/防止错误,请重新输入for(;n>5|n<0;)printf("n 输 入
3、 错 误 !请 重 新 输 入 !n ");scanf("%d",&n);while(n>0&&n<6)switch(n)case 1:luru();break;/录入课程信息case 2:liulan();break;/浏览课程信息case 3:chaxun();break;/查询课程信息case 4:xuanke();break;/进入选课操作case 5:tongji();break;/统计选课情况scanf("%d",&n);/选择所需操作for(;n>5|n<0;)printf(
4、"nn");printf("n 输 入 错 误 ! 请 重 新 输 入 !n ");scanf("%d",&n);/防止错误,提示重新输入system("cls");/清屏 if(n=0)printf(" nnnnnnn");printf(" * 谢谢使用! *n "); printf("nnnnn");exit(0);/退出选课系统return 0; int menu()/菜单函数int n;printf("nnnn");pr
5、intf(" 1. 录 入 课 程 信 息nn"); printf(" 2. 浏 览 课 程 信 息nn"); printf(" 3. 查 询 课 程 信 息nn"); printf(" 4. 进 入 选 课 操 作nn");printf(" 5. 统 计 选 课 情 况nn");printf(" 0. 退 出 选 课 系 统nn"); return 0;int f1()printf("n 课程编号 课程名称 课程性质 总学时 学分 开课学期:n");re
6、turn 0;int luru()/录入函数FILE *fp;/定义指向文件的指针struct course c;int i;if(fp=fopen("D:/course.txt","w")=NULL)/建立文件"course.txt"printf("cannot open filen");exit(0);printf("n 请 输 入 选 择 的 课 程 门 数:");scanf("%d",&count);printf("nn");f1();fo
7、r(i=0;i<count;i+)scanf("%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term);fprintf(fp,"%dt%st%st%dt%dt%dt",c.num,,c.kind,c.ttime,c.mark,c.term);fclose(fp);/关闭文件printf("n * 录入成功!*n");menu();return 0;int liulan()/浏览函数int i=0;FILE *fp;/定义
8、指向文件的指针struct course c;/定义课程结构体变量if(fp=fopen("D:/course.txt","r")=NULL)/打开文件"course.txt"printf("ncannot open course!n");exit(0);f1();while(!feof(fp)&&i<count)fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c
9、.term);printf("%7d%11s%10s%9d%9d%8dn",c.num,,c.kind,c.ttime,c.mark,c.term);i+;fclose(fp);/关闭文件menu();return 0;int chaxun()/查询函数FILE *fp;/定义指向文件的指针struct course c;/定义课程结构体变量int score;int b,i=0;char kind20;printf("n 1.按 学 分 查 询n");printf("n 2.按 课 程 性 质 查 询");printf(
10、" 请 选 择 查 询 方 式 nn 输 入 选 项 数 字:");scanf("%d",&b);/防止错误,提示重新输入for(;b<1|b>2;)printf("n 输 入 错 误 !请 重 新 输 入 !n ");scanf("%d",&b);/按学分查询if(b=1)printf("n 输 入 你 要 查 询 的 学 分: ");scanf("%d",&score);if(fp=fopen("D:/course.txt&q
11、uot;,"r")=NULL)printf("ncannot open course!n");exit(0);f1();while(!feof(fp)&&i<count)/当没有指向文件尾部,读取文件“course.txt”中的数据fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term);if(c.mark=score)/比较输入的分数和结构体中的分数,如果相同,输出那组数据printf(&quo
12、t;%7d%11s%10s%9d%9d%8dn",c.num,,c.kind,c.ttime,c.mark,c.term);i+;else if(b=2)/按课程性质查询printf("nn 输 入 你 要 查 询 的 课 程 性 质:");scanf("%s",kind);if(fp=fopen("D:/course.txt","r")=NULL)/打开文件"course.txt"printf("ncannot open course!n");f1()
13、;while(!feof(fp)&&i<count)/当没有到达文件尾部,读取“course.txt”中的数据fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term);if(strcmp(c.kind,kind)=0)/比较输入的字符串与原文件中的课程性质,如果相同,输出那组数据printf("%7d%11s%10s%9d%9d%8dn",c.num,,c.kind,c.ttime,c.mark,c.te
14、rm);i+;elseprintf("输入错误!");/选择错误,就退出exit(1);fclose(fp);menu();return 0;int xuanke()/选课函数int t=0,flag;int i;/*struct course c;/定义课程结构体变量*/FILE *fp;/定义指向文件的指针doprintf("n 请 输 入 学 号 姓 名 课 程 编 号 及 课 程 名 称 :"); scanf("%d%s%d%s",&st.snum,st.snam,&um,am);if(fp
15、=fopen("D:/course.txt","r")=NULL)/打开文件"course.txt"printf("ncannot open course!n");exit(0);while(!feof(fp)/如果课程编号和课程名称与学生所选一致,就跳出,执行下一步fscanf(fp,"%d%s%s%d%d%d",&c.num,,c.kind,&c.ttime,&c.mark,&c.term); if(um=c.num)&&
16、(am=)t+;break;fclose(fp);printf("n 是 否 继 续 ,是 1,否 0 n ");scanf("%d",&flag);if(fp=fopen("D:/student.txt","a+")=NULL)/建立文件“student.txt”printf("ncannot open student!n");exit(0); /建立,并将学生选课信息输入"student.txt"for(i=0;i<t;i+);fpri
17、ntf(fp,"%dt%st%dt%stn",st.snum,st.snam,um,am); fclose(fp);/关闭选课文件"course.txt"while(flag);printf("n * 恭喜选课成功!*n");menu();return 0;int tongji()/统计函数int total=0;int t,i=0;FILE *fp;if(fp=fopen("D:/student.txt","r")=NULL)/打开文件“student.txt”printf("ncannot open student!n");exit(0);printf("n 学号 姓名 课程编号及课程名称n");while(!feo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 珍珠岩焙烧工岗前水平竞赛考核试卷含答案
- 玩具设计师岗位生产安全水平考核试卷含答案
- 网络货运员岗位理论能力考核试卷含答案
- 2025年执业医师考试验证题库试题及答案
- 2025年制冷与空调设备运行操作证考试题库及答案
- 2025年中国民族博物馆公开招聘笔试备考题库及参考答案详解1套
- 2025年中药管理法规试题及答案
- 2025年中小学教师招聘考试教育综合知识试题与答案
- 2025年注册安全工程师考试金属冶炼(初级)安全生产实务试题及解答及答案
- 2025年注册消防工程师考试真题及答案
- 八年级语文阅读理解教学设计
- 2026届上海市交大附属中学高考模拟信息考试化学试题(三)含解析
- 2024版《建设工程工程量清单计价标准》解读课件
- 2026年湖北公务员考试申论试题(县乡卷)及答案
- 2026中远海运集团招聘笔试历年参考题库附带答案详解
- 施工总承包对分包单位的协调服务措施
- 卫生院中医质控制度
- 财务融入业务管理制度
- 机器人-机械电子工程导论
- 卫生院心脑血管培训课件
- 《医药市场营销》课程考试复习题库(附答案)
评论
0/150
提交评论