




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、标准实用程序设计基础课程设计设计题目:学生成绩查询系统 专业:班级: 姓名: 学号:指导老师:文案大全标准实用目录一、课程设计目的与要求 3二、详细设计 4三、程序清单和执行结果 9四、调试与测试 23五、结语 24文案大全标准实用一、课程设计目的与要求1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件 等)来完成一个简单的信息管理程序的设计。(2 )充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。2. 课程设计要求设计一个简易学生成绩记录簿设计,其中包括:姓名,学号,C 语言成绩;具体功能:
2、1 系统以菜单方式工作2. 创建学生成绩信息并以磁盘文件保存;3. 读取磁盘文件并显示输出所有学生的成绩;文案大全标准实用4. 查询学生成绩( 1 )按学号查询成绩( 2 )学号姓名查询成绩5 添加成绩记录;6 修改指定姓名或学号的学生的成绩并可存盘;7 显示输出 60 分以下、 6079 、 8089 、90 分以上各分数段的学生信息。二、详细设计1、数据结构设计#include#include#include文案大全标准实用#includeint n=4;struct studentint num;/* 学号 */char name10;/* 姓名 */float score3;/* 成绩
3、 */2函数说明1.主函数main() 允许用户通过菜单进行功能选择, 使用相应的功能代码来调用对应的函数功能。2.其他部分功能函数包括(1) 将学生成绩信息保存为文件 void save();算法思想: 定义指向文件的指针变量; 输入保存路径及文件名,打开文件,若不能打开文件给出提示信息; 将存有学生成绩信息的结构体数组信息依次保存到文件中。(2 ) 学生成绩信息录入函数 void input()算法思想: 依次录入结构体数组中所包含的各个成员;文案大全标准实用 直到输入的结构体成员中信息为 4 ,数据输入结束; 返回实际录入的学生成绩信息数。(3) 从文件中读出学生成绩信息 void ou
4、tput();算法思想: 定义指向结构体变量的指针和指向文件的指针; 输入文件的路径,打开文件,若不能打开文件给出提示信息; 将文件中的信息依次读出,最后结构体的指针为 NULL 。3函数设计(1 )主菜单函数 main()功能:函数返回值为整数,代表所选的菜单项int main ()n);printf( printf( n);printf(n);文案大全标准实用printf( 欢迎进入学生成绩记录系统 n);printf(n);printf( n);printf( 【 1】n);printf( n);printf( 【 2】n);printf( n);printf( 【 3】n);print
5、f( n);printf( 【 4 】n);printf( 创建学生成绩信息显示所有学生成绩信息添加学生成绩信息查询学生成绩信息文案大全标准实用n);【 5】 修改学生的信息 【 6】 按分数段显示学生的信息【 0】 退出printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);请输入相应菜单编号 : ); (2)我负责编写的程序A. 添加学生信息void Addstudent()文案大全标准实用FILE *fp;struct student s;fp=fopen(stu.dat,ab);if(fp=fopen(
6、stu.dat,ab)=NULL)printf(File open error!n);elsen);printf( 请输入所增加学生的 学号 姓名 c 语言成绩:scanf(%d,&s.num );scanf(%s,);scanf(%f,&s.score0);fwrite (&s,sizeof(struct student),1,fp);fclose(fp);/* 关闭文件 */printf( 写入成功 !n);/end function Addstudent;B. 修改学生成绩void modify() int number,i;文案大全标准实用printf( 请输入要修改信息的
7、学生学号 :);scanf(%d,&number);for(i=0;in;i+)if(number=studi.num)break;/* 查找判断 */if(in)/* 查找判断 */printf( 请输入修改后的学生的信息: );printf(n 请输入学生的 c 语言成绩: );scanf(%f,&studi.score0);save();elseprintf( 没找到该学生的信息 n);system(paues);system(cls);C. 查询学生成绩void namecheck(void);void scorecheck(void);void searchmenu()文案大全标准实
8、用 printf( *欢迎进入学生成绩查询系统 *n);printf(*1- 按姓名查询成绩* n);printf(*2- 按学号查询成绩* n);printf(*3- 返回上一层* n);printf(*4- 退出* n);n);printf(printf( 请输入相应菜单编号 : );int m;scanf(%d,&m);switch(m)case 1:namecheck();printf(n); system(PAUSE); system(CLS); break;case 2:scorecheck();printf(n); system(PAUSE); system(CLS); brea
9、k;case 3:main();break;文案大全标准实用case 4: exit(0); break;void namecheck()char name10;printf( 按照姓名查询请按 n);printf(n 请输入姓名 :);scanf(%s,&name);printf( 查询结果 n);printf( 学号 姓名 c 语言成绩 n);if(strcpy(,name)printf(%d %s %.2fn,studi.num,,studi.score0);void scorecheck()int b;文案大全标准实用printf( 按照学号查询
10、请按 n);printf(n 请输入学号 :);scanf(%d,&b);printf( 查询结果 n);printf( 学号 姓名 c 语言成绩 n);for(i=0;in;i+)if(studi.num =b)%s %.2fn,studi.num,,studi.score0);printf(%d文案大全标准实用文案大全标准实用三、程序清单和执行结果1.头文件#include#include#include#includeint n=4;struct studentint num;/* 学号 */char name10;/* 姓名 */float score3;/* 成绩
11、 */以下是函数原型 */void save(void);void input(void);void output(void);文案大全标准实用void modify();/* 修改信息 */void searchmenu(void);/* 查询信息 */void namecheck(void);/* 按姓名查询 */void scorecheck(void);/* 按学号查询 */void Addstudent();/* 添加信息 */void sclsearch();/* 成绩按分数段显示 */2.函数源程序代码与运行结果1 函数源程序代码#include#include#include
12、#include int n=4;struct studentint num;char name10;float score3;stud100;文案大全标准实用int i,choose,a,t=0;long int num;int main ()void save(void);void input(void);void output(void);void modify();void searchmenu(void);void Addstudent();void sclsearch();while(1)printf(* n);n);printf(printf( n);printf( 欢迎进入学生
13、成绩记录系统 n);printf(文案大全标准实用 n);printf(n);printf(【1】 创建学生成绩信息n);printf(n);printf(【2】 显示所有学生成绩信息n);printf(n);printf(【3】 添加学生成绩信息n);printf(n);printf(【4】 查询学生成绩信息n);printf(n);printf(【5】 修改学生的信息n);printf(n);printf(【6】 按分数段显示学生的信息n);printf(n);文案大全标准实用printf(退出n);printf(n);printf(printf(请输入相应菜单编号);* n);scanf
14、(%d,&a);switch(a) case 1:input();save(); break;case 2:output();printf(n); system(PAUSE); system(CLS);break;case 3:Addstudent();printf(n);system(PAUSE);文案大全标准实用system(CLS);break;case 4:searchmenu();printf(n);system(PAUSE); system(CLS); break;case 5:modify();printf(n);system(PAUSE); system(CLS); break
15、;case 6:sclsearch();printf(n);system(PAUSE); system(CLS); break;文案大全标准实用case 0:exit(0);default: ;return 0;void save()FILE *fp;if (fp=fopen(stu.dat,wb)=NULL)/* 以只写的方式打开文件 */printf( 无法打开文件! n);return ;for(i=0;in;i+)if (fwrite (&studi,sizeof(structstudent),1,fp)!=1)/* 写入字节为 1 的信息在文件中 */printf( 文件写入错误!
16、n);fclose(fp);/* 关闭文件 */文案大全标准实用void input()/ 录入学生成绩int i;char a;for(i=0;in;i+)printf(n 请输入学生成绩信息: n);printf(n 请依次输入 学号、姓名、 c 语言成绩 :n);scanf(%d%s%f,&studi.num,,&studi.score0);printf( 输入: y(继续 ), n(终止)!n);fflush(stdin);scanf(%c,&a);if(a=n | a=N)break;n=i+1;void Addstudent()FILE *fp;struct s
17、tudent s;文案大全标准实用fp=fopen(stu.dat,ab);if(fp=fopen(stu.dat,ab)=NULL)printf(File open error!n);elsen);printf( 请输入所增加学生的 学号 姓名 c 语言成绩:scanf(%d,&s.num );scanf(%s,);scanf(%f,&s.score0);fwrite (&s,sizeof(struct student),1,fp);fclose(fp);/* 关闭文件 */printf( 写入成功 !n);/end function Addstudent;void output
18、()int i;/float s;FILE *fp;if(fp=fopen(stu.dat,rb)=NULL)文案大全标准实用printf(cannot open filen);exit(0);printf(n 学号 姓名 c 语言成绩 n);for(i=0;fread(&studi,sizeof(struct student),1,fp)=1;i+)printf(%d %10s % 10.2fn,studi.num,,studi.score0);fclose(fp);n=i;void modify()int number,i;printf( 请输入要修改信息的学生学号 :
19、);scanf(%d,&number);for(i=0;in;i+)if(number=studi.num)break;/* 查找判断 */if(in)/* 查找判断 */文案大全标准实用printf( 请输入修改后的学生的信息: ); printf(n 请输入学生的 c 语言成绩: ); scanf(%f,&studi.score0);save();elseprintf( 没找到该学生的信息 n);system(paues);system(cls);void namecheck(void);void scorecheck(void);void searchmenu() printf( * 欢
20、迎进入学生成绩查询系统 * n);printf(* 1 按姓名查询成绩 * n);printf(* 2 按学号查询成绩 * n);printf(* 3返回上一层 * n);printf(* 4退出* n);n);printf(printf( 请输入相应菜单编号 : );文案大全标准实用int m; scanf(%d,&m); switch(m)case 1:namecheck();printf(n);system(PAUSE);system(CLS);break;case 2:scorecheck();printf(n);system(PAUSE);system(CLS);break;case
21、 3:main();break;case 4:exit(0); break;void namecheck()char name10;printf( 按照姓名查询请按 n);文案大全标准实用printf(n 请输入姓名 :);scanf(%s,&name);printf( 查询结果 n);printf( 学号 姓名 c 语言成绩 n);if(strcpy(,name)printf(%d %s %.2fn,studi.num,,studi.score0);void scorecheck()int b;printf( 按照学号查询请按 n);printf(n
22、请输入学号 :);scanf(%d,&b);printf( 查询结果 n);printf( 学号 姓名 c 语言成绩 n);文案大全标准实用for(i=0;in;i+)if(studi.num =b)printf(%d%s %.2fn,studi.num,,studi.score0);void sclsearch()int i;printf(90 分以上 :n);printf( 学号 姓名 c 语言成绩 n);for(i=0;i=90)printf(%d %s %.2fn,studi.num,,studi.score0);printf(8089:n);文
23、案大全标准实用printf( 学号 姓名 c 语言成绩 n);for(i=0;i=80&studi.score090)printf(%d %s %.2fn,studi.num,,studi.score0);printf(7079:n);printf( 学号 姓名 c 语言成绩 n);for(i=0;i=70&studi.score080)printf(%d %s %.2fn,studi.num,,studi.score0);printf(6069:n);printf( 学号 姓名 c 语言成绩 n);for(i=0;i=60&studi.score070
24、)printf(%d %s %.2fn,studi.num,,studi.score0);文案大全标准实用printf(60 分以下 :n);printf( 学号 姓名 c 语言成绩 n);for(i=0;in;i+)if(studi.score060)printf(%d%s %.2fn,studi.num,,studi.score0); (1) 系统以菜单方式工作文案大全标准实用2 )学生成绩录入文案大全标准实用(3) 显示所有学生成绩文案大全标准实用文案大全标准实用(4) 查询学生成绩按姓名查询文案大全标准实用文案大全标准实用按学号查询文案大全标准实用文案大全标准实用(5) 修改学生成绩文案大全标准实用(6) 按分数段显示学生成绩文案大全标准实用文案大全标准实用四、调试与测试我在调试我编写的程序当中出现了很多问题,比如,按姓名查询学生成绩中 if(strcpy(,name) ,开始我写成了 =name
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国全脂酸奶市场消费前景及投融资风险趋势分析报告
- 市高技能人才培养工作方案
- 班级主题教育活动策划计划
- 促进幼儿创造性思维的活动设计计划
- 股权质押与互联网金融合作框架协议
- 股票期权行权收益分配与再投资监管协议
- 跨境电商股权代持及跨境投资合作协议
- 智能家居研发股东合伙协议书
- 创新型企业股权授权转让协议
- 跨国企业股东公司设立与全球市场拓展协议书
- DF6205电能量采集装置用户手册-2
- 培训课件 -华为铁三角工作法完全解密
- 2024年新版《公文写作与处理》近年考试题库(含答案)
- 水利安全生产风险管控六项机制题库
- 《鲁迅的简介》课件
- 韩国《寄生虫》电影鉴赏解读
- 重症肺炎并呼吸衰竭个案护理查房
- 吸烟有害健康课件高一上学期行为习惯养成教育主题班会
- 中医各家学说(湖南中医药大学)智慧树知到课后章节答案2023年下湖南中医药大学
- 油气井现代产量递减分析方法及应用讲座
- 基于PLC的全自动洗衣机控制系统设计毕业论文
评论
0/150
提交评论