第一篇:实验一 C语言的运行环境和运行过程
实验一 C语言的运行环境和运行过程
实验目的:
1.掌握c程序设计编程环境visual c++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。
2.掌握c语言程序设计的基本框架,能够编写简单的c程序。3.了解程序调试的思想,能找出并改正c程序中的语法错误。实验内容:
1.在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。
2.调试示例,在屏幕上显示一个短句“Hello World!”。源程序 #include
“文件”->“新建”,单击“文件”选项卡,选择“C++Source Files”,修改文件保存“目录”和“文件”(文件名),单击“确定”。
3)编辑和保存(注意:源程序一定要在英文状态下输入,即字符标点都要在半角状态下,同时注意大小写,一般都用小写)在编辑窗口输入源程序,然后执行“文件”->“保存”或“文件”->“另存为”
4)编译(*.obj)
用来检查语法错误
“编译”->“编译”或Ctrl+F7,在产生的工作区队话框中,选择“是”。5)连接(*.exe)“编译”->“构件”或F7 6)运行
“编译”->“执行”或Ctrl+F5 7)关闭程序工作区 “文件”->“关闭工作区” 8)打开文件 “文件”->“打开”
9)查看C源文件、目标文件和可执行文件的存放位置。源文件在保存目录下,目标文件和可执行文件在“保存目录Debug”中
3.编程,在屏幕上显示一个短句“this is my first c program.”。4.调试示例,在屏幕上显示一个短句“welcome to you!”。源程序(有错误的程序)#include
1)按照实验2中介绍的步骤1)~3)输入上述源程序并保存。2)编译,“编译”->“编译”(Ctrl+F7),信息窗口中显示编译出错信息,如下图所示。
3)找出错误,在信息窗口中依次双击出错信息,编辑窗口就会出现一个箭头指向程序出错的位置,一般在箭头的当前行或上一行,可以找到出错语句。printf(Welcome to You!n”)
第4行,出错信息:Welcome是一个未定义的变量,但Welcome并不是变量,出错的原因是Welcome前少了一个双引号。4)改正错误,重新编译,得下如下图所示出错信息。
出错信息:“}”前少了分号。
5)再次改正错误,在“}”前即printf()后加上“;”(英文状态),生新编译,显示正确
6)连接,“编译”->“构件”(F7),出现如下出错信息。
出错信息:缺少主函数。
7)改正错误,即把“mian”改为“main”后,重新连接,信息窗口显示连接正确。
8)运行,“编译”->“执行”(Ctrl+F5),观察结果是否与要求一致。5.改错,改正下列程序中的错误,在屏幕上显示以下3行信息。**************** Welcome **************** 源程序(有错误的程序)#include
}
#include
实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。源程序
1、#include
Welcome”)Printf(“****************n”);{ }
2、源程序 printf(“Hello World!n”);
#include
3、源程序(有错误的程序)printf(“this is my first c program.n”);
#include
#include
第二篇:实验一 C语言的运行环境和运行过程
实验一C语言的运行环境和运行过程
(一)实验目的1.了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
(二)实验项目内容
1.输入并运行例题中程序,熟悉调试C程序的的方法与步骤。
2.写出一个C程序的构成。
3.参照例题,编写一个C程序,输出以下信息:
****************************
Hello,World!
****************************
4.编写一个C程序,输入a、b、c三个数,输出其中最大者。试想,如果求四个数中的最大者,则程序该如何编写。
(三)主要仪器设备
微机
(四)实验室名称
公共计算机实验室
(五)实验报告撰写
1、实验报告要用统一的实验报告纸撰写。
2、实验报告内容应包括实验目的、流程图、源代码、实验结果与分析等内容。# include
void main()
{
printf(“****************************Hello,World****************************n”);}
第三篇:实验1 C语言的运行环境和运行过程#完成
C语言程序设计实验 广州航海学院信息与通信工程学院
实验一
C语言的运行环境和运行过程
班级 电信132
学号 201315100221 姓名
林青辉
一、实验目的
1、掌握c程序设计编程环境visual c++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。
2、掌握c语言程序设计的基本框架,能够编写简单的c程序。
3、了解程序调试的思想,能找出并改正c程序中的语法错误。
二、实验内容
1、在“我的电脑”上新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。
2、调试示例,在屏幕上显示一个短句“Hello World!”。源程序
#include
Hello World!基本步骤:(要求熟练掌握)(1)启动VC++ “开始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”进入VC++编程环境。
(2)新建文件(*.cpp)“文件”->“新建”,单击“文件”选项卡,选择“C++Source Files”,修改文件保存“目录”和“文件”(文件名),单击“确定”。
(3)编辑和保存(注意:源程序一定要在英文状态下输入,即字符标点都要在半角状态下,同时注意大小写,一般都用小写)
在编辑窗口输入源程序,然后执行“文件”->“保存”或“文件”->“另存为”(4)编译(*.obj)
用来检查语法错误
“编译”->“编译”或Ctrl+F7,在产生的工作区队话框中,选择“是”。(5)连接(*.exe)“编译”->“构件”或F7(6)运行
“编译”->“执行”或Ctrl+F5(7)关闭程序工作区 “文件”->“关闭工作区”(8)打开文件 “文件”->“打开”
(9)查看C源文件、目标文件和可执行文件的存放位置。C语言程序设计实验 广州航海学院信息与通信工程学院
源文件在保存目录下,目标文件和可执行文件在“保存目录Debug”中
3、编程,在屏幕上显示一个短句“this is my first c program.”。
4、调试示例,在屏幕上显示一个短句“welcome to you!”。◆ 源程序(有错误的程序)#include
(1)按照实验2中介绍的步骤1)~3)输入上述源程序并保存。(2)编译,“编译”->“编译”(Ctrl+F7),信息窗口中显示编译出错信息,如下图所示。(3)找出错误,在信息窗口中依次双击出错信息,编辑窗口就会出现一个箭头指向程序出错的位置,一般在箭头的当前行或上一行,可以找到出错语句。
第4行,出错信息:Welcome是一个未定义的变量,但Welcome并不是变量,出错的原因是Welcome前少了一个双引号。
(4)改正错误,重新编译,得下如下图所示出错信息。C语言程序设计实验 广州航海学院信息与通信工程学院
出错信息:“}”前少了分号。
(5)再次改正错误,在“}”前即printf()后加上“;”(英文状态),生新编译,显示正确(6)连接,“编译”->“构件”(F7),出现如下出错信息。
出错信息:缺少主函数。
(7)改正错误,即把“mian”改为“main”后,重新连接,信息窗口显示连接正确。(8)运行,“编译”->“执行”(Ctrl+F5),观察结果是否与要求一致。
5、改错,改正下列程序中的错误,在屏幕上显示以下3行信息。**************** Welcome **************** C语言程序设计实验 广州航海学院信息与通信工程学院
源程序(有错误的程序)#include
Printf(“
Welcome”)
Printf(“****************n”);} 正确为:
#include
printf(“****************n”);
printf(“
Welcomen”);
printf(“****************n”);}
三、实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。
答:上机感觉还行吧,C语言其实挺有趣的!
第四篇:实验一 SQL Server 2000的运行环境
实验一熟悉SQL Server 2000 的运行环境、启动SQL Server
服务及注册服务器
实验目的:
一、熟练掌握SQL Server服务的启动方法
二、熟悉SQL Server 2000的运行环境
三、熟练掌握服务器的注册与服务器组的创建
实验内容:
一、启动SQLServer 服务
1、SQLServer服务管理器负责启动、暂停和停止SQL Server的进程,在对SQL Server
数据库进行任何操作之前,都必须启动本地或远程SQL Server服务。
2、启动方法一:开始程序Microsoft SQL Server服务管理器,打开” SQL Serve服
务管理器”对话框。
3、启动方法二:开始-->运行,在运行文本框中输入命令 net start mssqlserver 命令。
二、熟悉SQLServer 2000的运行环境,了解SQLServer 2000管理工具
1、熟悉企业管理器的启动方法
2、了解企业管理器窗口构成以及所能完成的功能
3、熟悉查询分析器的启动方法
4、了解查询分析器窗口构成以及所能完成的功能
三、注册服务器与创建服务器组
1、SQL Server的日常管理是在企业管理器中进行的,在使用企业管理器管理本地或远程
SQL Server服务器时,必须先在企业管理器中对该服务器注册。
2、注册服务器操作
1)打开企业管理器
2)操作新建SQL Server组,打开”注册SQL Server向导”对话框
3)点击”下一步”,出现向导的”选择一个SQL Server”对话框,在该对话框中选择一个服
务器名称,在点击”添加”,将该服务器加入到服务器列表中
4)点击”下一步”,进入”选择身份验证模式”对话框,选择一种验证模式。
四、要求在企业管理器中注册一个名为”student”服务器,并创建一个名为”stu”服务器组
第五篇:C语言课程设计(优质作业含运行截图)
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
C语言课程设计报告
Experiment Designing reporter
课程名称 : C语言课程设计
英文名称 : C Program Experiment Designing
专 业 :工商管理类+软件工程095
学 号 :09********
姓 名 :@哒winci
指导教师 :陈**
日 期 : 2010年 7月12日至2010年7月22日
大连交通大学软件学院
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
《C语言课程设计》报告
C Program Experiment Designing
课程编号:01200308005
学时: 40学时 适用专业:软件工程专业 授课单位:软件学院
一、C语言课程设计目的及要求
目的:
根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。
要求:
1. 熟悉Turbo C 的编程环境、主要菜单功能。
2. 通过上机验证运算符、表达式、运算规则、函数使用。3. 熟练使用C语言的典型语句编写简单程序。4. 调试典型例题或习题。5. 提高上机编程能力
二、实验类型
设计类型
三、实验学时
40学时
四、实验设备
微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0 软件一套
五、C语言课程参考教材:
1.C语言程序设计 清华大学出版社 马靖善主编
2.谭浩强.C语言程序设计(第三版).北京:高等教育出版社,2002 大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
课程设计(报告)任务书
任务及要求:
1.设计(研究)内容和要求 研究内容:
(1).歌星大赛打分系统(2).五个国家名排序(3).谜语博士的难题(4).哪个大夫哪天值班(5).分辨黑与白(6)学生成绩查询系统 任务和要求:
(1).学习C语言基础知识,掌握C语言编程和程序调试的基本技能。(2).对指导教师下达的题目进行系统分析。(3).根据分析结果完成系统设计。
(4).编程:在计算机上实现题目的代码实现。(5).完成对该系统的测试和调试。(6).提交课程设计报告。(7).指标: 要求完成课程设计报告3千字以上(约二、三十页).完成若干综合性程序设计题目,每个综合设计题目的语句行数的和在300行语句以上.2.原始依据
了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。3.参考文献
[1] 黄明等.C语言程序设计辅导教材.大连理工大学出版社,2006 [2] 马靖善等.C语言程序设计.清华大学出版社,2005
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
[3] 谭浩强.C语言程序设计(第二版).北京:高等教育出版社,2002
2010年7月20日 大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
目录
错误!未定义书签。歌星大赛打分系统
1.1 功能说明............................................................................错误!未定义书签。1.2 设计说明............................................................................错误!未定义书签。1.3 程序运行截图....................................................................错误!未定义书签。1.4源程序代码.........................................................................错误!未定义书签。2五个国家名排序............................................................................错误!未定义书签。
2.1 功能说明............................................................................错误!未定义书签。2.2 设计说明............................................................................错误!未定义书签。2.3 程序运行截图....................................................................错误!未定义书签。2.4 源程序代码........................................................................错误!未定义书签。3谜语博士的难题............................................................................错误!未定义书签。
3.1 功能说明............................................................................错误!未定义书签。3.2 设计说明............................................................................错误!未定义书签。3.3 程序运行截图....................................................................错误!未定义书签。3.4 源程序代码........................................................................错误!未定义书签。4哪个大夫哪天值班........................................................................错误!未定义书签。
4.1 功能说明............................................................................错误!未定义书签。4.2 设计说明………………………………………………………………………...4.3 程序运行截图....................................................................错误!未定义书签。4.4 源程序代码........................................................................错误!未定义书签。5分辨黑与白....................................................................................错误!未定义书签。
5.1 功能说明............................................................................错误!未定义书签。5.2 设计说明............................................................................错误!未定义书签。5.3 程序运行截图....................................................................错误!未定义书签。5.4 源程序代码........................................................................错误!未定义书签。6学生成绩查询系统
6.1 功能说明............................................................................错误!未定义书签。6.2 设计说明............................................................................错误!未定义书签。6.3 程序运行截图....................................................................错误!未定义书签。6.4 源程序代码........................................................................错误!未定义书签。
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 歌星大赛打分系统
1.1功能说明
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1-100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。编写程序实现。
1.2 设计说明
从键盘上输入评委的打分,用for循环结构求出分数中的最大值max、最小值min以及所有分数的和sum,最后输出sum-max-min的值
1.3 程序运行截图
1.4 源程序代码
#include
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
sum=0;/*将求累加和变量的初值置为0*/ for(i=1;i<=10;i++){ printf(“Input number %d=”,i);scanf(“%d”,&integer);/*输入评委的评分*/ sum+=integer;/*计算总分*/ if(integer>max)max=integer;/*通过比较筛选出其中的最高分*/ if(integer 2.1 功能说明 输入5个国名并按字母顺序排列后输出。 2.2 设计说明 主函数void main(): 从键盘上输入各个国家的名字数组cs[5],然后用字符串运算符strcpy将数组cs[5]copy到st[20],再比较两数组对应各元素,输出 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 2.3 程序运行截图 2.4 源程序代码 #include char st[20],cs[5][20]; int i,j,p; printf(“input country's name:n”); for(i=0;i<5;i++) gets(cs[i]); printf(“n”); for(i=0;i<5;i++) { p=i;strcpy(st,cs[i]); for(j=i+1;j<5;j++) if(strcmp(cs[j],st)<0)p=j; if(p!=i) { strcpy(st,cs[i]); strcpy(cs[i],cs[p]); strcpy(cs[p],st); } puts(cs[i]); } printf(“n”); getch();} 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 谜语博士的难题 3.1功能说明 两面族是荒岛上的一个新民族,他们的特点是说话真一句假一句且真假交替。如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。 迷语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族。三人并肩站在博士前面。 博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。 博士问中间的人:“你是什么族的?”,中间的人回答:“两面族的”。 博士问右边的人:“中间的人究竟是什么族的?”,右边的人回答:“说谎族的”。 判断这三个人都是哪个民族的。 3.2设计说明 变量A=1表示:左边的人是诚实族的(用C语言表示为A); 变量B=1表示:中间的人是诚实族的(用C语言表示为B); 变量C=1表示:右边的人是诚实族的(用C语言表示为C); 变量AA=1表示:左边的人是两面族的(用C语言表示为AA); 变量BB=1表示:中间的人是两面族的(用C语言表示为BB); 变量CC=1表示:右边的人是两面族的(用C语言表示为CC); 则左边的人是说谎族可以表示为:A!=1且AA!=1(不是诚实族和两面族的人)用C语言表示为:!A&&!AA 中间的人是说谎族可以表示为:B!=1且BB!=1 用C语言表示为:!B&&!BB 右边的人是说谎族可以表示为:C!=0且CC!=1 用C语言表示为:!C&&!CC 根据题目中“三人来自三个民族”的条件,可以列出: a+aa!=2&&b+bb!=2&&c+cc!=2 且 a+b+c==1&&aa+bb+cc==1 根据左边人的回答可以推出:若他们是诚实族,则中间的人也是诚实族;若他不是诚实族,则中间的人也不是诚实族。以上条件可以表示为: c&&!b&&!bb||(!c&&!cc)&&(b||bb)||!c&&cc 将全部逻辑条件联合在一起,利用穷举的方法求解,凡是使上述条件同时成立的变量取值就是题目的答案。 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 3.3程序运行截图 3.4源程序代码 #include 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 哪个大夫哪天值班 4.1功能说明 医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知: A大夫比C大夫晚一天值班; D大夫比E大夫晚二天值班; B大夫比G大夫早三天值班; F大夫的值班日在B和C大夫的中间,且是星期四; 确定每天究竟是哪位大夫值班。 4.2设计说明 由题目可推出如下已知条件: F是星期四值班; B值班的日期在星期一至星期三,且三天后是G值班; C值班的日期在星期五至星期六,且一天后是A值班; E两天后是D值班;E值班的日期只能在星期一至星期三; 在编程时用数组元素的下标1到7表示星期一到星期天,用数组元素的值分别表示A-F七位大夫。 4.3程序运行截图 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING 4.4源程序代码 #include #include int a[8]; char *day[]={“",”MONDAY“,”TUESDAY“,”WED“,”THUSDAY“,”FRIDAY“,”SATDAY“,”SUNDAY“};main() { int i,j,t; a[4]=6; for(i=1;i<=3;i++) { a[i]=2; if(!a[i+3])a[i+3]=7; else{ a[i]=0;continue;} for(t=1;t<=3;t++) { if(!a[t])a[t]=5; else continue; if(!a[t+2])a[t+2]=4; else{ a[t]=0;continue;} for(j=5;j<7;j++) { if(!a[j])a[j]=3; else continue; if(!a[j+1])a[j+1]=1; else{ a[j]=0;continue;} for(i=1;i<=7;i++) printf(”Doctor %d is on duty %s.n“,1+a[i]-1,day[i]); } } } getch();} 分辨黑与白 5.1功能说明 有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。” 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING B说:“我看见其它四人额头上帖的都是黑纸。” C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。” D说:“我看见四人额头上帖的都是白纸。” E什么也没说。 现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。判断五人谁的额头是帖白纸,谁的额头是帖黑纸。 5.2设计说明 假如变量A、B、C、D、E表示每个人额头上所帖纸的颜色,0 代表是黑色,1 代表是白色。根据题目中A、B、C、D四人所说的话可以总结出下列关系: A说: a&&b+c+d+e==3||!a&&b+c+d+e!=3 B说: b&&a+c+d+e==0||!b&&a+c+d+e!=0 C说: c&&a+b+d+e==1||!c&&a+b+d+e!=1 D说: d&&a+b+c+e==4||!d&&a+b+c+e!=4 穷举每个人额头所帖纸的颜色的所有可能的情况,代入上述表达式中进行推理运算,使上述表达式为“真”的情况就是正确的结果。 5.3程序运行截图 5.4源程序代码 #include 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING for(b=0;b<=1;b++)/*穷举五个人额头帖纸的全部可能*/ for(c=0;c<=1;c++)for(d=0;d<=1;d++)for(e=0;e<=1;e++)if((a&&b+c+d+e==3||!a&&b+c+d+e!=3)&&(b&&a+c+d+e==0||!b&&a+c+d+e!=0)&&(c&&a+b+d+e==1||!c&&a+b+d+e!=1)&&(d&&a+b+c+e==4||!d&&a+b+c+e!=4)){ printf(”A is pasted a piece of %s paper on his forehead.n“, a?”white“:”black“);printf(”B is pasted a piece of %s paper on his forehead.n“, b?”white“:”black“);printf(”C is pasted a piece of %s paper on his forehead.n“, c?”white“:”black“);printf(”D is pasted a piece of %s paper on his forehead.n“, d?”white“:”black“);printf(”E is pasted a piece of %s paper on his forehead.n“, e?”white“:”black“); } getch();} 学生成绩查询系统 6.1功能说明 查询修改统计成绩。 6.2设计说明 子函数: int SelectMainMenu()显示并选择主菜单。返回:被选择的菜单项 void Show()成绩查询模块 void Modify() 成绩修改模块 void Stat() 成绩统计模块 void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float 统计平均分 int FindStudent(int num) 根据学号查找某一学生 void SetAllTotle() 计算所有学生总分 void SetTotle(int No) 计算第No个学生总分 *AveKuaiJi) 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING void ShowAllStudent() 显示所有成绩 void ShowTitle() 显示表头信息 void ShowStudent(int No) 显示第No个的学生信息 主函数void main(): 运用switch语句,调用各个子函数完成学生成绩的管理 6.3程序运行截图 6.4源程序代码 #include int num; char name[15]; char sex; float WuLi; float ShuXue; float YingYu; float KuaiJi; float totle;};/*定义6个学生的信息:*/ #define STU_NUMBER 6 /*宏定义学生数为6*/ struct student Stu[STU_NUMBER]={{101,”yuchen“,'F', 98,85,96,89,0},15 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING {102,”xiaotong“, 'F', 99,91,90,93,0},{103,”likanglong“,'M', 76,83,74,82,0},{104,”yinger“,'F', 88,76,89,77,0},{105,”fengjiao“, 'F', 97,100,94,96,0},{106,”sunyao“,'M', 87,89,66,84,0} };int SelectMainMenu();/*显示并选择主菜单。返回:被选择的菜单项*/ /*所有的函数声明:*/ void Show();/*成绩查询模块*/ void Modify();/*成绩修改模块*/ void Stat();/*成绩统计模块*/ void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float *AveKuaiJi);/*统计平均分*/ int FindStudent(int num);/*根据学号查找某一学生*/ void SetAllTotle();/*计算所有学生总分*/ void SetTotle(int No);/*计算第No个学生总分*/ void ShowAllStudent();/*显示所有成绩*/ void ShowTitle();/*显示表头信息*/ void ShowStudent(int No);/*显示第No个的学生信息*/ void main(){ int isend=0,password=0;/*程序结束标志量,0表示不结束,1表示结束*/ SetAllTotle();/*计算所有学生总分*/ while(password!=666) {printf(”qing shu ru mi ma:n“); scanf(”%d“,&password); } while(1) { switch(SelectMainMenu())/*显示并选择主菜单*/ { case 1: /*成绩查询*/ Show(); /*调用成绩查询函数*/ break; case 2: /*成绩修改*/ Modify();/*调用成绩修改函数*/ break; case 3: /*成绩统计*/ Stat(); /*调用成绩统计函数*/ break; case 4: /*退出系统*/ printf(”nxie xie nin de shi yong,zai jian!nn“); isend = 1;/*设置程序结束标志*/ break; } if(isend)break;/*程序结束*/ 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING } } int SelectMainMenu()/*显示并选择主菜单。返回:被选择的菜单项*/ { int menu_no=0; do /*显示并选择菜单*/ { printf(”=================================n“); printf(” printf(” zuo zhe:li yi mann“); printf(”=================================n“); printf(” zhu cai dan:n“); printf(” 1cheng ji xiu gain“); printf(” 3tui chu xi tongn“); printf(” qing xuan ze(1-4):“); scanf(”%d“,&menu_no); }while(menu_no<1 && menu_no>4); /*直到选择出正确的序号*/ return menu_no;} void Show()/*成绩查询模块*/ { int n,i; while(1) { printf(”n====cheng ji cha xun====n“); printf(”qing shu ru xue hao(shu ru 0 tui chu cheng ji cha xun,shu ru 1 cha xun quan bu):“); scanf(”%d“,&n); if(n==0)break;/*退出成绩查询模块*/ if(n==1)ShowAllStudent();/*显示所有成绩*/ else if((i=FindStudent(n))>=0)/*找到学号为n的学生*/ { ShowTitle();/*显示表头信息*/ ShowStudent(i);/*显示该学生信息*/ } else printf(”----zhao bu dao gai xue hao----n“); } } void Modify()/*成绩修改模块*/ { int n,i,a; while(1) { printf(”n====cheng ji xiu gai====n“); printf(”qing shu ru xue hao(shu ru 0 tui chu cheng ji xiu gai):“); 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING scanf(”%d“,&n); if(n==0)break;/*退出成绩修改模块*/ if((i=FindStudent(n))>=0)/*找到学号为n的学生*/ { ShowTitle();/*显示表头信息*/ ShowStudent(i);/*显示该学生信息*/ printf(”qing shu ru yao xiu gai de cheng ji:n“);printf(”1 WuLin“);printf(”2 ShuXuen“);printf(”3 YingYun“);printf(”4 KuaiJin“);scanf(”%d“, &a);switch(a){case 1:printf(”qing shu ru WuLi cheng ji:n“); scanf(”%f“, &Stu[i].WuLi);break;case 2:printf(”qing shu ru ShuXue cheng ji:n“); scanf(”%f“, &Stu[i].ShuXue);break;case 3:printf(”qing shu ru YingYu cheng ji:n“); scanf(”%f“, &Stu[i].YingYu);break;case 4:printf(”qing shu ru KuaiJi cheng ji:n“); scanf(”%f“, &Stu[i].KuaiJi);break; default:printf(”shu ru cuo wu“); } SetTotle(i);/*计算该学生总分*/ printf(”----xiu gai cheng gong----n“); } else printf(”----zhao bu dao gai xue hao----n“); } } void Stat()/*成绩统计模块*/ { float AveWuLi, AveShuXue, AveYingYu, AveKuaiJi; StatAve(&AveWuLi, &AveShuXue, &AveYingYu, &AveKuaiJi);/*统计四门课的班级平均分*/ printf(”n====cheng ji tong ji====n“); printf(”xue sheng ren shu:%dn“, STU_NUMBER); printf(”WuLi ping jun fen:%6.2fn“, AveWuLi); printf(”ShuXue ping jun fen:%6.2fn“, AveShuXue); printf(”YingYu ping jun fen:%6.2fn“, AveYingYu); printf(”KuaiJi ping jun fen:%6.2fn“, AveKuaiJi);} /*统计四门课的班级平均分,用指针参数返回*/ void StatAve(float *AveWuLi, float *AveShuXue, float *AveYingYu, float *AveKuaiJi){ 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING int i; float sumWuLi=0, sumShuXue=0, sumYingYu=0, sumKuaiJi=0; for(i=0;i { sumWuLi += Stu[i].WuLi; sumShuXue += Stu[i].ShuXue; sumYingYu += Stu[i].YingYu; sumKuaiJi += Stu[i].KuaiJi; } *AveWuLi = sumWuLi / STU_NUMBER; *AveShuXue = sumShuXue / STU_NUMBER; *AveYingYu = sumYingYu / STU_NUMBER; *AveKuaiJi = sumKuaiJi / STU_NUMBER;} /*根据学号查找某一学生。返回:-1没找到,>=0该学生所在数组的下标*/ int FindStudent(int num){ int i; for(i=0;i if(Stu[i].num==num)break; if(i else return-1;/*没找到*/ } void SetAllTotle()/*计算所有学生总分*/ { int i; for(i=0;i SetTotle(i);} void SetTotle(int No)/*计算第No个学生总分*/ { Stu[No].totle = Stu[No].WuLi + Stu[No].ShuXue + Stu[No].YingYu +Stu[No].KuaiJi;} void ShowAllStudent()/*显示所有成绩*/ { int i; ShowTitle(); for(i=0;i ShowStudent(i);} void ShowTitle()/*显示表头信息*/ { printf(”n%12s%12s%12s%10s%10s%10s%10sn“,”xue hao“, ”xing ming“, ”xing bie“,”WuLi“,”ShuXue“,”YingYu“,”KuaiJi“,”Zong Fen“);} 大连交通大学 软件学院 C语言课程设计报告 SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING void ShowStudent(int No)/*显示第No个的学生信息*/ { printf(”%12d%12s%12c%10g%10g%10g%10gn",Stu[No].num, Stu[No].name, Stu[No].sex, Stu[No].WuLi,Stu[No].ShuXue, Stu[No].YingYu, Stu[No].KuaiJi,Stu[No].totle);}