C语言程序设计大作业
C 语 言 程 序 设 计
理 论 课 综 合 训 练
任课教师:□□□
学生学号:□□□□□□□□□□
学生姓名:□□□
所在班级:□□□□□□□
项目名称:□□□□□□□□□□
--------------------------------------------------------- 教师评语(总分20分):
(1)基本要求(12分):
(2)创新点(2分):
(3)实用性(2分):
(4)技术水平(2分):
(5)卷面综合(2分):
教师签名:
2011年 6月 10 日
一、项目简介
本项目所完成的功能包括求三角形面积、一元二次方程求根和排序,是学习生活中的常用计算工具,具有很强的实用性。本程序包括5个函数模块,在主函数中实现了菜单功能,在窗口菜单提示下,选择数字键完成所需功能,方便用户操作。
sjxmj()是求三角形面积函数模块,键盘输入三角形三边之长a、b、c,根据下面公式计算三角形面积。 p=(a+b+c)/2 s=p(p a)(p b)(p c)
如果两边之和大于第三边不成立,输出错误信息。
root()是一元二次方程求实根模块,键盘输入二次项系数a、一次项系数b、常数项c,根据下面公式计算两个实根。
b b2 4ac
x12= 2a
如果b-4ac<0,输出无实根信息。
paixu()是排序函数模块,主要读写磁盘文件数据。程序运行前,必须先在工作区文件夹(或运行程序文件所在文件夹)建立一个文本文件inpaixu.txt,文件中输入不超过100个整数,数据之间用空格或用回车换行符间隔。排序结果输出在文本文件outpaixu.txt中。
mysort()是冒泡法排序模块,paixu()函数是本函数的调用函数,所用算法为冒泡排序算法。 2
二、运行测试结果
(1) 求三角形面积
在窗口菜单提示下选择数字键1
输入三边之长(用逗号间隔):
3,4,5<Enter>
s=6.000000
再次测试
输入三边之长(用逗号间隔):
1,2,3<Enter>
输入数据错误!!!
(2) 求一元二次方程实根
在窗口菜单提示下选择数字键2,分别进行两组测试。
输入方程系数a,b,c(用逗号间隔):
1,-3,2<Enter>
x1=2.000000,x2=1.000000
输入方程系数a,b,c(用逗号间隔):
1,2,3<Enter>
方程无实根!!!
(3) 排序
先在工作区文件夹建立建立一个文本文件inpaixu.txt,文件中输入10个整数。运行程序,在窗口菜单提示下选择数字键3,排序结果输出在文本文件outpaixu.txt中。
三、程序清单
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
double sjxmj(double a,double b,double c);
int root(double a,double b,double c,double *r1,double *r2); void mysort(int x[],int m);
void paixu();
//主函数模块
void main()
{ int x;
double a,b,c,s,x1,x2;
while(1)
{
system("cls"); //stdlib.h printf(" ※※※ 实用计算器 ※※※\n"); printf("┏━━━━━━━━━━━━━┓\n"); printf("┃ 1 ┉ 三角形面积 ┃\n"); printf("┃ 2 ┉ 一元二次方程求根 ┃\n"); printf("┃ 3 ┉ 排序 ┃\n"); printf("┃ 0 ┉ 结束 ┃\n"); printf("┗━━━━━━━━━━━━━┛\n"); printf("输入选择(0-3):"); scanf("%d",&x);getchar(); switch(x) { case 1: printf("输入三边之长(用逗号间隔):\n"); scanf("%lf,%lf,%lf",&a,&b,&c); s=sjxmj(a,b,c); if(s) else printf("输入数据错误!!!\n"); printf("按任意键返回主菜单\n"); getch(); // conio.h break; printf("输入方程系数a,b,c(用逗号间隔):\n"); scanf("%lf,%lf,%lf",&a,&b,&c); s=root(a,b,c,&x1,&x2); if(s) printf("s=%f\n",s); case 2:
} } else printf("方程无实根!!!\n"); printf("按任意键返回主菜单\n"); getch(); break; printf("在inpaixu.txt文件中输入数据(不超过100个,数据之间用空格或回车)\n"); printf("输入数据后关闭该文件,按回车键开始排序\n");getchar(); paixu(); printf("排序结果输出到outpaixu.txt文件,按任意键返回主菜单\n"); getch(); break; break; printf("输入选择错误,按任意键重新选择\n");getch(); case 3: case 0: default: if(x==0)break;
printf("再见!!!,按任意键结束\n");
}
//求三角形面积
double sjxmj(double a,double b,double c)
{
{
}
else
}
//一元二次方程求实根
int root(double a,double b,double c,double *r1,double *r2) { double d;
d=b*b-4*a*c;
if(d>=0)
{
*r1=(-b+sqrt(d))/(2*a); *r2=(-b-sqrt(d))/(2*a); return 1; s=0; return s; p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); double p,s; if(a+b>c && b+c>a && c+a>b)
else
}
//读inpaixu.txt文件中数据,排序后输出到outpaixu.txt文件 void paixu()
{ FILE *fp1,*fp2; //stdlib.h
int t,n=0,a[100];
fp1=fopen("inpaixu.txt","r"); //读文件
if(fp1==NULL)
{
}
fp2=fopen("outpaixu.txt","w"); //写文件
if(fp2==NULL)
{
}
while(1)
{
}
mysort(a,n); //调用函数,将a数组中的n个数排序 for(t=0;t<n;t++)
fprintf(fp2,"%d\n",a[t]);
fclose(fp1);
fclose(fp2);
}
// m个整数由大至小排序,paixu()函数调用该函数 void mysort(int x[],int m)
{
} int k,j,t; for(j=0;j<m-k;j++) if(x[j]<x[j+1]) { t=x[j];x[j]=x[j+1];x[j+1]=t;} for(k=1;k<m;k++) if(feof(fp1))break; t=fscanf(fp1,"%d",&a[n]); //if(t==EOF)break; //EOF为文件结束标志(-1) n=n+1; printf("打开inpaixu.txt文件失败。\n"); fclose(fp1);return; printf("打开inpaixu.txt文件失败。\n"); return; return 0;
…… 此处隐藏:1390字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




