c 程序设计报告流程图及代码
C语言程序设计报告
课程设计报告课程名称C语言程序设计课题名称销售管理系统专业机械设计制造及其自动化班级学号姓名指导教师2009年5月5日课程设计任务书课程名称 C程序设计课题销售管理系统专业班级机械设计制造及其自动化0805班学生姓名学号指导老师审批任务书下达日期2009年4月27 日任务完成日期2009年5月5日目录一.课程设计任务书 (4)二.销售管理系统(1)程序的主要功能 (7)(2)程序的模块组成 (7)(3)各函数的功能 (7)(4)函数的功能模块简图 (8)(5)程序的操作流程简图 (9)(6)函数的主要流程图 (10)(7)程序的运行及调试 (11)三.总结 (14)四.附件 (16)五.机械工程系课程设计评分表 (26)一、课程设计任务书1、设计内容与设计要求○1、设计内容●问题描述:通过本系统实现对N个销售员信息的录入、显示、添加、删除,以及对产品销售额的排序等操作的管理。
●功能描述:本系统采用一个包含n个数据的结构体数组,每个数据的结构应当包括:姓名、身份、产品1销售额、产品2销售额、总产品销售额。
本系统显示这样的菜单:销售管理系统1、销售员信息输入2、销售员信息输出3、删除销售员4、添加销售员5、销售额排序6、统计产品销售额7、保存销售额信息0、退出系统执行一个具体的功能之后,程序将重新显示菜单。
将系统信息保存在文件中。
●算法提示:数据结构:结构体类型数组数据库结构:下表构成该系统的基本数据库姓名身份产品1销售额产品1销售额总产品销售额c h a r i n t i n t i n t i n t●测试数据:记录数20(5).分组及安排所选题目根据学生学号确定,学号模4加1,即(学号%4+1)。
如你的学号为17,则所选题目号为:17%4+1==(题目2)。
(6).成绩评定程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。
C语言贪吃蛇实验报告
C语言程序设计报告题目:贪吃蛇游戏的程序设计院系:西语学院英语教育6班姓名:学号:1.1题目:设计贪吃蛇小游戏1.2题目的要求:玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束。
1.3设计的步骤:分析设计题目的要求,即需求分析。
总体设计,确定所需模块及模块间调用关系,定义系统中使用的数据类型。
详细设计,确定每个模块的功能,绘制主要函数的流程图。
编写程序代码,调试程序使其能正确运行。
要求书写规范,注意采用缩进格式。
函数名、变量名要见文晓意,注释要简而不失、详而不缀。
设计完成的软件要便于操作和使用。
程序测试,发现程序中存在的错误并改正。
完成报告。
2详细设计说明2.1课程设计的要求:通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。
收集资料,分析课题,分解问题,形成总体设计思路;对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍;上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;完成课程设计报告。
2.2程序的功能:贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。
2.3课程设计的思想:程序关键在于表示蛇的图形及蛇的移动。
用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示。
移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇运动方向相反的方向键,此游戏就会暂停,再按想前的方向键才能继续游戏,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。
c语言俄罗斯方块游戏程序设计报告
C语言课程设计报告主标题: C语言课程设计副标题:俄罗斯方块游戏----界面设计姓名:卢文俊指导教师:刘慧院系:信息工程学院专业:计算机科学与技术班级: 11计本(二)班小组成员:卢文俊,齐伟,陈龙提交日期: 2012-6-7俄罗斯方块程序设计报告一、问题描述:要求支持键盘操作和7种不同类型方块的旋转变换,并且界面上显示下一个方块的提示以及当前的玩家的得分,随着游戏的进行,等级越高,游戏难度越大,即方块的下落速度越快,相应的等级,等级越高,消去一行所得到的分数越高,为玩家提供了不同的选择。
二、功能分析:俄罗斯方块游戏需要解决的问题包括:⑴按任意键开始游戏,随机产生方块并自动下移⑵用Esc键退出游戏。
⑶用键变换方块⑷用键和键左右移动方块⑸用键使方块加速下移⑹用空格键使方块直接下移⑺能正确判断满行并消行、计分、定级别⑻能正确计时⑼设定游戏为不同级别,级别越高难度越大重点:*游戏面包的数据结构:二维数组*7种形状方块的数据结构:结构体保存每种形状方块的坐标、颜色三、程序设计:1、程序总体设计结构:首先初始化进入图形模式,进入欢迎界面,玩家按任意进入主菜单界面,按键进入游戏界面,键然后设置新的时钟中断。
开始游戏后,进入该程序最核心的部分——处理和实现进行过程中的各种事件和函数。
在处理中判断游戏是否结束,如果没有结束,则重新开始游戏,否则结束游戏。
详解如下:(1)、游戏方块预览功能。
在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块,这样有利于游戏玩家控制游戏的策略。
由于在此游戏中存在19种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。
(2)、游戏方块控制功能。
通过各种条件的判断,实现对游戏方块的左移、右移、快速下移、自由下落、旋转功能,以及行满消除行的功能。
否(3)、游戏显示更新功能。
在判断键值时,有左移VK_LEFT、右移VK_RIGHT、下移VK_DOWN、变形旋转VK_UP、退出VK_ESC键值的判断。
C语言日历显示课程设计报告
C语言日历显示课程设计报告高级语言程序设计课程设计题目:专业计算机类班级计算机类1102学生学号指导教师_______________起止时间2012.2.13——2012.2.172012年2月目录实验报告 (4)必做题: (4)选做题: (9)题目10 写一个日历显示程序 (9)流程图:(如下) (16)工程代码: (21)心得体会 (26)实验报告必做题:(1)编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2。
具体比较方法是随机生成一组(≥300个)的100以内的整数数据,用选定的2种排序方法进行排序。
纪录排序过程中数据比较和交换的次数,输出比较结果。
#include<stdio.h>#include<stdlib.h>int main(void){int a[300],b[300];int i,j,temp,t;int s=0,p=0,s1=0,p1=0;for(i=0;i<300;i++){a[i]=rand()%100;b[i ]=a[i];}for(i=0;i<299;i++){for(j=i+1;j<300;j++){if(a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;s++;}p++;}}printf("%d %d\n",s,p);printf("\n");for(i=0;i<299;i++){t=i;for(j=i+1;j<300;j++){if(b[t]<b[j])t=j;if(t!=i){temp=b[i];b[i]=b[t];b[t]=temp;s1++;}p1++;}}printf("%d %d\n",s1,p1);return 0;}运行结果:在这个题目中选择了交换法和选择法,首先要产生300个随机数,其次要懂得两种排序法的原理,然后进行编程,同时利用循环结构。
C语言课程设计报告:职工信息管理系统程序设计
1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;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****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
运动会分数统计系统-c语言课程设计报告书
课程设计报告课程名称《C语言程序设计》课题名称运动会分数统计系统专业电气工程及其自动化班级电气工程学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题运动会分数统计系统专业班级电气工程及其自动化学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日第一部分《C语言课程设计》任务书前言《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,课程设计的课题比平时的习题复杂得多,也更接近实际。
课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。
为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。
学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。
学习委员将课程设计报告与磁盘收齐后交指导老师。
一、目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、设计要求掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
c语言程序设计电子版本
C语言程序设计论文C语言程序设计论文学校:天津电子信息职业技术学院系别:电子技术系专业:通信技术班级:通信S13-26学号:89757姓名:王磊C语言课程设计报告一、设计题目:计算器二、设计目标:进一步加深、巩固学生所学专业课程(《C语言》)的基本理论知识,理论联系实际,进一步培养学生综合分析问题和解决问题的能力。
掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能,充分发挥广大同学的潜力,使他们通过本次课程设计而得到全面的锻炼。
三、设计内容:1.设计系统的功能框图、流程图;2.编写计算器的源程序代码;3.上机调试;4.答辩;5.书写实习报告。
四、课程设计所用设备:每人一台计算机。
五、课程设计系统组成及模块功能:(1)主函数模块(2)设置系统进入图形模块(3)初始化图形系统模块(4)计算器计算函数模块(5)窗口函数模块(6)设计鼠标图形函数模块(7)获取特殊键函数模块六、软件环境:Visual c++6.0七、课程设计要求:在计算机上操作,通过Visual c++6.0,设计出“计算器”程序。
八、应提交的材料:实习报告一份,内容包含“计算器”程序代码。
设计报告:程序代码:#include <dos.h>#include <math.h>#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <graphics.h>#include <string.h>#include <ctype.h>#define UP 0x48#define DOWN 0x50#define LEFT 0x4b#define RIGHT 0x4d#define ENTER 0x0dvoid *rar;struct palettetype palette;int GraphDriver;int GraphMode;int ErrorCode;int MaxColors;int MaxX, MaxY;double AspectRatio;void drawboder(void);void initialize(void);void computer(void);void changetextstyle(int font, int direction, int charsize);void mwindow(char *header);int specialkey(void) ;int arrow();int main(){initialize();computer();closegraph();return(0);}void initialize(void){int xasp, yasp;GraphDriver = DETECT;initgraph( &GraphDriver, &GraphMode, "" ); ErrorCode = graphresult();if( ErrorCode != grOk ){printf("Graphics System Error: %s\n",grapherrormsg( ErrorCode ) );exit( 1 );}getpalette( &palette );MaxColors = getmaxcolor() + 1;MaxX = getmaxx();MaxY = getmaxy();getaspectratio( &xasp, &yasp );AspectRatio = (double)xasp/(double)yasp; }void computer(void){struct viewporttype vp;int color, height, width;int x, y,x0,y0, i, j,v,m,n,act,flag=1;float num1=0,num2=0,result;char cnum[5],str2[20]={""},c,temp[20]={""}; char str1[]="1230.456+-789*/Qc=^%";mwindow( "Calculator" );color = 7;getviewsettings( &vp );width=(vp.right+1)/10;height=(vp.bottom-10)/10 ;x = width /2;y = height/2;setfillstyle(SOLID_FILL, color+3);bar( x+width*2, y, x+7*width, y+height );setcolor( color+3 );rectangle( x+width*2, y, x+7*width, y+height );setcolor(RED);outtextxy(x+3*width,y+height/2,"0.");x =2*width-width/2;y =2*height+height/2;for( j=0 ; j<4 ; ++j ){for( i=0 ; i<5 ; ++i ){setfillstyle(SOLID_FILL, color);setcolor(RED);bar( x, y, x+width, y+height );rectangle( x, y, x+width, y+height );sprintf(str2,"%c",str1[j*5+i]);outtextxy( x+(width/2), y+height/2, str2); x =x+width+ (width / 2) ;}y +=(height/2)*3;x =2*width-width/2;}x0=2*width;y0=3*height;x=x0;y=y0;gotoxy(x,y);arrow();putimage(x,y,rar,XOR_PUT);m=0;n=0;strcpy(str2,"");while((v=specialkey())!=45){while((v=specialkey())!=ENTER){putimage(x,y,rar,XOR_PUT);if(v==RIGHT)if(x>=x0+6*width){x=x0;m=0;}else{x=x+width+width/2;m++;}if(v==LEFT)if(x<=x0){x=x0+6*width;m=4;}else{x=x-width-width/2;m--;}if(v==UP)if(y<=y0){y=y0+4*height+height/2;n=3;}else{y=y-height-height/2;n--;}if(v==DOWN)if(y>=7*height){y=y0;n=0;}else{y=y+height+height/2;n++;}putimage(x,y,rar,XOR_PUT);}c=str1[n*5+m];if(isdigit(c)||c=='.'){if(flag==-1){strcpy(str2,"-");flag=1;}sprintf(temp,"%c",c);strcat(str2,temp);setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); outtextxy(5*width,height,str2);}if(c=='+'){num1=atof(str2);strcpy(str2,"");act=1;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,"0.");{if(c=='-'){if(strcmp(str2,"")==0)flag=-1;else{num1=atof(str2);strcpy(str2,"");act=2;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,"0.");}}if(c=='*'){num1=atof(str2);strcpy(str2,"");act=3;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);outtextxy(5*width,height,"0.");}if(c=='/'){num1=atof(str2);strcpy(str2,"");act=4;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); outtextxy(5*width,height,"0.");}if(c=='^'){num1=atof(str2);strcpy(str2,"");act=5;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); outtextxy(5*width,height,"0.");}if(c=='%'){num1=atof(str2);strcpy(str2,"");act=6;setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); outtextxy(5*width,height,"0.");}if(c=='='){num2=atof(str2);switch(act){case 1:result=num1+num2;break;case 2:result=num1-num2;break;case 3:result=num1*num2;break;case 4:result=num1/num2;break;case 5:result=pow(num1,num2);break;case 6:result=fmod(num1,num2);break;}setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); sprintf(temp,"%f",result);outtextxy(5*width,height,temp);}if(c=='c'){num1=0;num2=0;flag=1;strcpy(str2,"");setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2); outtextxy(5*width,height,"0.");}if(c=='Q')exit(0);}putimage(x,y,rar,XOR_PUT);return;}void mwindow( char *header ){int height;cleardevice();setcolor( MaxColors - 1 );setviewport( 20, 20, MaxX/2, MaxY/2, 1 );height = textheight( "H" );settextstyle( DEFAULT_FONT, HORIZ_DIR, 1 );settextjustify( CENTER_TEXT, TOP_TEXT );outtextxy( MaxX/4, 2, header );setviewport( 20,20+height+4, MaxX/2+4, MaxY/2+20, 1 ); drawboder();}void drawboder(void){struct viewporttype vp;setcolor( MaxColors - 1 );setlinestyle( SOLID_LINE, 0, NORM_WIDTH );getviewsettings( &vp );rectangle( 0, 0, vp.right-vp.left, vp.bottom-vp.top );}int arrow(){int size;int raw[]={4,4,4,8,6,8,14,16,16,16,8,6,8,4,4,4};setfillstyle(SOLID_FILL,2);fillpoly(8,raw);size=imagesize(4,4,16,16);rar=malloc(size);getimage(4,4,16,16,rar);putimage(4,4,rar,XOR_PUT);return 0;}/int specialkey(void){int key;while(bioskey(1)==0);key=bioskey(0);key=key&0xff? key&0xff:key>>8;return(key);}总结:1)实际操作过程中遇到的问题及解决方法:1.忘记加分号。
C++课程设计化工
C语言课程设计报告------理论塔板数计算苯-甲苯精馏塔理论塔板数的计算——程序设计任务书一、设计任务书1、设计条件(1)原料:苯-甲苯混合溶液;(2)苯-甲苯混合液中苯含量为45x;=.F(3)处理状态:采取泡点进料,q=1;(4)采取间接蒸汽加热;=0.966;(5)塔顶产品含苯摩尔分率为xD(6)塔底产品含苯摩尔分率为0118x;=.w(7)回流比大致范围 1.1~2.0R min(通过最小回流比计算)表1 常压下苯-甲苯的气液平衡数据温度t/℃液相中苯的摩尔分数x气相中苯的摩尔分数y 110.56 0 0109.91 1 2.5108.79 3 7.11107.61 5 11.2105.05 10 20.8102.79 15 29.4100.75 20 37.298.84 25 44.297.13 30 50.795.58 35 56.694.09 40 61.992.69 45 66.791.40 50 71.390.11 55 75.588.80 60 79.187.63 65 82.586.52 70 85.785.44 75 88.584.40 80 91.283.33 85 93.682.25 90 95.981.11 95 9880.66 97 98.980.21 99 99.6180.01 100 1002、设计内容◆ 全塔物料衡算解方程组 (高斯 雅可比 直接计算)已知F ,x F ,x D ,x W⎩⎨⎧*+*=*+=xxx wDF W D F W D F求 D ,W◆ 气液平衡线拟合、操作线方程构建及作图曲线拟合(插值(拉格朗日、牛顿 分段多项式 样条)最小二乘法)将表1中的x 、y 列数据进行关联,得到三次方程(方程1),形如:23y A Bx Cx Dx=+++,直接求值 。
令x q =x F ,带入方程23y A Bx Cx Dx=+++,得y q ,带入方程得R min 利用R =1.5 R min 【0901(01-05),0902(01-05),0903(01-05)】R =1.8 R min 【0901(06-10),0902(06-10),0903(06-10)】R =2.0 R min 【0901(11-15),0902(11-15),0903(11-15)】 R =2.5 R min 【0901(16-20),0902(16-20),0903(16-20)】 R =2.8 R min 【0901(21-25),0902(21-25),0903(21-25)】 R =3.2 R min 【0901(26-30),0902(26-30),0903(26-30)】qq q D x y y x R --=min xxx y 1xy得R构建多项式◆ 求提馏段操作线方程求得y h求通过点(x w ,x w )和(x h ,y h )的直线方程表达式y =f (x ),即提馏段操作线方程(3) 3.求理论塔板数循环解方程(牛顿 二分法), y 1=x D , 带入方程23nn n nyA Bx Cx Dx =+++,解方程得到x 1将x 1数值带入111D n n R x y x R R +=+++,得到y 2将y 2数值带入带入23nn n ny A Bx Cx Dx =+++,得x 2,如上循环,当x i ≤x F 时,转为将x i 带入方程y m+1=f (x m ),得到y i+1,将y i+1带入23nn n ny A Bx Cx Dx =+++,得到x i+1将x i+1带入y m+1=f (x m ),得到x i+2 循环使用23nn n ny A Bx Cx Dx =+++和y m+1=f (x m ),当x j ≤x w 时停止计算j 即为总塔板数,i 板即为进料板。
C语言程序设计课程设计指导书
C语言程序设计课程设计指导书一、课程设计的目的C 语言程序设计课程设计是学习 C 语言程序设计课程的重要实践环节,其目的在于加深学生对 C 语言程序设计知识的理解和掌握,培养学生运用 C 语言解决实际问题的能力,提高学生的编程水平和综合素质。
通过课程设计,学生能够:1、巩固和加深对C 语言语法、数据类型、控制结构、数组、指针、结构体、文件操作等知识点的理解和掌握。
2、培养学生分析问题、解决问题的能力,能够将实际问题转化为C 语言程序,并通过编程实现解决方案。
3、培养学生的编程规范和代码风格意识,提高程序的可读性、可维护性和可扩展性。
4、培养学生的团队合作精神和沟通能力,能够与他人协作完成复杂的程序设计任务。
二、课程设计的要求1、题目选择学生可以从给定的题目中选择一个进行设计,也可以自行拟定题目,但需经过指导教师的审核同意。
题目应具有一定的综合性和难度,能够涵盖C 语言的多个知识点,并具有实际应用价值。
2、设计要求程序应具有良好的结构和清晰的逻辑,采用模块化设计方法,将功能分解为多个函数,每个函数完成相对独立的功能。
程序应具有良好的用户界面,能够方便用户进行操作和输入输出。
程序应能够正确处理各种异常情况,具有较强的容错能力。
程序应具有良好的注释,说明程序的功能、算法、变量含义等,以便于他人阅读和理解。
3、文档要求学生应提交课程设计报告,报告应包括题目分析、算法设计、程序流程图、主要代码、测试结果、总结等内容。
报告应格式规范、文字通顺、图表清晰,字数不少于 2000 字。
三、课程设计的题目示例1、学生成绩管理系统实现学生成绩的录入、修改、删除、查询、统计等功能。
能够按照学号、姓名、课程等条件进行查询和排序。
能够统计学生的总成绩、平均成绩、各课程的最高分、最低分等。
2、图书管理系统实现图书的入库、借阅、归还、查询、统计等功能。
能够按照书名、作者、出版社等条件进行查询和排序。
能够统计图书的借阅次数、库存数量等。
C语言课程设计报告—歌星大奖赛评分系统
C语言课程实习报告课程名称:歌星大奖赛学院:信息工程学院专业:通信工程班级:学号:姓名:指导老师:第一部分:课程设计编号、名称、容名称:歌星大奖赛容:【要求】(1)在歌星大奖赛中,有十个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均植。
请编写一个程序实现。
(2)同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分的差距最大)的评委。
【提示】一、需求分析这个问题的第一个要求算法比较简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。
第二个要求为了考虑效率,要用到排序技术。
第二部分:程序总体设计思路由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。
在编写本程序的过程中,首先我借助购买的指导材料,了解了一些目标程序运行的次序与界面的操作方法,然后按照题目的具体要求进行思考和设计。
具体的设计思路如下:程序的要根据十个评委对歌手的打分情况,求出这个歌手的平均成绩和最公平及最不公平的裁判。
首先,我先考虑到程序的数据输入,可以用scanf函数来解决,并将输入的数据存放于数组中。
随后对存放在数组中的数据进行排序,这步为执行找出最不公平的裁判提高了效率,只需将排好序的数组的首尾分值与平均值进行比较即可。
将排好序的数组中间的八个数求平均值即为此歌手的成绩,可见排序法可大大的简化程序。
接下来是最后一个任务就是找最公平的裁判,此过程我使用拆半法,先将靠近中间的一个裁判假设为最公平的,再将他前面的裁判与之比较,找出前半部分的最公平的裁判,再将之与后半部分的进行比较,得出最终的最公平的裁判。
为了方便管理员更好的使用界面操作,我还设置了每输入完一组数据并得到结果后,或接着输入下组数据或按0跳出界面。
整个程序的设计思路到此结束。
第三部分:程序功能划分、图示及流程图【功能模块划分及其流程图】本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这6个部分来完成。
c语言课程设计报告 万年历 最详细
C语言课程设计报告-----万年历设计人:贾伟涛学号:2013010912班级:13电信应电班指导老师:张伟日期:2014年6月9日内容提要通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。
学习的过程虽然有很多困惑,但是当自己能够独立的看懂和独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。
我虽然可以看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对c语言的兴趣。
C语言是近年在国内外得到迅速推广应用的一种机器语言。
C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。
因此,C语言特别适合于编写各种软件。
在这次的课程设计中我将把日常生活中最经常接触的——日历的查询,利用C语言的程序编成一个简单的万年历查询系统。
通过这个小小的系统可以实现很多功能。
在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。
在不断的调试中最终才获得最为完整的程序。
接下来就是我的C 语言课程设计的具体内容来了,大家拭目以待吧!目录一、系统功能和数据说明-----------------------二、问题分析---------------------------------三、程序总体设计及功能结构框图---------------四、程序流程图-------------------------------五、源程序代码-------------------------------六、使用说明---------------------------------七、个人心得---------------------------------八、参考文献---------------------------------一、系统功能和数据说明(一)功能简介在日常生活中能接触到很多不同类型的日历,在日历上我们通常希望它能简单明了的给我们最想要的日期信息。
vc++课程设计---指针型时钟
VC++程序设计报告
2)添加好的结果如图:
3)对话框的 OK 按钮响应函数,使得程序提取到闹钟的三个参数, 并且启动定时器 2 void CMainFrame::OnNaozhong() {
// TODO: Add your command handler code here naozhong dlg; if(dlg.DoModal()==IDOK) {
5
VC++程序设计报告
double rate = (double)(2.0 * pi / 60.0); double halfPi=pi/2; int zoomR=r-20; //绘制表盘 //zoomR 及对 zoomR 进行加或减操作主要是用来控制距离圆心的 距离 pDC->SetBkMode(TRANSPARENT); for(int mark=1;mark<=60;mark++) {
五、 整体设计流程图
主框架窗口
万年历
六、 数据描述 1、 静态数据 表盘的绘制、表盘的刻度
闹钟
2
VC++程序设计报告
2、 动态数据 闹钟的时、分、秒数据的输入;当前时刻表盘时分秒针运 行的数据。
七、 用户界面
八、 程序设计框架及步骤 1、打开 VC++6.0,新建一个 MFC AppWizard(exe),工程名称为
second=dlg.second; minute=dlg.minute; hour=dlg.hour; } SetTimer(2,500,NULL);
CFirstDlg dlg;//定义对话框类对象 dlg.DoModal();//显示对话框 } 8)在 OnTestDlg 函数的实现文件 MainFrm.cpp 的前面添加 CFirstDlg 类包含语句,即 #include "MainFrm.h" #include "FirstDlg.h" 7、闹钟功能的实现 1)在闹钟对话框中添加三个组合框,分别是时、分、秒。在属性中 的数据项目中添加应该显示的数据。如下图:
C语言课程设计图书管理系统课程设计报告
C语言课程设计图书管理系统Books Management System学生姓名张朝柱学院名称徐州工程学院学号20130566140班级13计转本专业名称计算机科学与技术指导教师李子龙2016年5月10日一、需求分析为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。
使用c语言编写了图书管理系统。
本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。
实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。
所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。
图书信息包括编号、书名、作者、数量、在库状态等。
图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。
整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。
二、算法设计:1.设计思想:整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。
进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。
在设计程序时,实现了程序的模块化、结构化。
在主函数中调用各种子函数,操作界面简单,易操作。
2,设计表示:(1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。
主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。
(2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。
程序设计报告
程序设计报告篇一:程序设计报告要求每个小组做全本套题目时限:1s【题目描述】有一个字符集合,它只包含a-z这26个小写字母。
根据集合的定义,集合的容量是集合含有不同元素的个数。
由于该集合中包含了非常多的重复字母,因此让你编程计算下该集合的容量,也就是该集合包含了多少不相同的字母。
【输入】有多组样例。
第一行为样例的个数T。
接下来T行,每一行代表一个样例。
这一行为一个字符串,表示一个集合。
规定以’{’开头,以’}’结束。
每个字符用’,’给开,逗号与逗号后的元素空出一个空格。
【输出】每个集合的容量。
一个样例占一行。
【输入样例】2{a, b, c}{a, b, a, b}【输出样例】32B吉利数字时限:1s【题目描述】算卦大湿biboyouyun最近得出一个神奇的结论,如果一个数字,它的各个数位相加能够被10整除,那么称它为吉利数。
现在叫你计算某个区间内有多少个吉利数字。
【输入】第一行为样例个数N。
接下来N行,每一行代表一个输入样例,每个输入样例有2个数,分别代表某个区间的起点a和终点b。
注意所求区间为[a,b],1 =a =b =10【输出】N行。
对于第x个输入样例,在第x行输入该样例所对应的结果。
【输入样例】21 101 20【输出样例】1【Hint】1-10之内无幸运数,1-20内只有19 这1个幸运数C炸弹袭击时限:1s【题目描述】H族的领地是一片富饶之地,有丰富的资源,无数的黄金。
尽管异族侵略者被压制几百多年,他们并没有放弃对这片土地的渴望。
最近,他们研制了一枚重磅炸弹。
试图用它摧毁H族的防御工事。
H族的防御工事由多个基地构成,侵略者试图用炸弹摧毁尽量多的防御基地,现在,他们急需你的帮助。
如果你能为他们解决难题,会有巨大的奖励。
〔该炸弹的攻击范围是一个半径为r单位的圆〕【输入】第一行为样例的个数T。
每个样例中有假设干行,第一行为炸弹的攻击半径r,r有可能不是整数(1 =r =100)第二行是一个整数n,表示H族防御基地的个数(1 =n =100)接下来n行,每行有两个数,代表H族某个防御基地的坐标【输出】只有一个数,代表炸弹能最多摧毁的H族防御基地数量。
《-C语言程序设计》实验指导书
《C语言程序设计》实验指导书课程编号:课程名称:C语言程序设计•实验学时:44一、本实验课的性质、任务与tl的本实验课目的是使学生掌握C语言编程的常用方法,熟悉该语言中的语法、词法规则,为以后进行软件开发和学习后继专业课程打下基础。
通过学习能够运用c语言中的各个知识点编写能完成一定功能的程序。
训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,其重要程度决不亚于知识的传授。
把高级语言的学习与程序设计.上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。
二、本实验课所依据的课程基本理论本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。
《C语言程序设计》的主要任务是:C语言是一种应用广泛结构化程序设计语言,本课程介绍c语言的基本概念.基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。
三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图, 要求独立完成。
说明:1>实验类型:设计性;2、实验要求:必做。
四、每组人数与实验学时数每组1人,实验学时数44学时。
五、考核方式与评分办法实验总成绩二出勤情况"0%+实验报告*20%+平时*30%+实验表现*40%六、本实验课配套教材或实验指导书谭浩强.C程序设计.北京:清华大学出版社,2006年3月第3版谭浩强.C程序设计题解与上机指导.北京:清华大学出版社,2006年3月第3版谭浩强.C程序设计试题汇编.北京:清华大学出版社,2006年3月第2版夏宽理.C语言程序设计.北京:中国铁道出版社,2006年2月第1版夏宽理.C语言程序设计上机指导与习题解答.北京:中国铁道出版社,2006年2月第1 版王士元・C高级实用程序设计.北京:清华大学出版社,1996年1月第1版七、实验报告要求在机器上交作业,每次实验成绩分为优、良、及格、不及格,未参加的为0分。
C语言程序设计第1章-C语言概述课件
1.2.2 Visual C++ 6.0开发环境介绍(续)
图1-8 新建源文件
图1-8 新建源文件
1.2.2 Visual C++ 6.0开发环境介绍(续)
5) 点击“确定”按钮以后,在窗口左边的工作区会看到两个选项卡: ClassView和 FileView。一般默认为ClassView,点击FileView,可以才从ClassView 切换到FileView选项卡。逐步点击工作区p1工程下面的“+”号,可以 在Source Files目录下看到刚才新建的1-1.c源文件,这个时候可以在 右边的程序编辑窗口中输入源代码,如下图1-9所示。
1.1.1 C语言的发展
C语言是国际上流行的计算机高级程序设计语言之一。与其他高 级语言相比,C语言的硬件控制能力和运算表达能力强,可移植性 好,效率高(目标程序简洁,运行速度快)。因此应用面非常广, 许多大型软件都是用C语言编写的。
艾伦.佩利(Alan J.Perlis)在巴黎举行的全世界一流软件专家参加 的讨论会上,发表了“算法语言Algol 60”报告,确定了程序设计语言 Algol 60;1962年,艾伦.佩利又对Algol 60进行了修正;1963年,英 国剑桥大学在ALGOL语言的基础上进行了改进,推出CPL语言; 1967 年剑桥大学的马丁·理查德对CPL简化,产生了BCPL语言; 1970年美国 贝尔实验室的肯·汤姆逊对BCPL语言进行了修改,取其
1.2.2 Visual C++ 6.0开发环境介绍(续)
图1-9 新建源文件
图1-9 新建源文件
1.2.2 Visual C++ 6.0开发环境介绍(续)
注意:工作空间可以包含多个工程,工程又可以包含多个程序 文件,工程与工程之间相互不影响,工作空间类似于文件夹,工程 类似于文件夹中的文件。
C语言程序设计:第4章 顺序结构与选择结构
printf("max: %d\n",b); return 0; }
#include <stdio.h> int main(void) {
int a ,b,max; printf("请输入a和b的值\n"); scanf("%d%d",&a,&b); max = a; if(max < b)
7
顺序结构:复合语句
复合语句:由大括号{}中的0个或多个声明和语句列表共同构成。
#include <stdio.h> int main(void) {
int a = 10; int b = 11;
注意: 1>复合语句不以分号;作为结束符, 即最后的}后面不加分号。 2>在复合语句中可以定义变量,但
if(score >= 60)
printf("及格\n");
else
printf("不及格\n");
return 0;
}
19
选择结构: if...else if语句
成绩等级划分: 输入自己的成绩,根据成绩的范围输出成绩等级。
成绩范围
等级
90--100
A
80--89
B
70--79
C
60--69
D
0--59
3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字 母,则把它变为大写字母;若是其他字符则不变
4.输入数字1-7,并输出显示对应的星期 (输入的数字 1 ,输出星期一,以此类推)
c++程序设计报告流程图及代码
计算机实践C/C++程序设计报告二〇〇年月日一.设计题目题目编号:B18题目名称:编写一个函数fun(str),它的功能是:循环统计由实参传来的一个字符串中的字母、数字、空格和其他字符的个数,直到输入的字符串为999。
要求:例输入:Hello Harbin $$$123输出:字母个数:11数字个数:3空格个数:2其他字符个数:3二.题目的意义三.程序设计功能图四.详细设计int fun(char str[]){int lenstr,i;int m,n,k,s;m=0;n=0;k=0;s=0;lenstr=strlen(str);for(i=0;i<lenstr;i++){if(('a'<=str[i]&&str[i]<='z')||('A'<=str[i]&&str[i]<='Z'))判断帅选字母m++;else if('0'<=str[i]&&str[i]<='9')判断筛选数字n++;else if(str[i]==' ')判断是否为空格k++;else统计其他字符的个数s++;}cout<<"字母个数:"<<m<<"\n数字个数:"<<n<<"\n空格个数:"<<k<<"\n其他字符个数"<<s<<endl;return 0;}五.程序运行界面六.调试、分析及总结当程序运行时,输入wdad123 efwerw@#$T34324 此时运行完,屏幕上显示的结果为:字母个数11,数字个数为9,空格个数为4,其他六.参考资料大学生c/c++程序设计案例教程。