C语言课程设计 (2)
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 问题描述问题描述 用条件编译方法实现以下功能输入一行电报文字,可以任选两种输出,一 为原文输出;一为将字母变成其下一字母(如’a’变成’b’.’z’变成’a’。其他 字符不变) 。用define 命令来控制是否要译成密码。例如define change 1 ,则输出密码。若define change 0,则不译成密码,按原码输出。 1.2 源程序源程序 include define CHANGE 1 int main { char c[100]; char *p; printf“ string\n“; scanf“s“, p c; if1 CHANGE { C 语言课程设计 - 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 c[100],*p; edfine CHANGE 1 输 出” string” string pc 1CHANGE *p’\0’ 原样输出数 组c[100] *p为除z和Z外的 字母 *p*p1 输出*p P*p为Z或z 原样输出*p*p-25 结束 输出换行 符 Y Y Y N N N C 语言课程设计 - 6 - 图 1 流程图 1.4 运行结果运行结果 图 2 运行结果 2.程序改错题程序改错题 2.1 源代码源代码 include include double fun int m { double y1.0; int i; for i2;im;i y-1/i*i; returny; } main { int n5; clrscr; printf“\nRhe result is 1f\n“,funn; } 2.2 错误分析错误分析 C 语言课程设计 - 7 - 此程序意在借助于函数 fun,求 t1-1/2*2-1/3*3--1/m*m。错误之 处在露掉了 im,应把 i m 改为 i m;1 的数据类型不搭配,应把 1 改 为 1.0;没有定义 clrscr,应将 clrscr 定义为 void 型。 2.3 流程图流程图 图 3 t1-1/2*2-1/3*3--1/m*m 的流程图 2.4 运行结果运行结果 开始 1y 2i y-1/i*iy i1i i5 输出 y 结束 C 语言课程设计 - 8 - 图 4 t1-1/2*2-1/3*3--1/m*m 的运行结果 3. 综合题综合题 3.1题目题目 班级成绩管理系统班级成绩管理系统 3.1.1问题描述问题描述 对一个有 N 个学生的班级, 每个学生有 M 门课程。 系统实现对班级成绩的录入, 显示,排序,保存等操作的管理。 3.1.2 功能要求功能要求 1. 本系统采用一个包含 N 个数据的结构体数组,每个数据的结构应当包括学 号,姓名,M 门课程的名称。 2.本系统显示这样的菜单 a. 成绩录入 b. 成绩显示 c. 成绩保存 d. 成绩排序 e. 成绩修改(要求先输入密码) f. 成绩统计 (1) 显示每门课程成绩最高学生的级本信息 (2) 显示每门课成绩的平均成绩 (3) 显示超过某门课程平均成绩的学生人数 3.执行一个具体功能后,程序将重新显示菜单。 4.将学生成绩保存到文件中。 3.1.3 算法提