张可鑫 C语言课程设计_学生成绩管理系统(2)
scanf("%s %lf %lf %lf", name, &Chinese, &math, &English); mark_ave=(Chinese+math+English)/3.0; mark_tot=Chinese+math+English; pos = 0;
while ((data[pos].mark_ave < mark_ave) && (pos < *len) ) pos ++;
for (i = *len-1; i >= pos; i--) data[i+1] = data[i]; data[pos].no = no;
strcpy(data[pos].name, name); data[pos].Chinese = Chinese; data[pos].math = math;
data[pos].English = English; data[pos].mark_ave = mark_ave; data[pos].mark_tot = mark_tot; (*len)++; goto lab; }
/*-------------删除子程序--------------*/ void delete_item(STUDENT *data, int *len) {
int no, i, pos; lab: pos=0;
printf("%s\n", "输入需要删除的学生的学号,退出当前菜单请输入-1.")
}
/*---------------统计子程序------------*/ void stat(STUDENT *data, int len) {
int no_59=0, no_69=0, no_79=0, no_89=0, no_100=0; int i;
for (i = 0;i < len; i++) {
if (data[i].mark_ave <=59) no_59++;
else if (data[i].mark_ave <=69) no_69++; else if (data[i].mark_ave <=79) no_79++; else if (data[i].mark_ave <= 89) no_89++; else no_100++; }
system("cls");
for (i =0; i < 80; i++) putchar('='); putchar('\n');
printf("%10s", "分数"); printf("%10s", "0--59"); printf("%10s", "60--69"); printf("%10s", "70--79"); printf("%10s", "80--89"); printf("%10s", "90--100");
scanf("%d", &no);
if (no == -1) return;
while( (data[pos].no != no) && (pos < *len) ) pos = pos +1; if (pos >= *len) {
printf("%s\n", "未找到需要删除的学生"); goto lab; }
else {
for (i = pos+1;i < *len; i++) data[i-1] = data[i]; *len = *len -1; if (*len == 0) {
printf("%s\n", "没有任何记录,请按回车键返回."); getchar(); getchar(); return; }
goto lab; }
putchar('\n'); putchar('\n');
printf("%10s", "学生"); printf("%10d", no_59); printf("%10d", no_69); printf("%10d", no_79); printf("%10d", no_89); printf("%10d", no_100); putchar('\n');
for (i =0; i < 80; i++) putchar('='); putchar('\n');
printf("按回车键返回"); getchar(); getchar(); }
/*---------------显示信息子程序------------*/ void paint() {
int i;
system("cls");
printf("%55s\n", "海都学院学生成绩管理系统\n"); printf(" 制作者: \n"); for (i = 0; i < 80; i++) putchar('='); putchar('\n');
printf(" 1 输入信息 2 息\n");
printf(" 3 按平均分排序 4 查找\n");
printf(" 5 插入 6 删除\n");
printf(" 7 按平均分输出统计信息 8 文件\n");
printf(" 0 退出\n"); for (i = 0; i<= 79; i++) putchar('='); putchar('\n');
printf("%s\n", "请输入各操作对应的序号:"); }
void save(STUDENT *data, int len)//将数据保存到文件{
输出信按学号按学号保存到
int i;
FILE *fp;
fp=fopen("成绩统计表.txt","w"); fprintf(fp,"%8s", "学号"); fprintf(fp,"%8s", "姓名"); fprintf(fp,"%8s", "语文"); fprintf(fp,"%8s", "数学"); fprintf(fp,"%10s", "英语"); fprintf(fp,"%12s", "平均分"); fprintf(fp,"%10s\n", "总分");
fprintf(fp,"========================================================================\n");
putchar('\n');
for (i = 0; i< len; i++) {
fprintf(fp,"%8d", data[i].no); fprintf(fp,"%8s", data[i].name);
fprintf(fp,"%8.1lf", data[i].Chinese); fprintf(fp,"%8.1lf", data[i].math); fprintf(fp,"%10.1lf", data[i].English); fprintf(fp,"%12.1lf", data[i].mark_ave); fprintf(fp,"%10.1lf\n", data[i].mark_tot); }
fprintf(fp,"========================================================================\n");
fclose(fp);
printf("文件已保存到\"成绩统计表.txt\""); getchar();getchar(); }
/*-----------主程序--------------*/ void main() {
STUDENT data[MAXN]; int len = 0; char ctrl_ch; paint();
scanf("%c", &ctrl_ch); while (ctrl_ch != '0') {
; case '1':
input(data, &len); break; case '2':
output(data, len); break; case '3':
sort(data, len); break; case '4':
find(data, len); break; case '5':
insert(data, &len); break; case '6':
delete_item(data, &len); break; case '7':
stat(data, len); break; case '8':
save(data, len); break; default:
if (ctrl_ch != '\n') printf("%s\n", "输入错误!"); break; }
if (ctrl_ch != '\n') paint(); scanf("%c", &ctrl_ch); } }
7.2调试与测试
7.2.1算法调试过程中出现的问题及解决方法(以下为其中一例)
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling... Cpp1.cpp
C:\Documents and Settings\Administrator\桌面\Cpp1.cpp(9) : error C2065: 'MAX_MAME' : undeclared identifier
C:\Documents and Settings\Administrator\桌面\Cpp1.cpp(9) : error C2057: expected constant expression
C:\Documents and Settings\Administrator\桌面\Cpp1.cpp(10) : error C2229: struct 'student' has an illegal zero-sized array
执行 cl.exe 时出错.
Cpp1.obj - 1 err …… 此处隐藏:2967字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




