当前位置:文档之家› C语言课程设计报告

C语言课程设计报告

C语言课程设计报告
C语言课程设计报告

C语言课程设计报告

姓名:刘福慧

学号:130930108

班级:卓越电子1301

学生成绩单管理

1.学生成绩排名

1)定义一个数组a[11],用以存放学生的成绩。

2)从键盘输入10个学生成绩

3)采用冒泡法,将学生成绩按照从高到低进行排序-再输入一个学生的成

绩,将此成绩按照排序规律插入原学生成绩数组

4)将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到

高排列。

5)将以上每一步骤的结果均打印输出,验证程序是否正确实现题目要求#include

void main()

{

int i,j,t,p,n,a[11]; // 定义一个数组a[11],用以存放学生的成绩。printf("输入10个学生成绩:\n"); // 从键盘输入10个学生成绩for(i=1; i<11;i++)

scanf("%d",&a[i]);

printf("输出10个学生成绩:\n"); // 从键盘输出10个学生成绩for(i=1; i<11;i++)

printf("%d,",a[i]);

for(j=0; j<10; j++) // 采用冒泡法,将学生成绩按照从高到低进行排序for(i=1; i<10-j; i++)

if (a[i]

{ t=a[i];

a[i]=a[i+1];

a[i+1]=t; }

printf("从高到低输出10个学生成绩:\n"); //从高到低输出10个学生成绩for(i=1; i<11;i++)

printf("%d,",a[i]);

printf("再输入1个学生成绩:\n"); // 再输入一个学生的成绩

scanf("%d",&n);

if (n

a[11]=n;

else

{for (i=1;i<11;i++)

{ if(a[i]

{t=a[i];

a[i]=n;

for (j=i+1;j<12;j++)

{p=a[j];

a[j]=t;

t=p;

}

}

}

}

for(i=1; i<12;i++) //从高到低输出11个学生成绩

printf("%d,",a[i]);

printf("\n");

for(i=1;i<6;i++) //将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列

{t=a[i];

a[i]=a[12-i];

a[12-i]=t;

}

for(i=1; i<12;i++) //从低到高输出11个学生成绩

printf("%d,",a[i]);

}

2.根据条件进行学生成绩排名

1)在函数中进行10个学生成绩从高到低排名 sort(int a[10])

2)改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到

低排名,

3)改进第二步的函数为sort(int a[],int n, char style), 将n个学生

成绩从高到低排名,排名方式根据sort()函数的style参数进行,如

style为‘a’按升序排,style为’d’按降序排。(a:ascending 升,

d:descending 降)

1) #include

void sort(int a[],int n);

void main()

{

int b[9],i;

printf("输入10个同学的成绩:\n"); //输入10个同学的成绩

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

scanf("%d",&b[i]);

printf("\n");

sort(b,10); //使用sort函数for(i=0;i<10;i++) //输出10个同学的成绩printf("%d,",b[i]);

}

void sort(int a[],int n)

