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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序报告 学生学籍信息管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序报告 学生学籍信息管理系统.docx

1、C语言程序报告 学生学籍信息管理系统C语言课程设计院系:工程学院姓名:刘若愚班号:05205235指导教师:王老师日期:2007年9月C语言程序设计报告第一部分 题目要求 程序设计题目:学生学籍信息管理系统设计【要求】使用下面的数据,设计一个简单的学籍信息管理系统。学生基本信息文件(A.TXT)及其内容:学号 姓名 性别 宿舍号码 电话号码07 张园园 女 102 . . . .学生成绩基本信息文件(B.TXT)及其内容:学号 课程编号 课程名称 学分 平时成绩 试验成绩 卷面成绩 01 A01 大学物理 3 66 78 8202 B03 高等数学 4 78 -1 9001 B03 高等数学

2、4 45 -1 8802 C01 VF 3 65 76 66. . . . . .功能要求及说明:数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、试验成绩、卷面成绩共7个数据。综合成绩、实得分根据条件自动运算。综合成绩的计算:如果本课程的试验成绩为-1,则表示无试验,综合成绩=平时成绩*30%+卷面成绩*70%;如果试验成绩不为-1,表示本课程有试验,综合成绩=平时成绩*15%+试验成绩*15%+卷面成绩*70%。实得学分的计算:采用等级学分制。综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=-学分*80%;综合成绩在70-80之

3、间,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下,应得学分=学分*0%。(2)查询功能;分为学生基本情况查询和成绩查询两种 1学生基本情况查询: 输入一个学生的学号活姓名,查出此生的基本信息并显示输出。 输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。成绩查询: 输入一个学号时,查询出此生的所有课程情况,格式如下:学号: 姓名;课程编号: 课程名称: 综合成绩: 实得学分:课程编号: 课程名称: 综合成绩: 实得学分:课程编号; 课程名称: 综合成绩: 实得学分: . 共修:XX科, 实得总学分为:XXX删除功能:当在A.TXT中删

4、除一个学生时,自动地在B.TXT中删除此人所有的信息排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。第二部分 需求分析根据题目要求,由于学生信息是存放在文件中,所以应该提供文件的输入、输出等操作;在程序中要浏览学生的信息,应提供显示、查找、排序等操作;另外还应该提供键盘式选择菜单实现功能选择。第三部分 总体设计根据上面的需求分析,可以将这个系统的设计分为以下几个模块:第四部分 详细设计主函数主函数设计一般要简单,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。【流程图】程序#includevoid menu() int n,w;do puts(tt*MEN

5、U*nn); puts(t 1.browse 2.enter 3.Search ); puts(t 4.browse2 5.enter2 6.Search2); puts(t 7.exit ); puts(nntt*n); printf(Choice your number(1-7): bbbb); scanf(%d,&n); if(n7) /对选择的数字作判断/ w=1;getchar(); else w=0;while (w=1);switch(n) case 1: browse();break; /浏览模块/ case 2: enter();break; /输入模块/ case 3: s

6、earch();break; /查找模块/ case 4: browse2();break; /浏览模块/ case 5: enter2();break; /输入模块/ case 6: search2();break; /查找模块/ case 7: exit(0);break; /退出/main() menu();2各功能模块设计输入模块:先采用结构体数组存储数据struct a int xuehao; char name15; char sex10; int shushenum; int telenum; a10;struct bint xuehao;int kechenghao;char

7、kechengming15;int xuefen;int pingshichengji;int shiyanchengji;int juanmianchengji;int zonghechengji;int shidechengji;b10; a10.b10 中每个数组元素对应一个学生 void jisuan()int i, n,n1, n2, n3,n4;for(i=0;i90&bi.zonghechengji80&bi.zonghechengji70&bi.zonghechengji60&bi.zonghechengji70) n1=bi.xuefen; bi.shidechengji=(

8、n1)*0.7; break;else if (bi.zonghechengji60) n=bi.xuefen; bi.shidechengji=n*0; break; 此简单程序计算综合成绩与实得学分【程序】enter() int i,n; printf(How many chengjijibenxinxi datas(0-%d)?:,10); scanf(%d,&n); printf(n Enter data now nn); for(i=0;in;i+) printf(nInput %dth chengjijibenxinxi record.n,i+1); input(i); 调用输入函

