1、C 语言课程设计 - 1 - C C 语言课程设计语言课程设计 班 级: 姓 名: 学 号: 指导教师: 设计时间: 评语: 成绩 C 语言课程设计 - 2 - 目目 录录 1.基本要求题 2.1.1 问题描述3 1.2 源程序3 1.3 流程图6 1.4 运行结果7 2.程序改错题 2.1 源代码7 2.2 错误分析7 2.3 流程图8 2.4 运行结果8 3. 综合题 3.1.题目成绩管理系统.8 3.2 程序分工9 3.3设计思路.9 3.4 程序源代码10 C 语言课程设计 - 3 - 3.5 运行结果 3.6调试报告. 4. 课程设计的心得体会. 1.基本要求题基本要求题 1.1 问
2、题描述问题描述 用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一 为原文输出;一为将字母变成其下一字母(如a变成b.z变成a。其他 字符不变) 。用#define 命令来控制是否要译成密码。例如:#define change 1 ,则输出密码。若#define change 0,则不译成密码,按原码输出。 1.2 源程序源程序 #include #define CHANGE 1 int main() char c100; char *p; printf(“input stringn“); scanf(“%s“, p = c; if(1 = CHANGE) C 语言课程设计 -
3、 4 - while(*p != 0) if(*p =a else if(*p =z|*p=Z) *p -= 25; printf(“%c“, *p); p+; else printf(“%s“,c); printf(“n“); return 0; 1.3 流程图流程图 C 语言课程设计 - 5 - 开始 char c100,*p; #edfine CHANGE 1 输 出”input string” input string p=c 1=CHANGE *p!=0 原样输出数 组c100 *p为除z和Z外的 字母 *p=*p+1 输出*p P+*p为Z或z 原样输出*p=*p-25 结束 输出
4、换行 符 Y Y Y N N N C 语言课程设计 - 6 - 图 1 流程图 1.4 运行结果运行结果 图 2 运行结果 2.程序改错题程序改错题 2.1 源代码源代码 #include #include double fun (int m) double y=1.0; int i; for (i=2;im;i+) y-=1/(i*i); return(y); main () int n=5; clrscr(); printf(“nRhe result is %1fn“,fun(n); 2.2 错误分析错误分析 C 语言课程设计 - 7 - 此程序意在借助于函数 fun,求 t=1-1/2*
5、2-1/3*3-1/m*m。错误之 处在:露掉了 i=m,应把 i m 改为 i =m;1 的数据类型不搭配,应把 1 改 为 1.0;没有定义 clrscr,应将 clrscr 定义为 void 型。 2.3 流程图流程图 图 3 t=1-1/2*2-1/3*3-1/m*m 的流程图 2.4 运行结果运行结果 开始 1=y 2=i y-1/i*i=y i+1=i i=5 输出 y 结束 C 语言课程设计 - 8 - 图 4 t=1-1/2*2-1/3*3-1/m*m 的运行结果 3. 综合题综合题 3.1题目题目 班级成绩管理系统班级成绩管理系统 3.1.1问题描述:问题描述: 对一个有 N
6、 个学生的班级, 每个学生有 M 门课程。 系统实现对班级成绩的录入, 显示,排序,保存等操作的管理。 3.1.2 功能要求:功能要求: 1. 本系统采用一个包含 N 个数据的结构体数组,每个数据的结构应当包括:学 号,姓名,M 门课程的名称。 2.本系统显示这样的菜单: a. 成绩录入 b. 成绩显示 c. 成绩保存 d. 成绩排序 e. 成绩修改(要求先输入密码) f. 成绩统计 (1) 显示每门课程成绩最高学生的级本信息 (2) 显示每门课成绩的平均成绩 (3) 显示超过某门课程平均成绩的学生人数 3.执行一个具体功能后,程序将重新显示菜单。 4.将学生成绩保存到文件中。 3.1.3 算法提