{

int i,j,t;

for(i=0;i

for(j=0;j

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

2) #include

void sort(int a[],int n);

void main()

{

int b[100],i,n;

printf("输入n的值:\n"); //输入n的值

scanf("%d",&n);

printf("输入n个同学的成绩:\n"); //输入n个同学的成绩

for(i=0;i

scanf("%d",&b[i]);

sort(b,n); //使用sort函数

for(i=0;i

}

void sort(int a[],int n)

{

int i,j,t; //冒泡排序从高到低排列n个成绩for(i=0;i

for(j=0;j

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

3)#include

void sort(int a[],int n,char style);

void main()

{

int b[100],i,n;

char style;

printf("输入学生数(n<=20)及排列方式,a为升序排列,d为降序排列(以逗号隔开):");

scanf("%d,%c",&n,&style);

printf("输入n个同学的成绩:\n"); //输入n个同学的成绩

for(i=0;i

scanf("%d",&b[i]);

sort(b,n,style); //使用sort函数

}

void sort(int a[],int n,char style)

{

int i,j,t;

if(style=='d')

{

for(i=0;i

for(j=0;j

{

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

printf("成绩从高到低为:\n");

for(i=0;i

printf("%d\n",a[i]);

}

if(style=='a')

{

for(i=0;i

{

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

printf("成绩从低到高为:\n");

for(i=0;i

printf("%d\n",a[i]);

}

}

3.用指针优化学生成绩排名

1)定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用

指针实现

2)将数组stu[10]的内容输出到屏幕上,要求用指针实现

3)将成绩数组按照从高到低进行排序,要求用指针实现

4)将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,

输出排序后的成绩单

5)采用指针方法,输入字符串“student score ”,复制该字符串并输出(复

制字符串采用库函数或用户自定义函数)

#include

#include

void main()

{ void swap(int *p, int n); //在主函数中调用swap函数int stu[10],*p; //定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,用指针实现

int i;

char str1[12],*p1;

char str2[12],*p2;

p1=str1;

p2=str2;

printf("输入字符串student score:"); // 采用指针方法,输入字符串"student score "

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

scanf("%c",p1+i);

strcpy(str2,str1) ; //复制该字符串并输出(复制字符串采用库函数或用户自定义函数)

*(p2+12)= *(p2+12)-1;

puts(str2) ;

printf("\n");

p=stu;

printf("输入10个学生的成绩:\n");

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

scanf("%d",p+i);

printf("输出10个学生的成绩:\n"); // 将数组stu[10]的内容输出到屏幕上,用指针实现

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

printf("%d,",*(p+i));

printf("\n");

swap(stu,10); //使用swap函数

for(i=0;i<10;i++) //输出排序后的成绩单

printf("%d,",*(p+i));

printf("\n");

}

void swap(int *p, int n)

{int i,j,t;

for(i=0;i

for(j=0;j

if(*(p+j)<*(p+j+1))

{

t=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=t;

}

}

4.学生成绩单制作

1)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩

2)从键盘输入10个学生的以上内容

3)输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩

4)输出三门课程的平均分数最高的学生的学号、姓名及其平均分

5)将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:

number name math Chinese English average

103 tom 90 90 100 95

101 alice 90 80 70 80

#include

#define N 10

struct student //定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩

{char num[6];

char name[8];

float math;

float english;

float chinese;

float avr;

}stu[N];

int main()

{int i,maxi1,maxi2,j,t;

float sum,max1,max2;

for (i=0;i

{printf("input scores of student %d:\n",i+1);

printf("NO:");

scanf("%s",&stu[i].num);

printf("name:");

scanf("%s",&stu[i].name);

printf("score math:");

scanf("%f",&stu[i].math);

printf("score chinese:");

scanf("%f",&stu[i].chinese);

printf("score english:");

scanf("%f",&stu[i].english);

}

max1=0;

maxi1=0;

for (i=0;i

if (stu[i].math>max1) //找数学课成绩最高者

{max1=stu[i].math;

maxi1=i; //将此学生的下标保存在maxi1

}

printf("The highest math score is: student %s,%s\n",stu[maxi1].num,stu[maxi1].name); //输出数学课成绩最高的学生的学号、姓名、以及该门课程的成绩

printf("his score is:%6.2f\n",stu[maxi1].math);

max1=0;

maxi1=0;

for (i=0;i

if (stu[i].chinese>max1) //找语文课成绩最高者

{max1=stu[i].chinese;

maxi1=i; //将此学生的下标保存在maxi1

}

printf("The highest chinese score is: student %s,%s\n",stu[maxi1].num,stu[maxi1].name); //输出语文课成绩最高的学生的学号、姓名、以及该门课程的成绩

printf("his score is:%6.2f\n",stu[maxi1].chinese);

max1=0;

maxi1=0;

for (i=0;i

if (stu[i].english>max1) //找英语课成绩最高者

{max1=stu[i].english;

maxi1=i; //将此学生的下标保存在maxi1

}

printf("The highest english score %s is: student %s,%s\n",stu[maxi1].num,stu[maxi1].name); //输出英语课成绩最高的学生的学号、姓名、以及该门课程的成绩

printf("his score is:%6.2f\n",stu[maxi1].english);

max2=0;

maxi2=0;

for (i=0;i

{

sum=stu[i].math+stu[i].chinese+stu[i].english; //计算第i个学生总分stu[i].avr=sum/3.0; //计算第i个学生平均分

if (stu[i].avr>max2) //找平均分最高者

{max2=stu[i].avr;

maxi2=i; //将此学生的下标保存在maxi2 }

printf("The highest average is: student %s,%s\n",stu[maxi2].num,stu[maxi2].name); //输出三门课程的平均分数最高的学生的学号、姓名及其平均分

printf("his average is:%6.2f\n",stu[maxi2].avr);

for(i=0;i<9;i++) //冒泡排序平均分从高到低排列for(j=0;j<9-i;j++)

if(stu[j].avr

{

t=stu[j].avr;

stu[j].avr=stu[j+1].avr;

stu[j+1].avr=t;

}

printf("NO. name math chinese english average\n"); //输出结果

for (i=0;i

{printf("%5s%10s",stu[i].num,stu[i].name);

printf("%9.2f%9.2f%9.2f",stu[i].math,stu[i].chinese,stu[i].english);

printf("%8.2f\n",stu[i].avr);

}

}

c语言课程设计报告·图书管理系统

第一章 §题目描述 图书管理系统设计: 【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。试设计一图书管理系统,使之能提供以下功能: (1)新图书基本信息的输入; (2)图书基本信息的查询; (3)对撤销图书信息的删除; (4)办理借书手续; (5)办理还书手续; 【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。存在状态设为整型,可用不同数字代表借还状态。借书和还书手续要注意修改结构体的成员变量存在状态的值。 §算法设计 1.设计思想: 在整个系统编写的过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。 2.实现注释: 这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。可查询图书的在库状态,方便用户进行借书、还书操作。在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。在处理过程中各项可以作为一本图书的不同属性来进行处理。 3.结构体系设计 图:主函数结构;图:新书信息录入流程;图:图书信息查询(管理员)流程;图:图书信息查询(学生)流程;图:图书信息删除流程;图:办理借书手续流程;图:办理还书手续流程; §程序设计及代码分析 1.程序设计: 下面,我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时,首先进入系统主界面,然后可以选择[1].管理员登陆(密码:123),[2].学生登陆,[0].退出系统; 选择[1]后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。管理员功能菜单中,[1].新书信息录入,[2].图书信息查询,[3].图书信息删除,[4].返回主菜单,[0].退出系统;当出现“请选择”时,输入选项前的数字,输完之后按回车(下同)。首次运行系统需要先选择[1]录入库存书籍信息,图书各信息项须用空格键隔开,输入完毕后信息自动储存并更新至数据库,然后再选择其他操作。当选择[3]时会进入图书信息删除,在这里可以选择删除图书信息等操

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

c语言课程设计报告书--学生成绩管理

C 语言程序设计报告 课题:学生成绩管理 时间:

一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图:

三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息;

(5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员);(2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下:

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

c语言语言课程设计报告

上海应用技术学院 课程设计 2011~ 2012学年第二学期 设计题目成绩记录簿 院(系)计算机科学与信息工程学院 专业计算机应用技术 班级 11104114 学号 1110411414 学生姓名蒋佳琴 设计时间 2012.06.25 -2012.07.06 指导教师马智娴 提交日期 2012.07.06

上海应用技术学院课程设计任务书 指导教师(签名):马智娴教研室主任(签名):马智娴2012年6 月25日2012年6月25日

目录 1 设计目的 (5) 2 功能描述 (5) 2.1模块功能 (5) 2.2流程图 (6) 3 总体设计 (13) 3.1 功能模块设计 (13) 3.2 数据结构设计 (13) 3.3 函数功能描述 (13) 4 程序实现 (14) 4.2 运行结果 (25) 5课程设计总结 (28)

成绩记录簿 1. 设计要求: 基本功能 a) 添加成绩 b) 删除成绩 c) 查询学生成绩 d) 查询班级成绩 e) 退出 拓展功能 a) 写入文件 b) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能: 成绩记录簿中记录以下数据: 学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分; 输入信息时要检查数据项学号、课程编号、成绩、学分的合法性,学号:8位数字;课程编号:5位数字;成绩:0 ~ 100 之间的整数,学分: 1~ 5之间的实型数。 添加成绩:需要输入学生的学号或姓名、课程编号及成绩,如已有该门课程成绩给出提示; 查询(班级或个人)成绩: a) 查询个人成绩:以学号或姓名作为关键字,可查询一个学生的所有成绩,和已完成 的总学分。 b) 查询班级成绩:以课程编号为关键字,成绩表后面要统计平均分、及格率及全班同 学不同课程在不同分数段分布的人数及百分比。 拓展功能: a) 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b) 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。

C语言课程设计报告烟花绽放

课程设计报告书设计题目烟花绽放 系别计算机工程系 专业计算机科学与技术 班级 姓名 指导教师 设计任务下达日期2011年 12 月 24 日 设计时间2011年12月26日至 2010年12月30日 课程设计任务书

一、目的和意义 本课程设计是《C语言程序设计》课程的后继教学环节, 通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。 二、题目(可从下面题目中任选一个) 1、C语言的图形编程应用 设计实现如菜单、图形的显示,再如动画和小游戏。 2、简易电子琴模拟程序的实现 为实现在键盘模拟电子琴设计的程序。由学生自行设计并且实现。 3、成绩管理程序 学生本人设计具体方案,然后改进和编码实现。 三、课程设计报告书应包括的主要内容 1、介绍概要的思路和设计方案,程序的总体功能和模块划分。 2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。 3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。 四、进度要求 1、设计时间:2011年12月19日至2011年12月25日 2、编写课程设计报告书:2011年12月26日至2011年12月29日 3、提交报告及答辩时间:2011年12月30日 专科 四、进度要求 1、设计时间:2011年12月26日至2011年12月28日 2、编写课程设计报告书:2011年12月29日 3、提交报告及答辩时间:2011年12月30日 目录

C语言程序设计报告书

一、实践的目的和要求 加深对C语言课程所学知识的理解,进一步巩固C语言算法规则.学会编制结构清晰.风格良好.数据结构适当的C程序,从而具备解决综合性问题的能力. 二、内容 在熟练掌握C语言的基础知识:数据类型(整型.实型.字符型.指针.数组.结构等); 运算类型(算术运算.逻辑运算.自增自减运算.赋值运算等);程序结构(顺序结构.判断选择结构.循环结构);大程序的功能分解方法(即函数的使用)等.进一步掌握各种函数的应用以及文件的读写操作等. 三、实验任务:通讯录 设计要求:实现菜单设计,使用数据文件保存和修改,应用结构体和指针 功能要求:通讯录信息生成,存储,查询,修改,插入,删除,打印等. 四、设计思路 1.通讯录的主要信息包括:编号,姓名,性别,联系电话.住址,邮编. 2.用结构体数组来存储信息,有Data_Input函数来实现信息的录入,用Data_Show函 数来显示打印信息,用Data_Sreach函数来查找信息,用Data_Insert函数来插入信 息,用Data_Alter 函数来修改信息,用Data_Delete函数来删除信息,用Data_Save 函数来保存信息,用Exit函数来退出通讯录. 3.小组分工,每个人分配几个函数,按情况进行分配任务. 五、程序代码 #include/*字符函数和字符串函数*/ #include/*字符模式函数(调用getch()函数)*/ #include/*输入输出函数*/ int i; struct friend/*电子通讯录结构定义*/ { char num[5]; /*编号*/ char name[11]; /*名字*/ char sex[2]; /*性别*/ char phone[12]; /*电话*/ char address[26]; /*地址*/ char post_num[11]; /*邮编*/ }friends[50]; FILE *fp; void Data_load() /*数据载入函数*/ {int j;

C语言课程设计报告

C语言课程设计论文 学生姓名:陈丹 学生学号: 所在班级:信息与计算科学一班 任课教师:马老师 通讯录管理系统 【设计目的】 设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。 (1)数据包括:人名、工作单位、电话号码和E-mail地址。 (2)可对记录中的姓名和电话号码进行修改。 (3)可增加或删除记录。 (4)可显示所有保存的记录。 (5)可按人名或电话号码进行查询。 【设计思路】 根据要求,电话簿数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 【总体设计】 图1 系统功能模块图 【详细设计】 1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

图2. 主函数流程图 V oid menu() /*主界面*/ { int n, w1; void enter(); void add(); void modify(); void browse(); void deleter(); void search(); do { puts("\t******************************菜单*****************************\t\n\n"); puts("\t\t\t\t1.新建联系人"); puts("\t\t\t\t2.添加联系人"); puts("\t\t\t\t3.修改"); puts("\t\t\t\t4.删除"); puts("\t\t\t\t5.浏览"); puts("\t\t\t\t6.查找"); puts("\t\t\t\t7.退出"); puts("\n\n\t***************************通讯录******************************\t\n"); printf("请选择服务种类(1-7) : [ ]\b\b"); scanf("%d",&n); if(n<1||n>7) {w1=1;getchar();} else w1=0; }while(w1==1); switch(n) { case 1: enter(); break; /*输入模块*/ case 2: add(); break; /*添加模块*/ 附录:源代码

C语言课程设计报告图书管理系统

.. C语言课程设计报告 院系: 学号: 班号: 姓名: 标题:图书管理系统

目录 第一部分 题目要求 (3) 第二部分 需求分析 (3) 第三部分 总体设计 (4) 第四部分 详细设计 (4) 1)主函数 (4) 2)各功能模块设计 (6) 3)公共函数 (16) 第五部分 上机操作 (17) 第六部分 总结 (20) 附录 (源代码) (22)

第一部分题目要求 图书管理系统包括:图书名称、图书编号、单价、作者、存在状态、借书人、性别、学号等,是设计一图书管理系统,使之能够提供以下功能: 1. 新图书基本信息的输入。 2. 图书基本信息的查询。 3. 对撤销图示基本信息的删除。 4. 办理借书手续。 5. 办理换书手续。 第二部分需求分析 根据题目的要求,需要建立一个文件来保存图书信息,每本书的信息用一个结构体来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人、性别、学号,结构体中的存在状态可设为整型,用不同数字代表借还状态;在借书和还书手续中,要注意结构体的成员变量存在状态的值,使用指针会比较方便。 程序中需要对图书信息实现输入、查询、删除、借书和还书的功能,首先要使用菜单进行各项功能的选择;其次需要有文件的输入、输出功能,提供显示、查找等操作。在程序的运行过程中,注意各功

能在使用完毕后返回菜单的设置,以方便运行。 第三部分总体设计 根据上面的需求分析,可以将整个图书管理系统分为输入模块、查找模块、删除模块、借书模块和还书模块(如图3-1所示)。 图3-1 系统功能模块图 第四部分详细设计 在这个程序里,每本书的信息用一个结构体book来保存,结构 体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书 人、性别、学号,结构体中的存在状态设为整型,用不同数字代表库

c语言课程设计报告及源代码_图书馆管理系统剖析

1 设计内容、任务及基本要求 (2) 1.1 设计内容 (2) 1.2 设计任务 (2) 1.3 设计基本要求 (2) 2 总体设计思路 (4) 2.1 系统功能 (4) 2.2 各个模块之间的主要关系 (4) 2.3 总体程序框图 (5) 2.4 系统的总体流程图 (5) 3 功能模块的具体设计 (7) 3.1 main() 函数模块 (7) 3.2查询所有图书信息函数模块 (8) 3.3查询一本图书信息函数模块 (8) 3.4添加图书信息函数模块 (9) 3.5删除图书信息函数模块 (10) 3.6 借阅图书模块 (12) 4 功能模块的调试与测试 (13) 4.1主菜单运行界面 (13) 4.2查询所有图书信息模块运行界面 (13) 4.3查找某一本图书信息模块运行界面 (14) 4.4 添加图书信息模块运行界面 (16) 4.5 删除图书信息模块运行界面 (17) 4.6 借阅图书模块信息运行界面 (79) 5 总结 (22) 6 致谢 (23) 7 参考文献 (24) 9 程序清单 (25)

1.设计内容、任务以及基本要求 1.1设计内容 主要利用c语言的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C语言课程基本知识的理解与掌握,培养学生利用C语言进行软件操作的能力和技巧。 1.3基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括 a)查看所有图书的信息。 b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的

c语言课程设计报告~图书管理系统

作者:电子商务09-2班卢佳学号:0918230209 《高级语言程序设计(C)》课程设计报告书 设计题目图书管理系统 姓名 专业班级 学号 指导老师 成绩 营销管理学院电子商务系 2011年1月

目录 一引言 (3) 二系统功能和原始数据 (3) 三程序总体设计 (4) 四功能模块函数设计和调试 (5) 五程序清单 (12) 六课程设计总结 (17)

一引言 在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程.本任务应用指针编制小型的图书管理系统.通过整个程序开发的过程,提高综合应用C语言的能力,编程和调试能力 . 二系统功能和原始数据 (一) 系统功能 (1)主菜单 0.图书信息录入 1.图书信息浏览 2按书名查询图书信息 3.按ISBN查询图书信息 4.增加图书信息 5.按书名排序 6.删除记录 7.保存文件 8.打开文件 9.退出 (2)各项功能 0.图书信息录入:输入图书的名字、ISBN、作者、价格、出版社等。 1. 图书信息浏览:图书的名字、ISBN、作者、价格、出版社等 2.查看与书的名字有关的信息:根据书名查找书。 3.查看与作者有关的书的信息:根据作者查找书。 4.增加书的信息:输入书的名字、ISBN、作者、价格、出版社等。 5按照书名排序:字母的形式排序 6删除记录:删除一条书的信息 7.保存文件 8.文件打开 9.退出

(二) 原始数据 图书信息: 图书信息包括:书名.isbn.分类号.作者.出版日期.出版社.价格文件结构: 书名Isbn 分类号作者出版时 间出版单 位 价格 C语言123 Xx1 谭浩强09-01-21 高等教育 出版社 15 数学234 Xx2 彭辉09-01-21 高等教育 出版社 16 思修345 Xx3 邹邹09-01-21 高等教育 出版社 17 英教456 Xx4 王浩09-01-21 高等教育 出版社 18 应用文567 Xx5 瑞瑞09-01-21 高等教育 出版社 19 概率678 Xx6 雪雪09-01-21 高等教育 出版社 20 管理学789 Xx7 小邹09-01-21 高等教育 出版社 21 线代890 Xx8 周敏09-01-21 高等教育 出版社 22 军事901 Xx9 张向东 刘毅09-01-21 高等教育 出版社 23 运筹012 Xx0 崔崔09-01-21 高等教育 出版社 24 三程序总体设计 (一)数据结构: struct record {

C语言课程设计报告

XX大学 课程设计报告 课程设计名称:C语言课程设计 课程设计题目:排班系统 院(系):XX学院 专业:XX 班级:XX 学号:XXXXXXXXXXXXX 姓名:XX 指导教师:XXX 完成日期:XX年X月X日

沈阳航空航天大学课程设计报告 目录 第1章需求分析与概要设计 (1) 1.1需求分析 (1) 1.2概要设计 (1) 第2章详细设计 (2) 2.1排班系统基本结构 (2) 2.1.1 排班系统细节剖析 (2) 2.2程序详细介绍(算法实现) (3) 第3章调试分析 (5) 3.1我的调试: (5) 3.2运行结果 (5) 第4章用户手册及结束语 (8) 4.1用户手册 (8) 4.2结束语 (8) 参考文献 (9) 附录(程序清单) (10)

沈阳航空航天大学课程设计报告第1章需求分析与概要设计第1章需求分析与概要设计 1.1 需求分析 1.题目要求:为多名保安设计一个排班系统,每人可以自行预先选出一天为休息日,系统打印可能的轮班方案并存储结果。尽可能做到令所有人满意,保排班方案的公平性。 2.题目分析:本题的重点和难点在于保安的人数是不确定的,且他们可能选择的休息日也无法确定,所以方案的结果也就不仅仅有一种。由此可以看出只有解决好这两个问题,才能够符合该题目的要求,完成保安的排班工作。 1.2 概要设计 1.总体思路:对于这道题目,我的思路是采用二维数组的方式来解决。大概过程是先假设所有人都上班,即没有休息日。然后再让每个人进行选择自己希望的休息日。先每个人选择出一天,然后系统进行排班,输出其所输入数据的对应方案。然后在第一次所输数据的基础上,若还有其他选择,则进行二次输入,以此更改初始数据,重新设计可能的排班方案。 2.细节实现:因为题目的要求是打印可能的方案,那么如何来实现打印呢?我采用了通过对二位数组中的每一个值用阿拉伯数字0和1来标记,以1来表示工作,0来表示休息。 3.功能作用:本系统系保安的排班系统,可以完成基本的排班功能,在此基础上,还为用户设计了二次输入的选项,以此来解决当所输数据不满足要求,无法完成排班的问题,同时也可以为用户提供更多的可行方案,而不是仅仅局限于一种。

C语言课程设计报告样本

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY C语言程序设计 课程设计报告 课设题目:学生信息管理系统 专业:电气工程及其自动化 班级: 学生信息管理系统 姓名:吕小栋 成绩: 完成日期: 2012年6月18日-2012年6月22日指导教师: 胡宁亚

目录 1.课程设计目的 (2) 2.需求分析 (2) 2.1要求 (2) 2.2任务描述 (2) 2.3运行环境 (3) 2.4开发工具 (3) 3.总体设计 (3) 3.1系统流设计 (3) 3.2系统模块设计 (4) 4.详细设计 (5) 4.1数据结构设计 (5) 4.2模块接口设计 (6) 4.3 以下是几个主要模块的流程图: (7) 5.运行结果 (10) 5.1主菜单界面: (12) 5.2信息录入界面: (13) 5.3信息浏览界面: (14) 5.4 信息查询界面: (14) 5.5信息修改界面: (16) 5.6 信息删除界面: (12) 6.程序调试与测试 (18) 6.1程序调试 (19) 6.2程序测试............................................................................... 错误!未定义书签。 7.问题与不足 (22) 8.建议 (22) 9.编程体会 (22) 10.程序源代码: (22) 11.参考文献 (34) 12.用户使用手册 (34)

1.课程设计目的 1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析, 并设计合理的模块化结构。 2)通过课程设计,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、 链表、结构体、文件等数据结构。 3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识 运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。 5)通过课程设计,加强了自己的程序分析能力。 2.需求分析 2.1要求 1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问 题的能力。 2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据 结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。 3)学会利用数组、结构体、链表进行相关信息表示。 4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述 5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功 能、出口等关系正确。 6)所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。 7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并 对输入信息有较完善的值域分析。 8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。 9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。 10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基 本方法。 11)C语言课程设计报告的内容反应实际设计过程,且符合格式要求。 2.2任务描述 此系统以计算机系的学生为背景,提供对学生个人简历信息的录入、修改、

