版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c 语言语言课程设计报告上海应用技术学院课程设计2011 2012 学年第二学期设计题目成绩记录簿院(系)计算机科学与信息工程学院专业计算机应用技术班级11104114 学号 1110411414学生姓名蒋佳琴设计时间 2012.06.25 -2012.07.06指导教师马智娴提交日期2012.07.061110411414 蒋佳琴程序设计语言课程设计报告上海应用技术学院课程设计任务书课程名称程序设计语言课程设计课程代码B7040101小型商品管理系统2个人收支管理设计题目3日程表管理题目序号44成绩记录簿5信息发布平台6银行信贷管理系统设计时间2012.06.252012.07.06计算机科
2、学计算机应学院专业班级11104114与信息工程用技术一、课程设计任务(条件) 、具体技术参数(指标)1. 在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可)2. 每个题目限一人完成,题目选定后不可更换。3. 用户提供的主操作界面应该方便用户的操作。4. 最后提交的课程设计成果包括:a) 课程设计报告电子稿。c)源程序文件。d) 可执行程序文件 。二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1. 分析课程设计题目的要求;2. 写出详细设计说明;1110411414 蒋佳琴程序设计语言课程设计报告3. 编写程序代码,调试程序使其能正确运行;4. 设
3、计完成的软件要便于操作和使用, 有整齐、美观的使用界面;5. 设计完成后提交课程设计报告和源代码文件的电子文档。三、课程设计工作进度计划:第四 七天编写与调试第一天 选择 课程 设 计题程序;目,分析课题的要求,第八天写课程设计报确定设计方案;告;第二天按功能模块第九天提交课程设计编写详细设计说明;报告;第三天绘制程序流第十天面试或答辩 。程图;四、主要参考资料1 谭浩强 C 程序设计 ( 第四版 ) 北京:清华大学出版社, 20102 谭浩强 C 程序设计题解与上机指导( 第四版 ) 北京:清华大学出版社, 20103 Herbert Schildt C 语言大全(第四版) 北京:电子工业出
4、版社 , 20044Samuel P.Harbison,Guy L.SteeleC 语言参考手册 ( 第 5 版) 北京:机械工业出版社, 20035 程序设计语言课程设计指导书指导教师(签名): 马智娴教研室主任(签名):马智娴2012 年6 月 25 日2012 年6 月25 日1110411414 蒋佳琴程序设计语言课程设计报告1110411414 蒋佳琴程序设计语言课程设计报告目录1设计目的 .92功能描述 .92.1模块功能 .92.2流程图 .103总体设计 .183.1功能模块设计 .183.2数据结构设计 .183.3函数功能描述 .184程序实现 .204.2运行结果 .40
5、5 课程设计总结 .451110411414 蒋佳琴 程序设计语言课程设计报告成绩记录簿1. 设计要求:成绩记录簿基本功能a) 添加成绩1.添加b) 删除成绩2.删除c) 查询学生成绩3.查学生成d) 查询班级成绩绩e) 退出拓展功能a) 写入文件b) 读取文件创新(自拟)功能:程序实现的其它功能由个人自拟。2. 设计要求具体说明基本功能:成绩记录簿中记录以下数据:学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分;输入信息时要检查数据项学号、 课程编号、成绩、学分的合法性,学号: 8 位数字;课程编号: 5 位数字;成绩:0 100 之间的整数,学分: 1 5 之间的实型数。
6、添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示;1110411414 蒋佳琴程序设计语言课程设计报告查询(班级或个人)成绩:a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩, 和已完成的总学分。b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、 及格率及全班同学不同课程在不同分数段分布的人数及百分比。拓展功能:a) 程序启动时先从文件读入数据, 如果文件中没有数据则给出提示;b) 每次修改的数据写入文件。3. 提示定义合适的结构体类型,使用链表或数组的方式组织数据。1110411414 蒋佳琴程序设计语言课程设计报告1 设计目的
7、1. 巩固和加深学生对 C 语言课程的基本知识的理解和掌握;2. 掌握 C 语言编程和程序调试的基本技能;3. 利用 C 语言进行基本的软件设计;4. 掌握书写程序设计说明文档的能力5. 提高运用 C 语言解决实际问题的能力2 功能描述2.1 模块功能2.1.1 添加功能: 添加学生基本信息中可以输入学生学号,学生姓名和学生班级。添加学生成绩可以输入学生的课程编号、课程名称、成绩、学分。并且可以判断输入数据的合法性。2.1.2 删除功能: 能够删除输入错误或者不想要的陈旧信息。2.1.3 查询功能: 能查询学生基本信息,和学生成绩。1110411414 蒋佳琴程序设计语言课程设计报告2.2 流
8、程图成绩记录簿添加删除查询学查询班写入文读取文退出生成绩级成绩件件添加学生基本信息添加学生成绩删除学生基本信息删除学生成绩学号查询姓名查询课程代号查询储存读取结束图 1 系统功能菜单1110411414 蒋佳琴程序设计语言课程设计报告1110411414 蒋佳琴程序设计语言课程设计报告开提输N检查学的合法性Y放入结构结图 2 添加(学生基本信息)1110411414 蒋佳琴程序设计语言课程设计报告开始提输 入 课N检查Y输 入 课 程N检 查Y输入N检 查Y计放入结构结1110411414 蒋佳琴程序设计语言课程设计报告图 3 添加(学生成绩)开提示输N检Y调出学删结图 4删除(学生基本信息)
9、1110411414 蒋佳琴程序设计语言课程设计报告开提示输入N检查Y调出学生成绩删除结束图 5 删除(学生成绩)1110411414 蒋佳琴程序设计语言课程设计报告开输入查询的N判断课程是否存在 Y输 出 该 班 级所有成绩,学图 6 查询(学生基本信息)1110411414 蒋佳琴程序设计语言课程设计报告开输入查询N 判断学Y输 出 该 学 生图 7 查询(学生个人成绩)开输入查询的N 判断课Y输 出 该 班 级1110411414 蒋佳琴程序设计语言课程设计报告图 8 查询班级课程成绩3 总体设计3.1 功能模块设计3.1.1 添加功能设计: 添加分为两部分添加学生基本信息和添加学生成绩
10、。添加学生基本信息中要求输入学生学号,学生姓名和学生班级。添加学生成绩要求输入学生的课程编号、课程名称、成绩、学分。其中用结构体来建立输入的学生信息的形式。两个结构体间用静态链表连接,使其联系起来。3.1.2 删除功能设计: 删除也分为两部分删除学生基本信息和删除学生成绩。删除用后一个来覆盖前一个原理进行操作。3.1.3 查询功能设计: 查询学生成绩可以用 3 种方法来进行。 1.学号 2.姓名 3.课程代号。 班级查询,可输入课程代号,可得班平均分。3.2 数据结构设计先建立两个结构体 studen1,student2。再设立全局变量,建立循环以验证输入的合法性,全局变量累加,全局变量累减。
11、3.3 函数功能描述3.3.1 #include 在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明) ,#include的作用就是用来提供这些信息的, stdio.h 是 C 编译系统提供的一个文件名, stdio 是 “standard input & output”1110411414 蒋佳琴程序设计语言课程设计报告的缩写,即有关标准输入输出的信息。在程序中用到系统提供的标准函数库中的输入输 出 函 数 时 , 应 在 程 序 的 开 头 写 上 一 行 :#includestdio.h或者是 #include,这样才能调用库函数3.3.2
12、#include。#include 是在调用字符函数时, 在源文件中包含的头文件。字符函数如:int isspace(int ch); 检查 ch 是否为空格制表或换行字符。“ctype ”中 c 为字符型 char 的缩写, type 为类型。3.3.3#includestring.h是个头文件,里面写的是关于字符串操作的一些基本函数。当程序中涉及对字符串的操作时,会用到这个头文件里面的函数。所以要把它 include (包含)进来。3.3.4 #includestdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如 size_t 、wchar_t 、div_t 、ldiv_t 和
13、 lldiv_t ;宏例如 EXIT_FAILURE 、EXIT_SUCCESS 、 RAND_MAX 和 MB_CUR_MAX 等等;1110411414 蒋佳琴程序设计语言课程设计报告常用的函数如 malloc() 、calloc() 、realloc() 、free() 、 system() 、atoi() 、atol() 、rand() 、srand() 、exit()等等。具体的内容你自己可以打开编译器的 include 目录里面的 stdlib.h 头文件看看。4 程序实现4.1 源码分析#include #include#include#includemain()int t;wh
14、ile(1)printf(nnn);printf(*成绩记录簿 *n);printf(*1110411414 蒋佳琴程序设计语言课程设计报告* *);printf(1:添加 n);printf(2:删除 n);printf(3:查询学生成绩 n);printf(4:查询班成绩 n);printf(5:写入文件 n);printf(6:读取文件 n);printf(0:退出n);printf(* * *);printf(请输入数字选择 :);scanf(%d,&t);switch(t)case 1: tj();break;1110411414 蒋佳琴程序设计语言课程设计报告case 2: sc(
15、);break;case 3: cx1();break;case 4: cx2(); break;case 5: xw();break;case 6: dw();break;case 0: exit(0);default: ;struct student1/建立结构体char num20;char name20;int bj;struct student2char xh20;char id20;char idname20;int sorce;float jd;1110411414 蒋佳琴程序设计语言课程设计报告struct student2 s2200,ss,*pp;/定义struct stu
16、dent1 s200,s22,s3,*oo;intcount1=0,count2=0;/设立全局变量void tj1()int i,j,n,k;printf( 请输入想要输入的学生的人的个数 :);scanf(%d,&n);for(j=count1;j7)k=0;while(k!=1);printf( 请输入学生的姓名 :);scanf(%s,);printf( 请输入班级 :);scanf(%d,&sj.bj);count1=count1+n;/全局变量累加void tj2()int ii,jj,nn,k1,k2,k3,k4;printf(请 输 入 想 要 输 入 的 学 科
17、 的 个数 :);scanf(%d,&nn); for(jj=count2;jj7)k4=0;while(k4!=1);doprintf( 请输入课程编号(5 位数字) :);scanf(%s,s2jj.id);for(ii=0;s2jj.idii!=0;ii+)if(ii=4)&(isdigit(s2jj.idii)!=0)k1=1;if(ii4)k1=0;while(k1!=1);1110411414 蒋佳琴程序设计语言课程设计报告printf( 请输入学科的名称 :);scanf(%s,s2jj.idname);do/验证成绩的合法性printf( 请输入成绩(成绩为 0100 间的整数
18、) :);scanf(%d,&s2jj.sorce);if(s2jj.sorce=0)&(s2jj.sorce=1.0)&(s2jj.jd=5.0)k3=1;while(k3!=1);count2=count2+nn;1110411414 蒋佳琴程序设计语言课程设计报告void sc1()int i,j,n,k,m=1;printf( 请输入想要删除的学生的基本信息的个数 :);scanf(%d,&n);printf( 请输入想要删除的学生的学号:);scanf(%s,s22.num);for(i=0;in;i+)m=strcmp(s22.num,si.num);if(m=0)for(j=i;
19、jn;j+)strcpy(sj.num,sj+1.num);/比较两个数据strcpy(,sj+1.name);sj.bj=sj+1.bj;count1=count1-n;/全局变量累减printf( 删除成功 );1110411414 蒋佳琴程序设计语言课程设计报告elseprintf( 删除不成功 ); void sc2()int ii,jj,nn,k1,k2,k3,k4,mm=1;printf( 请输入想要删除的学生成绩的门数 :);scanf(%d,&nn);printf( 请输入想要删除的学生的学号:);scanf(%s,ss.xh);for(ii=0;iinn;ii+
20、)mm=strcmp(ss.xh,s2ii.xh);if(mm=0)for(jj=ii;jjnn;jj+)strcpy(s2jj.xh,s2jj+1.xh);strcpy(s2jj.id,s2jj+1.id);strcpy(s2jj.idname,s2jj+1.idname);1110411414 蒋佳琴程序设计语言课程设计报告s2jj.sorce=s2jj+1.sorce;s2jj.jd=s2jj+1.jd;count2=count2-nn;printf( 删除成功 );elseprintf( 删除不成功 ); void tj()int z;printf(1.*添加学生基本信息*);prin
21、tf(printf(2.* 添加学生成绩0.* 退出 *n);*n);scanf(%d,&z);switch(z)case 1: tj1(); break;case 2: tj2();break;case 0: exit(0);default: ;1110411414 蒋佳琴程序设计语言课程设计报告void sc()int z;printf(1.*删除学生基本信息*);printf(printf(2.* 删除学生成绩0.* 退出 *n);*n);scanf(%d,&z);switch(z)case 1: sc1(); break;case 2: sc2();break;case 0: exit
22、(0);default: ;void cx1()int i,j,n,k,m=1,l=0,ii,nn,pp;printf(1 。 * 学 号 查 询 *2。* 名字查询 *n);scanf(%d,&pp);1110411414 蒋佳琴程序设计语言课程设计报告if(pp=1)printf(请输入想要查询的学生的学号 :);scanf(%s,s3.num);for(i=0;icount1;i+)m=strcmp(s3.num,si.num);if(m=0)printf( 学号:%s学号:%s班级: %dn,si.num ,si.num ,si.bj);for(ii=0;iicount2;ii+)k=
23、strcmp(s3.num,s2ii.xh);if(k=0)printf(号: %s,s2ii.id);printf(称: %s,s2ii.idname);printf(绩: %d,s2ii.sorce);printf(课 程 课 程课 程课 程代名成学1110411414 蒋佳琴程序设计语言课程设计报告分: %fnn,s2ii.jd);k=1;m=1;if(pp=2)printf( 请输入想要查询的学生的名字 :);scanf(%s,);for(i=0;icount1;i+)m=strcmp(,);if(m=0)printf( 学号: %s,si.n
24、um);printf(姓名: %s,);printf(班级: %dn,si.bj);for(ii=0;iicount2;ii+)k=strcmp(si.num,s2ii.xh);if(k=0)1110411414蒋佳琴程序设计语言课程设计报告printf(课程代号: %s,s2ii.id);printf(课程名称: %s,s2ii.idname);printf(课程成绩: %d,s2ii.sorce);printf(课程学分: %fnn,s2ii.jd);k=1;m=1;if(pp!=1&pp!=2)printf( 输入错误请选 1 或者 2n); exit(0);void cx
25、2()int i,n,m,ii,k1,c,k,cpp=0,tt200,j=0,jj,pt;1110411414 蒋佳琴程序设计语言课程设计报告float rt,ct;char d20;printf( 请输入想要查询的班级 :); scanf(%d,&c);doprintf( 请输入课程编号( 5 位数字):);scanf(%s,d);for(ii=0;dii!=0;ii+)if(ii=4)&(isdigit(dii)!=0)k1=1;while(k1!=1);for(i=0;icount1;i+)m=strcmp(d,s2i.id);if(m=0)for(ii=0;ii=60)cpp+;pt=
26、0;for(jj=0;jjj;jj+)1110411414 蒋佳琴程序设计语言课程设计报告pt=pt+ttjj;rt=pt/j;ct=(100*cpp)/j;printf( 平均分为 %f,rt);printf(及格率为:百分之 %fn,ct);void xw()FILE *fp;int i,m,n;char filename20;printf( 请输入想要储存的内容:1。*学生基本信息 *2。* 课程成绩 *n);scanf(%d,&m);if(m=1)printf( 请输入文件的寸盘位置及文件1110411414 蒋佳琴程序设计语言课程设计报告名 :);scanf(%s,filename)
27、;if(fp=fopen(filename,wb+)=NULL)printf(不能打开文件 n);exit(0);for(i=0;icount1;i+)if(fwrite(&si,sizeof(structstudent1),1,fp)!=1)printf( 文件写入错误 n);printf( 请输入学生学号(要求 8位数字) :);scanf(%s,filename);fputs(filename,fp);fputc(0,fp);printf( 请输入学生的姓名 :);scanf(%s,filename);fputs(filename,fp);fputc(0,fp);printf( 请输入班
28、级 :);scanf(%s,filename);fputs(filename,fp);fclose(fp);else if(m=2)1110411414 蒋佳琴程序设计语言课程设计报告printf( 请输入文件的寸盘位置及文件名 :);scanf(%s,filename);if(fp=fopen(filename,wb+)=NULL)printf( 不能打开文件 n); exit(0);for(i=0;icount2;i+)if(fwrite(&s2i,sizeof(structstudent2),1,fp)!=1)printf( 文件写入错误 n);printf( 请输入学生学号(要求 8位
29、数字) :);scanf(%s,filename);fputs(filename,fp);fputc(0,fp);printf( 请输入课程编号( 5 位数字) :); scanf(%s,filename); fputs(filename,fp);fputc(0,fp);printf( 请输入学科的名称 :);scanf(%s,filename);1110411414 蒋佳琴程序设计语言课程设计报告fputs(filename,fp);fputc(o,fp);printf( 请输入成绩(成绩为 0100 间的整数) :);scanf(%d,filename);fputs(filename,fp);fputc(0,fp);printf( 请输入本门课的学分(学分为 15 之间实型数) :);scanf(%d,filename);fputs(filename,fp);fclose(fp);else if(m!=1&m!=2)printf( 输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红岩课件教学课件
- 教我作文课件教学课件
- 露天作业课件教学课件
- 2024年度玻璃经销合同
- 2024年工程建设项目材料供应协议
- 2024年度生物医药研发与技术合作合同
- 2024年bulk货物运输协议
- 2024年云服务器租赁及托管合同
- 2024幕墙设计合同
- 2024年度虚拟现实技术研发与许可合同
- 浙江省温州市地图矢量PPT模板(图文)
- 上海市建设工程项目管理机构管理人员情况表
- 北师大版二年级数学上册第九单元《除法》知识点梳理复习ppt
- 空气能室外机保养维护记录表
- DB37∕T 5162-2020 装配式混凝土结构钢筋套筒灌浆连接应用技术规程
- 9-2 《第三方过程评估淋蓄水检查内容》(指引)
- 部编版七年级初一语文上册《狼》公开课课件(定稿)
- 2015路面工程讲义(垫层+底基层+基层+面层+联合层+封层、透层与黏层)
- 《现代汉语修辞》PPT课件(完整版)
- TTJCA 0007-2022 住宅室内装饰装修工程施工验收规范
- 构造柱工程施工技术交底
评论
0/150
提交评论