C语言课程设计

发布 2022-09-30 19:00:28 阅读 1766

班级。姓名。学号。

指导教师。设计时间:

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

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("input string");

scanf("%s", c);

p = c;

if(1 ==change)

while(*p !=0')

elseprintf("%s",c);

printf("");

return 0;

1.3流程图。

图1 流程图。

1.4运行结果。

图2 运行结果。

2.程序改错题。

2.1源**。

#include <>

#include <>

double fun (int m)

main ()

int n=5;

clrscr();

printf("rhe result is %1f",fun(n));

2.2错误分析。

此程序意在借助于函数fun,求t=1-1/2*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 运行结果。

图4 t=1-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 算法提示:

1. 数据结构:结构体类型数组。

2. 数据库结构:该系统的基本数据库如表1所示。

3.1.4 测试数据:

学生人数n=10

课程们数m=4

课程名:数学,语文,英语,政治。

3.2程序分工:

由李凯魏芳华,李丽,庞军飞,王国龙共同完成。

3.3设计思路。

3.3.1 思路。

定义结构体数组,定义结构体成员num(学号),name(姓名),math(数学),chinese(语文),english(英语),politics(政治),sum(总分),来实现成员的引用。并且通过函数调用以及swich语句,来分别实现成绩的录入,显示,保存,排序,修改与统计的的选择的功能。

主函数:通过外层用do—while语句,内层用switch—case语句二者嵌套实现多次选则和循环。

录入功能函数:通过for循环语句分别对结构体变量进行赋值。

显示功能函数:通过for循环语句将录入信息输出。

保存功能函数:通过文件指针将数据保存到所要求的文件中。

排序功能函数:通过运用排冒泡排序法,对成员进行总分由高到底排序。

修改功能函数:先进行密码验证,若正确,才能进行修改,否则推出修改界面。进入后,用动do—while控制进行多次循环修改,修改时,用比较学号的方法,找到该同学,对该同学的成绩进行修改。

统计功能函数:该函数分为三个部分,第一,每门课程的最高成绩;第二,平均成绩;第三,超过平均成绩的人数,调用函数为do—while和switch—case语句来实现函数的调用,来实现该函数功能。

统计每门课程的最高成绩功能的函数:通过“大擂台法”用for循环语句来找出最高的成绩,同时输出该同学成绩。

求平均成绩函数:通过总分和sum/科目数量来实现。

求超过平均分的人数:通过for循环让他们每个人的该门课程与平均分比较,从而得出结果并输出。

3.3.2 流程图。

图3.31 主函数。

3.4 程序源**。

#include<>

#include<>

#include<>

#include<>

#define n 10

*定义结构体数组*/

struct student

stu[n],temp;

float max1,max2,max3,max4定义全局变量*/

double sum1,sum2,sum3,sum4定义全局变量*/

double **erage1,**erage2,**erage3,**erage4定义全局变量*/

int main主函数。

void enter成绩录入函数*/

void show成绩显示函数*/

void store成绩保存函数*/

void rank成绩排序函数*/

void modity();成绩修改函数*/

void stat成绩统计函数*/

char ch;do

printf("\tn");

printf("\tn");

printf("\t班级成绩管理系统n");

printf("\tn");

printf("\t1:成绩录入n");

printf("\t2:成绩显示n");

printf("\t3:成绩保存n");

printf("\t4:成绩排序n");

printf("\t5:成绩修改n");

printf("\t6:成绩统计n");

printf("\t0:退出系统n");

printf("\tn");

printf("\t\t请选择0~6的操作:")

ch=getchar();

switch(ch)

case '1':enter();break;

case '2':show();break;

case '3':store();break;

case '4':rank();break;

case '5':modity();break;

C语言课程课程设计

课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...