程序综合实验报告模板

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西南交通大学程序设计综合实验(课程代码0474002)实验地点:X实验学期:第x学期学生班级:学生学号:学生姓名:任课教师:信息科学与技术学院2013年3月2实验一:ATM机用户操作界面及业务逻辑编写实验目的及内容根据ATM的工作流程编写用户界面,掌握文本用户菜单的编写方法。根据ATM的工作流程编写其业务逻辑,掌握搭建一个完整应用系统的方法及软件编程思想。实验要求(1)除提示用户输入的数字外,界面上不能响应、出现任何其它用户输入;(2)每个菜单界面独立显示,不要出现多组菜单重叠显示的现象;务逻辑可以多次执行,直到用户选择退出业务;(3)用户选择一种语言后,进入主业务界面。下面以以中文界面为例介绍其它业务。实验步骤及核心代码反复执行,知道用户选择退出。switch(f){case'1':{denghao();printf(此账户有¥%.2f元\n,x);printf(请按任意键继续\n);denghao();getch();};break;case'2':{denghao();printf(输入您要存入的数目:¥);scanf(%f,&y);printf(\n按任意键继续\n);denghao();x=x+y;getch();};break;case'3':{denghao();printf(输入您要取钱的数目:¥);scanf(%f,&z);while(zx)3{denghao();printf(\n余额不足,按任意键后重新输入!\n);denghao();getch();system(cls);printf(输入您要取钱的数目:¥);scanf(%f,&z);}if(z=x){printf(\n按任意键继续\n);x=x-z;denghao();getch();}};break;}if(f=='4'){system(cls);break;}}4实验二:机制转换器实验目的及内容写一个“计算器”程序,实现十进制、二进制、十六进制的相互转换。实验要求(1)转换要求包括整数和小数;(2)提供清晰、友好的用户界面;(3)各种转换可以重复多次执行,知道用户选择“退出”按钮。实验步骤及核心代码while(1){boolflag=true;system(cls);printf(inputa十进制数字:\n);charshit[80];gets(shit);sprintf(shit,%lf,cheat);n=strlen(shit);for(i=0;in;i++){if((shit[i]'0'||shit[i]'9')&&shit[i]!='.'){flag=false;printf(Inputerror!\n);break;}}intm=-1;for(i=0;in;i++){if(shit[i]=='.')m=m+1;if(m=1){printf(Inputerror!);flag=false;break;}}if(flag==true)5{break;}}shier(x);system(cls);}break;case'2':{system(cls);printf(inputa十进制数字:\n);scanf(%lf,&x);shishiliu(x);system(cls);}break;case'3':{system(cls);printf(inputa二进制数字:\n);scanf(%s,ch);printf(得到十进制为:\n);printf();printf(%.64g\n,ershi(ch));getch();system(cls);}break;case'4':{system(cls);printf(inputa二进制数字:\n);scanf(%s,ch);ershiliu(ch);system(cls);}break;case'5':{system(cls);printf(inputa十六进制数字:\n);scanf(%s,ch);printf(得到十进制为:\n);printf();printf(%.64g\n,shiliushi(ch));printf(\n);getch();system(cls);}break;6case'6':{system(cls);printf(inputa十六进制数字:\n);scanf(%s,ch);shiliuer(ch);system(cls);}break;case'7':{system(cls);printf(\n);bExit=1;}break;default:system(cls);printf(Inputerror!\n);getch();system(cls);break;}}7实验三:随机数生成及抽奖实验目的及内容用均匀分布随机数生成随机数。根据随机数编写一个抽奖程序。实验要求(1)据用户的输入,控制随机数生成的数目,随机数用动态数组保存;(2)用户的输入,控制随机数的范围:比如能够生成一组【a,b】范围内的随机数。实验步骤及核心代码printf(Inputthetotalnumberofthepeople:);scanf(%d,&n);printf(=======================================\n);printf(Informationofall:\n);srand((int)time(0));for(i=1;i=n;i++)a[i]=rand()%100;for(i=1;i=n;i++)printf(%d:p%d,hisnumberis%d\n,i,i-1,a[i]);printf(\nPressanykeytodrawlottry....\n\n\n);k=rand()%100;m=1;for(i=1;i=n;i++)if(a[i]==k){printf(Thewinneris:p%d,hisnumberis%d\n,i-1,k);printf(Ihevalidlottrynumberis:%d\n,k);m=0;}while(m==1){printf(Iheinvalidlottrynumberis:%d\n,k);k=rand()%100;for(i=1;i=n;i++)if(a[i]==k){printf(Thewinneris:p%d,hisnumberis%d\n,i-1,k);printf(Ihevalidlottrynumberis:%d\n,k);m=0;}}8实验四:插入排序和快速排序实验目的及内容生成一组随机整,对该组数据进行排序,采用插入排序法。生成一组随机整,对该组数据进行排序,采用快速排序法。实验要求(1)数组的长度由用户输入;(2)随机数范围在【100,1000】范围内;(3)采用直接插入和普通快速排序法;(4)根据用户要求,可以实现增序、降序两种排序。实验步骤及核心代码插入升序:voidfun1(inta[],intn){inti,j,x;for(j=0;jn;j++){x=a[j];i=j-1;while(i=0&&a[i]x){a[i+1]=a[i];i--;}a[i+1]=x;}for(j=0;jn;j++)printf(%d,a[j]);printf(\n);}插入降序:voidfun2(inta[],intn){inti,j,x;for(j=0;jn;j++){x=a[j];i=j-1;while(i=0&&a[i]x){a[i+1]=a[i];i--;}a[i+1]=x;}9for(j=0;jn;j++)printf(%d,a[j]);printf(\n);}快速升序:voidfun3(inta[],intn){inti,j,p,x,t;i=0;j=n+1;x=a[i];while(1){while(i=n&&a[++i]x);while(j=0&&a[--j]x);if(i=j)break;t=a[i];a[i]=a[j];a[j]=t;}for(p=i;a[p]=x&&p=n;p++);p--;a[0]=a[p];a[p]=x;for(j=0;jn;j++)printf(%d,a[i]);printf(\n);}快速将序:voidfun4(inta[],intn){inti,j,p,x,t;i=0;j=n+1;x=a[i];while(1){while(i=n&&a[++i]x);while(j=0&&a[--j]x);if(i=j)break;t=a[i];a[i]=a[j];a[j]=t;}for(p=i;a[p]=x&&p=n;p++);p--;a[0]=a[p];a[p]=x;for(j=0;jn;j++)printf(%d,a[i]);printf(\n);}10实验六:学生信息数据结构及小型管理信息系统实验目的及内容采用单链表实现对一组学生信息的组织。完成一个小型学生管理信息系统,实现除存储意外其他基本的信息管理功能。实验要求(1)编写友好的用户界面;(2)采用带头节点的单链表实现对数据的组织,不允许使用数组;(3)学生信息必须包括如下三项:学号(4位编号,如0101,所有学生学号长度一致)姓名成绩(4)功能要求:添加学生:提示用户输入信息,添加一个学生信息(学号长度进行检查)。总人数显示。打印:按顺序在屏幕上打印所有学生的信息。(5)链表中的数据有序排列:要求根据学号升序排列。(6)添加如下功能:删除:a.根据学号删除任意学生信息;b.删除所有学生信息。要求删除成功与否都需要打印相印的提示信息,如“学号为****的学生删除成功”,“学号为****的学生不存在,删除失败”等。查询:根据学好查询任意学生,并将信息打印在屏幕上。编辑:修改任意一个学生除学号意外的信息,如姓名、成绩等。实验步骤及核心代码voidPrintAll(list*h)//打印{system(cls);list*p=h-next;inti;printf(======================\n);printf(所有学生信息:\n);for(i=1;p!=NULL;i++){printf(%d:%s%s%f\n,i,p-ID,p-name,p-score);p=p-next;}getch();}voidPrintCnt()//打印总人数11{system(cls);printf(======================\n);printf(学生总人数:%d\n,n);printf(======================\n);getch();}voidAdd(list*h)//添加{system(cls);list*p,*p1=h,*p2=h;intk=1;p2=p2-next;printf(======================\n);printf(输入学生信息:\n);p=(list*)malloc(sizeof(list));printf(学号:);scanf(%s,p-ID);while(strlen(p-ID)!=4){printf(输入非法,学号必须是四位数,请重新输入!\n);printf(学号:);scanf(%s,p-ID);}printf(姓名:);scanf(%s,p-name);printf(分数:);scanf(%s,&p-score);printf(\n);while(p1-next!=NULL){if(atol(p2-ID)atol(p-ID)){p1-next=p;p-next=p2;k=0;break;}p1=p2;p2=p2-next;}if(k)p1-next=p;p-next=NULL;n++;}12voidSearch(list*h)//查找{list*p;charin_ID[4];intk=1;while(k){p=h;system(cls);printf(=========

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功