a) 需求分析:在该部分中叙述每个模块的功能要求
b) 概要设计:在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构说明(如果指定存储结构请写出该存储结构的定义)
c) 详细设计:各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)。源程序要按照写程序的规则来编写,要结构清晰,重点函数的重点变量,重点功能部分岁迟迅要加上清晰的程序注旦燃释。
d) 调试分析:测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
1、 课设总结:(保存在word文档中)总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力乎此的思考、对C语言这门课程的思考、在课程设计过程中对《C语言》课程的认识等内容。
这个题目很简单!你可以把我这个程序的输出部分修改一下(不修改也可以)
程序如下:
#include <stdio.h>
#define STU_NUM 10//学生数目
#define SCORE_NUM 3//课程数目
typedef struct /*定义结构体数组*/
{
char num[20]/*学号*/
char name[20]/*姓名*/
float score[SCORE_NUM]/*成绩*/
float total//总分
float average//平均分
} Student
Student stu[STU_NUM]
//输入学生信息
void input()
{
int i,j
printf("请输入%d个学生的信息:\n",STU_NUM)
for(i=0i<STU_NUMi++)
{
printf("学号:")
scanf("%s",stu[i].num)
printf("姓名:")
scanf("%s",stu[i].name)
for(j=0j<SCORE_NUMj++)
{
printf("卖知科目%d的成绩:",j+1)
scanf("%f",&stu[i].score[j])
}
}
}
//输出学生信息
void output(void)
{
int i,j
for(i=0i<STU_NUMi++)
{
printf("学生的信息如下:\n")
printf("中洞消学号:%s\n",stu[i].num)
printf("姓名:%s\n",stu[i].name)
for(j=0j<SCORE_NUMj++)
{
printf("科目%d的成绩:%f\n",j+1,stu[i].score[j])
}
printf("总分:%f\n",stu[i].total)
printf("平均分:%f\n",stu[i].average)
}
}
//计算总分和平均分
void process()
{
int i,j
for(i=0i<STU_NUMi++)
{
stu[i].total=0
for(j=0j<SCORE_NUMj++)
{
stu[i].total+=stu[i].score[j]
}
stu[i].average=stu[i].total/SCORE_NUM
}
}
//按总分进行排序(冒颤孝泡法)
void sort()
{
Student tStu
int i,j
for(i=0i<STU_NUMi++)
{
for(j=STU_NUM-1j>ij--)
{
if(stu[j].total>stu[j-1].total)
{
tStu=stu[j]
stu[j]=stu[i]
stu[i]=tStu
}
}
}
}
main()
{
input()
process()
sort()
output()
}
只是个例子,不可照抄。实验内容与要求:
[实验内容]
1、 通过本试验初步培养计算机逻辑解题能力。熟练掌握赋值语句和if语句的应用;掌握switch多路分支语句和if嵌套语句的使用
2、 将前期所学习到的基本数据类型、运算符和表达式等程序设计基础知识运用于具体的程序设计。
3、 进一步熟练掌握唯汪迟输入输出函数scanf, printf和getchar的使用,熟悉math.h中常用数学函数的使用方法
4、 掌握循环语句的应用方法。
5、 了解随机数生成函数。
[实验要求]
在规定期限独立完成实验内容
1、 提交实验报告(电子版)
2、 提交相应源程序文件(文件陵春名 EX6_x姓名.c, 如EX6_1彭健.c)
3、 要求从简单到复杂,后面的要求均在前面的基础上进行修改,前六题,每题均需要保留各自的程序,六题以后,每题均在前一题基础上修改,保留最后一个程序即可(如做到第九题,则保留EX6_9姓名.c,做到第11题,则保留ex6_11姓名.c)
二、实验原理和设计方案:
1、函数头的选则,while循环语句,switch(case)语句,条件表达式,if else条件语句,自增运算符,设置复杂变量,输出随机 *** 作数。
2、 变量要有分数变量和等级变量,要有选择算法题数的变量和计算正确与否的变量,要有随机输出的两个 *** 作数变量和自己按运算符号输入结果的变量,最后还有判断是否要进行的变量字符。中间结果有选择运算符的switch()和分数等级的switch()和错题对题的自增和选择运算符计算的自增。
3、 问题的分析方法:先考虑设置整形变量和字符变量,考虑到要不断循环计算,选择用while语句来循环。在循环体中,将前面的输出提示运算符,和自行选择运算符、答案及输出随机 *** 作数完成。再用switch语句对选择的运算符进行判断,并用变量进行自增运算,计算出错题于对题个数和选择了那种运算符号。在循环体最后用if else语句来判断是否继续执行还是跳出循环。最后根据自增计算的结果和公式进行分数计算,并用switch语句来是想等级的制定。
三、源代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
..........
}
四、试验结果和启发
因为输指李入y要继续循环,所以选择用while语句。在while语句中要结合前面的按提示计算,并嵌套switch语句并用条件表达式,来计算结果正确与否,计算的题型是什么。最后再用switch语句来完成分数等级的判断。
五、实验体会:
描述自己在编程或程序编译运行中遇到的难点和问题及解决的办法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)