教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

张可鑫 C语言课程设计_学生成绩管理系统(2)

来源:网络收集 时间:2026-09-21
导读: 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 = *l

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

张可鑫 C语言课程设计_学生成绩管理系统(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/265017.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)