c语言课程设计报告

《C程序设计》课程设计 学院:*** 专业:*** 班级:*** 学号:*** 姓名:*** 指导教师: *** 2016 年 9 月

第1章分支与循环 设计任务 1. 王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:“煎饼不许离开砧板,切100刀最多能分成多少块” 2. 若一个口袋中放有12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个球,问共有多少不同的颜色搭配,把每种搭配显示出来。 3. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。 4. 简单计算器。请编写一个程序计算表达式:data1 op data2的值。其中op为运算符+、-、*、/,data1和data2是数据。 5. 猜数游戏。由计算机“想”一个数请人猜,如果猜对了,则游戏结束,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到猜对为止。计算机记录人猜的次数,以此可以反映出猜数者“猜”的水平。 6. 一辆肇事汽车的号码是4位十进制数。目击者向交警描述这个车号:这是一个完全平方数;这4个数字从左至右一个比一个小。请帮助交警寻找肇事者,将车号算出来。 实现过程 设计任务1的实现过程 【任务描述】 1.王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:“煎饼不许离开砧板,切100刀最多能分成多少块” 【算法分析】(用文字或流程图进行描述) 用到数学中的逆推公式。 s=1+n*(n+1)/2 【源程序代码】 #include <> main() {int n,s; for(n=1;n<=100;n++) { s=1+n*(n+1)/2; } printf("%d\n",s);

C语言课程设计报告

C语言课程设计报告 C语言课程设计报告 课程名称:C语言课程设计课程编号: 报告题目: 学生姓名:学号: 专业 成绩:任课教师: 评阅日期: C语言课程设计报告 一、 C语言课程设计的目的 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: ? 航班信息录入功能(文件保存) ? 完成航班信息浏览功能;

? 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中)浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航 线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分; 根据需求分析,该程序可分为以下四大模块: (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; A.主函数

相关主题
相关文档 最新文档