计算机软件基础课设,计算机软件基础课程设计报告.doc

计算机软件基础课程设计报告

学 生 实 验 报 告

实验课程名称 计算机软件基础

开课实验室 信息学院机房

学 院 信息学院 年级 12 专业班 通信二班

总 成 绩教师签名

一 实验内容

设计题目:

学生成绩信息包括:学号,姓名,三门课程成绩(数学、英语和计算机)等。

主要功能:

(1) 计算各个学生的总分及平均分,并按平均分排出名次。

(2) 统计全班学生平均分成绩,输出60分以下、60~79、80~89、90分以上各分数人数

(3) 能按学号、姓名查询学生成绩,并能输出学生的成绩单

(4) 输出不及格科目及学生名单

(5) 选做在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2) 名次在前三名3) 每门功课及格以上;1、程序设计组成框图:

2、流程图:

三 详细设计

模块功能说明:(未定义函数,所有的程序直接在main函数中进行)

输入学生的信息函数功能:定义了一个结构体,通过scanf输入函数直接输入学生的姓名、学号、英语成绩、数学成绩、计算机成绩。

2、计算机排序功能:mian函数中的第二个模块直接输出学生的总分及平均分,并按平均分排出名次。

3、输出功能:第三模块中,通过for循环功能,输出不及格科目及学生名单。

4、查询功能:通查询信息,在第四模块中,输入学生的学号或姓名,找到输入的结构体的姓名或是学号对应的学生的所有的信息,并输出该学生信息。

5、退出程序

1、调试方法:逐条的对程序中的错误进行修改;修改程序中的变量、对各个模块的函数功能进行修改调试,直至零错误、零警告。

2、调试数据:

姓名 学号 英语成绩 数学成绩 计算机成绩

Qipengcheng 1 78 58 78

Luoxiuqing 2 78 87 90

Sunhaiyang 3 39 67 97

Wanghongcheng 4 80 69 49

Weipeng 5 69 99 87

Piaonanji 6 57 79 98

测试结果的分析与讨论:

由测试数据分析输出的结果可以得出输出的成绩排名、不及格人数及信息、按姓名和学号查询学生的信息输出均为正确的。

4、测试过程中遇到的问题:

①显示结果时候出错

问题描述:每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。

解决办法:现实出错也就是printf语句中的结构没有排列好所导致的。检查所有的Printf语句后发现所有的printf语句中少输出了以个语文成绩,且它们不能完全对齐。在增加了“语文”,修改了转义字符以及空格后,问题解决了。

②在查询信息的时候出错

问题描述:在输入不在文件中保存的姓名、学号时,没有信息提示。

解决办法:出现此问题说明if语句后少了一条else语句,加上该语句后,显示的结果正确了。

四 主要代码

#include

#include

struct student

{ int paiming;

int number;

char name[30];

double english,math,computer;

double sum;

double aver;

};

int main()

{

struct student b[100];

int t;

int i,j=0;

int s=0;

int n;

char name[30];

double english, math, computer;

double aver=0.0;

int a[4];

int p;

int m;

int y;

char xingming[30];

for(i=0; i<4; i++)

a[i]=0;

printf(

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机程序计(C语言) 课程设计报告 题目:电子动画时钟 学院: 机电工程学院 专业: 班级:090109班 学号: : 指导教师: 计日期: 一、概述 选题背景 :随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。 计思路:(一)功能模块计,1.电子时钟执行主流程2.电子时钟界面显示3.电子时 钟按键控制模块4.时钟动画处理模块(二)数据结构计1.time结构体2.全局变量(三 )函数功能描述1.keyhandle()2.timeupchange()3.timedownchange()4.digitclock()5 .drawcursor()6.clearcursor()7.void clockhandle()8.main()(四)程序实现(五)运行结果。 二、概要计 2.1、数据结构 此程序中,使用了C语言的time结构体和几个全局变量,1.time结构体 struct time { unsigned char ti_min; /*分钟*/ unsigned char ti_hour; /*小时*/ unsigned char ti_hund; /*百分之一秒*/ unsigned char ti_sec; /*秒*/ }; time结构体定义在dos.h文件中,可用来保存系统的当前时间,其中各字段的值的含 义如下。 1.unsigned char ti_min:保存分钟值。 2.unsigned char ti_hour:保存小时。 3.unsigned char ti_hund:保存百分之一秒,例如,ti_hund=500,表示1/500秒。 4.unsigned char ti_sec:保存秒数。 2.2、全局变量 下面对程序用到的全局变量及数组进行说明. 1. double h,m,s: 此3个全局变量分别用来保存小时,分钟,秒数。 2. double x,x1,x2,y,y1,y2:保存数字时钟中小时,分,秒在屏幕中显示的坐标值。 3.struct time t[1]:定义一个time结构类型的数组,此数组只有t[0]一个元素。 2.3 模块列表 1.时钟动画处理模块 时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针的擦除是借 助setwritemode(mode)函数置画线的方式来实现。如果mode=1,则表示画线时用现在 特性的线所画之处原有的线性异或(XOR)操作,实际上画出的线是原有线与现在规定的 线进行异或后的结果。因此,当线的特性不变时,进行两次画线操作相当于没有画线, 即在当前位置处清除了原来的画线。 2.时钟按键控制模块 在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行 判断,并调用相应函数来执行相关操作。 3. 数字时钟处理模块 (1)调用digitclock(int x,int y,int clock)函数。在数字时钟r指定位置显示时,分,秒,其中digithour(double h),int digitour(double h)和digitsec(doubles)用于完成数值的double型向int型转换。 (2)调用drawcursor(int count),clearcursor(int count)函数来完成旧光标的擦除和新光标的绘制。 2.4、程序结构图(也就是模块之间的关系) 三 、详细计 3.1程序预处理模块。包括加载头文件,定义常量,变量,结构体数组和函数原型声明。 3.2主控模块main().main()函数主要实现了对电子时钟的初始化工作,及clockhandle( )函数的调用。 3.3时钟动画处理模块。 3.4时针按键控制模块。在电子时钟中,按键控制模块最主要的工作就是必须能读取用户 按键,对按键值进行判断,并调用相应函数来执行相关操作。流程图如下。 3.5数字时针处理模块。在数字时钟处理模块中,主要实现数字时钟的显示和数字的时钟 修改。其中,在数字时钟的修改中,用户可以按Tab键定位需要修改的内容的位置,然后 通过按光标上移或下移键来修改时间。 四、调试程序 错误1: 错误现象:Declaration syntan error 错误原因:声明错误,缺分号。 修改方法:在声明语句后添加分号。 错误2: 错误现象:Two few parameters in call to 'setlinestyle' in function main 错误原因:语句缺少参数。 修改方法:在main()函数中找到缺少参数的语句添加相应的参数。 错误3: 错误原因:Function call missing)in function clockhandle 错误原因:在clockhandle函数调用的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值