高校新生报到系统 C语言课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf("%s",ss.shengfen); fprintf(fp,"%s\t",ss.xibie); printf("\n 请输入学生专业 :"); scanf("%s",ss.zhuanye); fprintf(fp,"%s\t",ss.zhuanye); printf("\n 请输入学生高考分数 :");
scanf("%s",ss.xuehao); fprintf(fp,"%s\t",ss.xuehao); printf("\n 请输入学生姓名 :");
scanf("%s",ss.xingming); fprintf(fp,"%s\t",ss.xingming); printf("\n 请输入学生省份 :");
沈阳航空航天大学
课程设计
学 号 2010041102008 班 级 04110201 姓 名 _赵晓昆 指导教师 _郭建新
2012 年 6 月 21 日
沈阳航空航天大学
课程设计任务书
系:材料科学与工程学院 班级:04110201
专业:材料成型及控制工程 学号: 2010041102008
课程设计题目:高校新生报到系统
void input() {
//定义文件类型指针 FILE *fp; int i, test=1; struct student ss; //新建文件 studnet.txt if((fp=fopen("d:\\student.txt","w+"))==NULL) { printf("\n 文件不能打开"); return; } while(test==1) { printf("\n 请输入学生学号 :");
四、课程设计要求:
程序质量:
1.贯彻结构化程序设计思想。 2.用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 3.用户界面中的菜单至少应包括“录入数据信息”、“新生报到”、“查 询未报到的学生”、“专业调整”、“显示学生信息”、“退出”6 项。 4.代码应适当缩进,并给出必要的注释,以增强程序的可读性。
12
沈阳航空航天大学设计用纸
while(!feof(fp)) { fscanf(fp,"%s\t%s\t%s\t%s\t%d\t%d\n",ss[i].xuehao,ss[i].xingmi ng,ss[i].shengfen,ss[i].zhuanye,&ss[i].fenshu,&ss[i].baodao); if(strcmp(ss[i].xuehao,number)==0)
No
n=2
Yes
No
录入
报到
Yes
n=3
No
查询 未报 报到的 学生
Yes 转专业
n=4 No
n=5 Yes
退出
3
沈阳航空航天大学设计用纸
(2) 录入函数流程图
定义学生结构体变量 st 定义文件指针 fp 建立文件 student.dat test =0 当 test ==1
输入学生学号、姓名、省份、系别 专业,高考分数。 把学生信息写入到文件中 输入 test 关闭文件 退出
printf("\Baidu Nhomakorabea 不能打开文件");
11
沈阳航空航天大学设计用纸
return; } i=0; baodao =0; while(!feof(fp)) {
if(ss[i].baodao == 1) {
baodao++; printf(fp,"%s\t%s\t%s\t%s\t%d\t%d\n",ss[i].xuehao,ss[i].xingmi ng,ss[i].shengfen,ss[i].zhuanye,ss[i].fenshu,ss[i].baodao); } i++; } if(baodao == 0) { printf("\n 学生已经全部报道"); } fclose(fp); }
课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的内
容参见提供的模板。
五、指导教师:________
学生签名:________
六、成绩 七、教师评语
沈阳航空航天大学设计用纸
目录
一、需求分析....................................................... 2 二、设计分析...........................................................3 三、主要截图....................................................... 6 四、技术要点....................................................... 8 五、个人总结...................................................... 15 六、参考文献...................................................... 15 七、源程序.......................................................... 15
除上面介绍的功能之外,程序还具有退出功能,可以在程 序的一次运行当中循环执行所有的功能,并根据需要终止程序 的执行。
2
沈阳航空航天大学设计用纸
每一个学生记录信息都包含新生学号,姓名,来自省份,被录 取专业,高考分数等内容。
二、设计分析
1、程序流程图
(1) 主函数流程图
当 n=1
输入值 n =1
Yes
fscanf(fp,"%s\t%s\t%s\t%s\t%d\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].she ngfen,ss[i].zhuanye,&ss[i].fenshu,&ss[i].baodao);
if(strcmp(ss[i].xuehao,number)==0) {
I
沈阳航空航天大学设计用纸
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大 致分为五个模块,其中每一个模块对应一个函数,他们的功能 分别是:录入数据信息函数(input),新生报到函数(xsbd),查 询未报到的学生函数(chaxun_not),转专业函数(zhuan),按学 号显示学生信息函数(chaxun_student_number)。
void chaxun_not() { FILE *fp; int i, sum,baodao; char number[10]; struct student ss[20];
if((fp=fopen("d:\\student.txt","r+"))==NULL) { fscanf(fp,"%s\t%s\t%s\t%s\t%d\t%d\n",ss[i].xuehao,ss[i].xingmi ng,ss[i].shengfen,ss[i].zhuanye,&ss[i].fenshu,&ss[i].baodao);
1、录入数据信息函数:主要实现程序最初运行时新生数据信 息的录入。
2 、新生报道函数: 报道新生,录入新生数据信息。 3、查询未报到的学生函数: 在文件中读取学生信息,把没有 报到的学生输出。 4 、学生转专业函数: 对报道的学生信息数据进行修改,输 入学生学号和学生的新专业。 5、按学号显示学生信息函数:实现的是按学号显示学生记录 信息。
(2) 新生报到函数
新生报到函数,以读写的方式打开文件 student.txt,输入报到 学生的学号,在文件 student.txt 中读取学生信息并且把学生信息 与输入的学生学号进行判断,如果两个学号相同,则学生报到信息 修改为 1。关闭文件。
void xsbd() { FILE *fp; int i, sum,baodao; char number[10]; struct student ss[20]; //打开文件 student.txt if((fp=fopen("d:\\student.txt","r+"))==NULL) {
主函数
#include "stdlib.h" #include "stdio.h" #include "string.h" //定义结构体 struct student { char xuehao[50]; char xingming[50]; char shengfen[50];
8
沈阳航空航天大学设计用纸
4
沈阳航空航天大学设计用纸
(3 )查询学生信息函数
定义学生结构体变量 st 定义文件指针 fp 打开文件 student.dat 输入查询学生的学号 number
当文件没有结束
在文件中学生学号、姓名、省份、系别 专业,高考分数。
St.number==number?
N
Y
输出学生信息
关闭文件 退出
5
沈阳航空航天大学设计用纸
baodao++; ss[i].baodao = 2; } i++; } sum = i; fclose(fp); /*建立文件 studnet.txt*/ fp=fopen("d:\\student.txt","w+"); /*向文件中写入学生信息*/ for(i=0;i<sum;i++) { fprintf(fp,"%s\t%s\t%s\t%s\t%d\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].s
(4) 学生转专业函数
void zhuan() { FILE *fp; int i, sum,baodao; char number[10]; struct student ss[20];
printf("\n 请输入学生学号 :"); scanf("%s",number); if((fp=fopen("d:\\student.txt","r+"))==NULL) { printf("\n 不能打开文件"); return; } i=0; baodao=0;
hengfen,ss[i].zhuanye,ss[i].fenshu,ss[i].baodao);
} /*关闭文件*/ fclose(fp); }
(3)查询未报到的学生函数
查询没有报到的学生信息。打开文件 student.txt,并且逐行 读取学生信息,判断学生是否报到,没有报到输出学生信息。之后 判断文件是否结束,当文件结束时,关闭文件退出。否则继续读取 下一个学生信息并且继续进行判断,直到文件结束为止。
三、主要截图
输入学生信息截图
6
沈阳航空航天大学设计用纸
新生报到截图
查询未报到学生截图
学生转专业截图
7
沈阳航空航天大学设计用纸
按学号显示学生信息截图 四、技术要点
本程序主要由五个自定义函数和一个主函数组成,其中主函数 以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当 中,录入数据信息函数,新生报到函数,查询未报到的学生函数, 转专业函数,按学号显示学生信息函数是程序中较为核心的部分, 下面分别进行说明。
printf("\n 不能打开文件"); return; } printf("\n 请输入报到学生学号 :"); scanf("%s",number); i=0; baodao =0; //判断文件是否结束 while(!feof(fp)) { //在文件中读取学生信息到结构体中
10
沈阳航空航天大学设计用纸
char zhuanye[50]; int fenshu; int baodao; };
(1) 录入数据信息函数
输入学生信息函数,函数的功能是输入学生信息并且把学生信 息存入文件中。先用 fopen 语句以只写的方式打开文件,输入一名 学生的学号、姓名等基本信息并且把学生信息写入到文件中。关闭 文件,退出
一、课程设计时间、
2011~12 第二学期第 16 周,共计 1 周,20 学时。 三、课程设计内容:
用 C 语言编写软件完成以下任务: ①录入新生信息(新生学号,姓名,来自省份,专业,高考分数),
并保存到磁盘文件中; ② 新生报到签到; ③ 查询未报到的学生; ④ 给学生转专业; ⑤ 按学号显示学生信息;
9
沈阳航空航天大学设计用纸
scanf("%d",&ss.fenshu); fprintf(fp,"%d\t",ss.fenshu); ss.baodao = 1; fprintf(fp,"%d\n",ss.baodao); printf("\n 继续录入学生信息请输入 1 ,退出请输入其它数 字"); scanf("%d",&test); } // 关闭文件 fclose(fp); }
相关文档
最新文档