9、数 if(i!=0) save(n); 调用保存函数 printf_back(); 一个任务结束时让用户选择是浏览还是返回 浏览模块:该模块的功能是显示所有学生记录信息。【流程图】 【程序】browse() 浏览全部模块 int i,j,n; n=load(); 加载记录 printf_face(); 调用显示数据结构项目函数 for(i=0;in;i+) if(i%10=0) printf(nnPass any key to contiune.); 目的是分屏显示 getch(); puts(nn); printf_one(i); printf(n); 调用显示一个记录的函数 printf(

10、tThere are %d record.n,n); printf(nPass any key to back.); getch(); 按任意键 menu(); browse2() 该浏览模块的功能是显示所有学生的成绩基本信息 int i,j,n; n=load2(); printf_face2(); for(i=0;in;i+) if(i%10=0) printf(nnPass any key to contiune.); getch(); puts(nn); printf_one2(i); printf(n); printf(tThere are %d record.n,n); print

11、f(nPass any key to back.); getch(); menu(); 查找模块;该模块的功能是根据输入的学生姓名查找对应的记录,找到以后,增加删除功能。【流程图】【程序】search() 查找学生基本信息的模块 int i,n,k,w1=1,w2,w3,w4;struct a s;n=load();do do k=-1; printf(nnEnter number that you want to search! number); scanf(%d,&s.xuehao); 输入要修改的数据的学号 printf_face(); 调用显示数据结构项目函数 for(i=0;in;i

12、+) 查找要修改的数据 if(s.xuehao=ai.xuehao) k=i; printf_one(k);break; 调用显示一个记录的函数 if(k=-1) printf(nnNo exist!please); printf(nnAre you again?nt 1).Again 2)No and back bbb ); scanf(%d,&w1);保证在第一次找的的基础上再查找找不到时能退出 while(k=-1&w1=1); 如果W1不等于1时直返回search2() 查找学生成绩基本信息的模块 int i,n,k,w1=1,w2,w3,w4;struct a s;n=load2()

13、;do do k=-1; printf(nnEnter number that you want to search! number); scanf(%d,&s.xuehao); printf_face2(); for(i=0;in;i+) if(s.xuehao=ai.xuehao) k=i; printf_one2(k);break; if(k=-1) printf(nnNo exist!please); printf(nnAre you again?nt 1).Again 2)No and back bbb ); scanf(%d,&w1); while(k=-1&w1=1);删除模块:

14、该模块的功能是先显示所有学生的信息,考虑到记录的数据较多,建议采用分屏显示【程序】Void del()排序模块:该功能模块的功能是要求将学生记录的综合成绩或实得分升序或降序排序并显示数据。假设这里采用选择法排序。【流程图】【程序】Void order() 排序模块int I,j,n;Struct student s;n=load();For(i=0;in-1;i+)Save(n);Puts(“nn”);Printf_back();设计出的程序如下#includevoid menu() int n,w;do puts(tt*MENU*nn); puts(t 1.browse 2.enter 3.

15、Search ); puts(t 4.browse2 5.enter2 6.Search2); puts(t 7.exit ); puts(nntt*n); printf(Choice your number(1-7): bbbb); scanf(%d,&n); if(n7) w=1;getchar(); else w=0;while (w=1);switch(n) case 1: browse();break; case 2: enter();break; case 3: search();break; case 4: browse2();break; case 5: enter2();br

