语c言课程设计报告学生成绩管理大学论文.docx
- 文档编号:1236674
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:29
- 大小:440.79KB
语c言课程设计报告学生成绩管理大学论文.docx
《语c言课程设计报告学生成绩管理大学论文.docx》由会员分享,可在线阅读,更多相关《语c言课程设计报告学生成绩管理大学论文.docx(29页珍藏版)》请在冰豆网上搜索。
语c言课程设计报告学生成绩管理大学论文
文华学院
信息与科学技术学部
课程设计报告
2016—2017学年第一学期
课程名称C语言课程设计
设计题目《学生成绩管理》
学生姓名周全
学号150********4
专业班级自动化1502班
指导教师叶念渝
2016年12月12日
目录
1、设计任务书1
1.1、题目与要求1
1.2、本程序涉及的知识点1
2、功能设计1
2.1、算法设计1
2.2、部分模块流程图2
3、程序代码设计10
4、在设计过程中遇到的困难24
5、C程序设计总结25
1、设计任务书
1.1、题目与要求
1,由键盘输入20个学生(姓名)的某门课程的学习成绩10~99分(也可超过)。
2,将分数由低到高排序(用直接排序法和冒泡法),并显示学生姓名和对应的分数。
3,用线性搜索法检索某个学生的成绩(输入姓名,显示成绩)
4,对分搜索法检索某个学生的成绩(输入姓名,显示成绩)
1.2、本程序涉及的知识点
变量的定义、输入和输出函数、if语句、转意字符的使用、调用外部文件、调用winds下的命令符、清屏语句等等。
2、功能设计
2.1、算法设计
1、本程序实现的功能要求:
将各个功能写成子函数,需要时进行调用。
主函数。
2.2、部分模块流程图
1)管理员菜单
2)学生菜单
3)网页转跳
4)打开文件
5)登陆程序
6)输入函数
7)排序函数
8)冒泡排序
9)搜索程序
10)对分搜索
3、程序代码设计
#include
#include
#include
#definemax1100//最多人数
structgeren{//定义一个结构体
charname[40];
intchengji;
intpaiming;
};
structgerenguanli[max1];//geren结构数组
voidglcaidan();//管理员菜单
voidxscaidan();//学生菜单
voidshuru();//输入函数
voidpaixushuchu();
voidguanliyuan();//管理员登陆
voidpaiming();//对学生进行排名
voidxueshendenlu();//学生登录
voidsousuo();
voidzhuantiao();//网页转跳
voidswap(structgeren*student,intn);//从大到小的排序
voidwenjian();//打开文件
voidduifen();//对分搜索
voidzhijie();//直接排序
voidmain()
{
glcaidan();//管理员菜单
zhuantiao();//网页转跳
xscaidan();//学生菜单
}
voidwenjian()//打开文件
{
FILE*fp;
charch;
char*file_path=".\\字符图案\\wenhua.txt";
system("cls");
if((fp=fopen(file_path,"r"))==NULL)
{
printf("\nSorry,Can'topenthefile!
@_@\n");
exit(0);
}
else
{
while((ch=fgetc(fp))!
=EOF)
{printf("%c",ch);}
fclose(fp);
}
Sleep(2000);
system("cls");
}
voidzhuantiao()//网页转跳
{
inti;
for(i=3;i<4&&i>0;i--)
{
system("cls");
printf("\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t%ds后将转跳到学生成绩查询系统...",i);
Sleep(1000);
}
}
voidswap(structgeren*student,intn)//冒泡排序,从大到小的排序
{
intflag;
inti,j;
structgerentemp;
for(i=0;i { flag=0; for(j=0;j if(guanli[j].chengji { flag=1; temp=guanli[j+1]; guanli[j+1]=guanli[j]; guanli[j]=temp; } if(flag==0) break; } paiming(); } voidzhijie()//直接排序 { inti,j; inta; for(i=0;i for(j=i+1;j { if(guanli[i].chengji { a=guanli[i].chengji; guanli[i].chengji=guanli[j].chengji; guanli[j].chengji=guanli[i].chengji; } } } voidpaiming()//对学生进行排名 { inta,j; for(a=1,j=0;j { guanli[j].paiming=a; a++; } } voidglcaidan()//管理员菜单 { inta,b,c,d,f; chare; a=1; c=0; d=0; f=0; wenjian();//打开文件 while(a) { b=1; Sleep(f); system("cls"); while(b) { printf("**************************************************************************************************************************************************************************\n"); printf("********欢迎来到学生成绩录入系统***********\n"); printf("**************************************************************************************************************************************************************************\n"); printf("%c1、登陆%c2、录入学生成绩%c3、查看录入成绩%c4、退出登陆\n",3,3,3,3); fflush(stdin); scanf("%d",&e); switch(e) { case1: guanliyuan();//管理员登陆 b=0; c=1; f=2000; break; case2: if(c==1) { shuru();//成绩输入 b=0; d=1; f=2000; } else { printf("\n\n\n\t\t\t\t\t\t\t\t\t您还没有登陆,请先登录\n"); b=0; f=2000; } break; case3: if(c==1) {if(d==1) { paiming();//对学生进行排名 paixushuchu(); b=0; f=10000; } else { printf("\n\n\n\t\t\t\t\t\t\t\t\t还没有录入成绩。 \n"); b=0; f=2000; } } else { printf("\n\n\n\t\t\t\t\t\t\t\t\t您还没有登陆,请先登录\n"); b=0; f=2000; } break; case4: if(c==1) { printf("\n\n\n\t\t\t\t\t\t\t\t\t成功退出登陆。 \n"); a=0; b=0; } else { printf("\n\n\n\t\t\t\t\t\t\t\t\t您还没有登陆。 请登录\n"); b=0; f=2000; } break; default: printf("\n\n\n\t\t\t\t\t\t\t\t\t未知错误\n"); fflush(stdin); b=0; f=2000; } } } } voidxscaidan()//学生菜单 { inta,b,c,d,e,f; a=1; c=0; d=0; f=0; wenjian();//打开文件 while(a) { b=1; Sleep(f); system("cls"); while(b) { printf("*************************************************************************************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 学生 成绩 管理 大学 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)