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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

完整word版c语言程序设计成绩管理系统Word格式.docx

1、 通过本系统软件,能帮助教研人员利用计算机,快速方便地对学生成绩管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化,直观化、合理化。本软件适用于教育界,对学生的信息可以随时输入、输出、查找、修改、汇总。2. 题目描述:对学生信息(包括英语、数学、计算机、平均分、总分)进行管理,包括学生成绩的信息输入、输出、排序、查询、插入、删除、统计、退出.(注:本程序中将学生记录存在文件score中。)功能模块分工:黄志慧负责:输入功能、输出功能、排序功能及主函数; 刘纯和负责:查询功能、插入功能、删除功能、统计功能。3.课程设计报告内容3.1.算法与流程学生信息的结构体表示;struct

2、 student int no; char nameMAX_NAME; int english; int math; int computer; int mark_ave; int mark_tot; STUDENT;系统化分为如下模块(即如下函数)1、输入信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数void input(STUDENT *data, int *len)来实现此操作。2、输出信息:输出学生的信息以及成绩void output(STUDENT *data, int len):通过学生的姓名来查看学生的相关成绩,同时也可以分别通过caverage()、mav

3、erage()、eaverage()和comaverage()来输出成绩的平均分数、最高和最低分数。3. 排序功能:用函数void sort(STUDENT *data, int len)来实现4、查询模块:可用void find(STUDENT *data, int len)来实现。找到就输出此学生全部信息。3、插入模块:可用void insert(STUDENT *data, int *len) 函数来实现。其中通过学号的大小来比较的,并且以此来排序。6. 删除功能:用函数void delete_item(STUDENT *data, int *len)来实现7. 统计功能:用函数void

4、 stat(STUDENT *data, int len) 来实现8、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。3.2、流程 否 是 1 2 3 4 5 6 7 8 3.3.源程序代码#include stdio.hstring.h#define MAXN 35#define MAX_NAME 256typedef struct student/学生信息 double english; double math; double computer; double mark_ave; double mark_tot;/*-输入信息子程序-

5、*/void input(STUDENT *data, int *len) putchar(n); printf(%sn, 请输入新的记录,如果需要退出当前菜单请输入-1.格式:n学号n姓名 英语 数学 计算机如:n5n黄志慧 100 100 100n scanf(%d, &no); while(no != -1) data*len.no = no; scanf(%s %lf %lf %lf, data*len.name, &data*len.english, &data*len.math,&data*puter); data*len.mark_ave=(data*len.english+da

6、ta*len.math+data*puter)/3.0; data*len.mark_tot=data*len.english+data*len.math+data*puter; (*len)+; /*-输出信息子程序-*/void output(STUDENT *data, int len) int i; system(cls%8s学号姓名英语数学%10s计算机%12s平均分总分 for (i =0; i 80; i+)= for (i = 0; i len; %8d, datai.no);, datai.name);%8.1lf, datai.english);, datai.math);

7、%10.1lf, puter);%12.1lf, datai.mark_ave);, datai.mark_tot); 按回车键继续. getchar();/*-排序子程序-*/void sort(STUDENT *data, int len) int i,j,k; STUDENT temp; for (i=0;len-1; i+) for (k=i, j=i+1; j dataj.mark_ave) k=j; if (k != i) temp = datai; datai = datak; datak = temp; /*-搜索子程序-*/void find(STUDENT *data, i

8、nt len) int find_no, result ;lab: result=0; printf(请输入需要查找的学生的学号,退出当前菜单请输入 -1.find_no); if (find_no = -1) return; /*exit the fine sub program*/ while( dataresult.no != find_no & result = len ) printf(未查询到相关信息 goto lab; else system(查询信息如下: for (i =0; putchar( putchar(, dataresult.no);, dataresult.nam

9、e);, dataresult.english);, dataresult.math);, puter);, dataresult.mark_ave);, dataresult.mark_tot);/*-插入子程序-*/void insert(STUDENT *data, int *len) int no, pos; double english, math, computer, mark_ave, mark_tot;输入新的记录,退出当前菜单请输入-1. 姓名 英语 数学 计算机 if (no = -1) return;, name, &english, &math, &computer);

10、 mark_ave=(english+math+computer)/3.0; mark_tot=english+math+computer; pos = 0; while (datapos.mark_ave mark_ave) & (pos = pos; i-) datai+1 = datai; datapos.no = no; strcpy(datapos.name, name); datapos.english = english; datapos.math = math; puter = computer; datapos.mark_ave = mark_ave; datapos.mar

11、k_tot = mark_tot; goto lab;/*-删除子程序-*/void delete_item(STUDENT *data, int *len) int no, i, pos; pos=0;输入需要删除的学生的学号,退出当前菜单请输入-1. while( (datapos.no != no) & *len) ) pos = pos +1; if (pos = *len) 未找到需要删除的学生 for (i = pos+1;i *len; datai-1 = datai; *len = *len -1; if (*len = 0) printf(没有任何记录,请按回车键返回. ge

12、tchar(); return;/*-统计子程序-*/void stat(STUDENT *data, int len) int no_59=0, no_69=0, no_79=0, no_89=0, no_100=0; if (datai.mark_ave =59) no_59+; else if (datai.mark_ave =69) no_69+; else if (datai.mark_ave =79) no_79+;= 89) no_89+; else no_100+;分数0-5960-6970-7980-8990-100学生%10d, no_59);, no_69);, no_7

13、9);, no_89);, no_100);按回车键返回/*-显示信息子程序-*/void paint()%43sn菜单 1 输入 2 输出n 3 按平均分排序 4 按学号查找n 5 插入 6 按学号删除n 7 按平均分输出统计信息 8 保存到文件n 0 退出n= 79;请输入各操作对应的序号:void save(STUDENT *data, int len)/将数据保存到文件 FILE *fp; fp=fopen(成绩统计表.txt,w fprintf(fp,%10sn=n%10.1lfn fclose(fp);文件已保存到成绩统计表.txtgetchar();/*-主程序-*/void m

14、ain() STUDENT dataMAXN; int len = 0; char ctrl_ch; paint();%cctrl_ch); while (ctrl_ch != 0) switch(ctrl_ch) case 1: input(data, &len); break;2 output(data, len);3 sort(data, len);4 find(data, len);5 insert(data, &6 delete_item(data, &7 stat(data, len);8 save(data, len); default: if (ctrl_ch !) print

15、f(输入错误! if (ctrl_ch !) paint();3.4.算法调试过程中出现的问题及解决方法问题一、 C:Documents and SettingsAdministrator桌面 C课程设计.cpp(20) : error C2065: data : undeclared identifierC课程设计.obj - 1 error(s), 0 warning(s)解决方法:在源程序第六行前加上typedef问题二、Documents and SettingsAdministrator桌面 C课程设计.cpp(289) : fatal error C1004: unexpected end of file found执行 cl.exe 时出错.在源程序最后加上“”问题三Documents and SettingsAdministrator桌面 C 课程设计.cpp(257) : error C2059: syntax error :constantC 课程设计.obj - 1 error(s), 0 warning(s)将主程序中的“if”换成“cas

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

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