16、eak; case 6: search2();break; case 7: exit(0);break;main() menu();struct a int xuehao; char name15; char sex10; int shushenum; int telenum; a10;struct bint xuehao;int kechenghao;char kechengming15;int xuefen;int pingshichengji;int shiyanchengji;int juanmianchengji;int zonghechengji;int shidechengji;

17、b10; void jisuan()int i, n,n1, n2, n3,n4;for(i=0;i90&bi.zonghechengji80&bi.zonghechengji70&bi.zonghechengji60&bi.zonghechengji70) n1=bi.xuefen; bi.shidechengji=(n1)*0.7; break;else if (bi.zonghechengji60) n=bi.xuefen; bi.shidechengji=n*0; break; enter() int i,n; printf(How many chengjijibenxinxi dat

18、as(0-%d)?:,10); scanf(%d,&n); printf(n Enter data now nn); for(i=0;in;i+) printf(nInput %dth chengjijibenxinxi record.n,i+1); input(i); if(i!=0) save(n); printf_back(); browse() int i,j,n; n=load(); printf_face(); for(i=0;in;i+) if(i%10=0) printf(nnPass any key to contiune.); getch(); puts(nn); prin

19、tf_one(i); printf(n); printf(tThere are %d record.n,n); printf(nPass any key to back.); getch(); menu(); search() int i,n,k,w1=1,w2,w3,w4;struct a s;n=load();do do k=-1; printf(nnEnter number that you want to search! number); scanf(%d,&s.xuehao); printf_face(); for(i=0;in;i+) if(s.xuehao=ai.xuehao)

20、k=i; printf_one(k);break; if(k=-1) printf(nnNo exist!please); printf(nnAre you again?nt 1).Again 2)No and back bbb ); scanf(%d,&w1); while(k=-1&w1=1); w4=0;w3=0; if(k!=-1) printf(nnWhat do you want to do?nt 1.Search another 2.Modify 3.Delete 4.Back menu bbb); scanf(%d,&w2); switch(w2) case 2:w3=modi

21、fy(k);break; case 3: printf(nAre you sure?nt 1).sure 2).No and back bbb); scanf(%d,&w4); if(w4=1) bk.xuehao=0;bk.kechenghao=0;strcpy(bk.kechengming,xxxx);bk.xuefen=0;bk.pingshichengji=0;bk.shiyanchengji=0;bk.juanmianchengji=0; bk.zonghechengji=0;bk.shidechengji=0;ai.xuehao=0;strcpy(ai.name,xxxx);str

22、cpy(ai.sex,xxxx);ai.shushenum=0;ai.telenum=0; break; if(w3=1|w4=1) save(n); printf(nnSuccessful.); printf(nnWhat do you want to do?nt 1).Search another 2).Back bbb); scanf(%d,&w2); while(w2=1); menu(); input (int i) scanf(%d%d%s%d%d%d%d%d%d,&bi.xuehao,&bi.kechenghao,bi.kechengming,&bi.xuefen,&bi.pin

23、gshichengji,&bi.shiyanchengji,&bi.juanmianchengji); jisuan(); save(int n) FILE *fp; int i; if(fp=fopen(b.txt,wb)=NULL) printf(nCannot open filen); return NULL; for(i=0;in;i+) if(ai.xuehao!=0) if(fwrite(&bi,sizeof(struct b),1,fp)!=1) printf(file write errorn); fclose(fp); load() FILE *fp; int i; if(f

24、p=fopen(b.txt,rb)=NULL) printf(nCannot open filen); return NULL; for(i=0;!feof(fp);i+) fread(&bi,sizeof(struct b),1,fp); fclose(fp); return(i-1); printf_face() printf(nt xuehao kechenghao kechengming xuefen pingshichengji shiyanchengji juanmianchengji zonghechengji shidechengji ); printf_one(int i) printf(%5d%5d%15s%5d%5d%5d%5d%5d%5d,bi.xuehao,bi.kechenghao,bi.kechengming,bi.xuefen

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1