




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学 程序设计综合实验(课程代码0474002)实验地点: X实验学期: 第x学期学生班级: 学生学号: 学生姓名: 任课教师:信息科学与技术学院2013年3月 17实验一: ATM机用户操作界面及业务逻辑编写l 实验目的及内容根据ATM的工作流程编写用户界面,掌握文本用户菜单的编写方法。根据ATM的工作流程编写其业务逻辑,掌握搭建一个完整应用系统的方法及软件编程思想。l 实验要求(1)除提示用户输入的数字外,界面上不能响应、出现任何其它用户输入; (2)每个菜单界面独立显示,不要出现多组菜单重叠显示的现象;务逻辑可以多次执行,直到用户选择退出业务; (3)用户选择一种语言后,进入主业务界面。下面以以中文界面为例介绍其它业务。l 实验步骤及核心代码 反复执行,知道用户选择退出。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)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;实验二:机制转换器l 实验目的及内容写一个“计算器”程序,实现十进制、二进制、十六进制的相互转换。l 实验要求(1) 转换要求包括整数和小数;(2) 提供清晰、友好的用户界面;(3) 各种转换可以重复多次执行,知道用户选择“退出”按钮。l 实验步骤及核心代码 while(1)bool flag=true;system(cls);printf(input a 十进制数字:n);char shit80;gets(shit);sprintf(shit,%lf,cheat);n=strlen(shit);for(i=0;in;i+)if(shiti9)&shiti!=.) flag=false;printf(Input error!n);break;int m=-1;for(i=0;i=1)printf(Input error!);flag=false;break;if ( flag = true )break; shier(x);system(cls);break;case 2:system(cls);printf(input a 十进制数字:n);scanf(%lf,&x);shishiliu(x);system(cls);break;case 3:system(cls);printf(input a 二进制数字:n);scanf(%s,ch);printf(得到十进制为:n);printf( ); printf(%.64gn,ershi(ch); getch(); system(cls); break; case 4:system(cls);printf(input a 二进制数字:n);scanf(%s,ch);ershiliu(ch);system(cls);break;case 5:system(cls);printf(input a 十六进制数字:n);scanf(%s,ch);printf(得到十进制为:n);printf( ); printf(%.64gn,shiliushi(ch);printf(n); getch(); system(cls);break;case 6:system(cls);printf(input a 十六进制数字:n);scanf(%s,ch);shiliuer(ch);system(cls);break;case 7:system(cls); printf( n);bExit=1; break;default:system(cls); printf(Input error!n); getch(); system(cls); break; 实验三:随机数生成及抽奖l 实验目的及内容用均匀分布随机数生成随机数。根据随机数编写一个抽奖程序。l 实验要求(1) 据用户的输入,控制随机数生成的数目,随机数用动态数组保存;(2) 用户的输入,控制随机数的范围:比如能够生成一组【a,b】范围内的随机数。l 实验步骤及核心代码printf(Input the total number of the people:);scanf(%d,&n);printf(=n);printf(Information of all:n);srand(int)time(0);for(i=1;i=n;i+)ai=rand()%100;for(i=1;i=n;i+)printf(%d: p%d, his number is %dn,i,i-1,ai);printf(nPress any key to draw lottry.nnn);k=rand()%100;m=1;for(i=1;i=n;i+)if(ai=k)printf(The winner is: p%d, his number is %dn,i-1,k);printf(Ihe valid lottry number is:%dn,k);m=0;while(m=1)printf(Ihe invalid lottry number is:%dn,k);k=rand()%100;for(i=1;i=n;i+)if(ai=k)printf(The winner is: p%d, his number is %dn,i-1,k);printf(Ihe valid lottry number is:%dn,k);m=0;实验四:插入排序和快速排序l 实验目的及内容生成一组随机整,对该组数据进行排序,采用插入排序法。生成一组随机整,对该组数据进行排序,采用快速排序法。l 实验要求(1) 数组的长度由用户输入;(2) 随机数范围在【100,1000】范围内;(3) 采用直接插入和普通快速排序法;(4) 根据用户要求,可以实现增序、降序两种排序。l 实验步骤及核心代码插入升序:void fun1(int a,int n)int i,j,x;for(j=0;j=0&aix)ai+1=ai;i-;ai+1=x;for(j=0;jn;j+)printf(%d ,aj);printf(n);插入降序:void fun2(int a,int n)int i,j,x;for(j=0;j=0&aix)ai+1=ai;i-;ai+1=x;for(j=0;jn;j+)printf(%d ,aj);printf(n);快速升序:void fun3(int a,int n)int i,j,p,x,t; i=0; j=n+1; x=ai;while(1)while(i=n&a+i=0&a-jx);if(i=j) break;t=ai;ai=aj;aj=t;for(p=i;ap=x & p=n;p+); p-;a0=ap;ap=x;for(j=0;jn;j+)printf(%d ,ai);printf(n);快速将序:void fun4(int a,int n)int i,j,p,x,t; i=0; j=n+1; x=ai;while(1)while(ix);while(j=0&a-j=j) break;t=ai;ai=aj;aj=t;for(p=i;ap=x & p=n;p+); p-;a0=ap;ap=x;for(j=0;jnext; int i; printf(=n); printf(所有学生信息:n); for(i=1;p!=NULL;i+) printf(%d:%s %s %fn,i,p-ID,p-name,p-score); p=p-next; getch(); void PrintCnt() /打印总人数 system(cls); printf(=n); printf(学生总人数:%dn,n); printf(=n); getch(); void Add(list *h) /添加 system(cls); list *p,*p1=h,*p2=h;int k=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+;void Search(list *h) /查找 list *p; char in_ID4; int k=1; while(k) p=h; system(cls); printf(=n); printf(请输入要查找学生的学号:n); printf(学号:); scanf(%s,&in_ID); for(;p!=NULL;) if(strcmp(p-ID,in_ID)=0) printf(学号为%s的学生信息:姓名%s , 分数 %f n,in_ID,p-name,p-score); k=0;break; p=p-next; if(k) printf(找不到学号为%s的学生,请重新输入!n,in_ID); getch(); getch(); void Edit(list *h) /编辑 list *p; char in_ID4,i; int k=1; while(k) p=h; system(cls);printf(=n); printf(请输入要查找学生的学号:n); printf(学号:); scanf(%s,in_ID); for(;p!=NULL;) if(strcmp(p-ID,in_ID)=0) printf(学号为%s的学生信息:姓名 %s , 分数 %fn,in_ID,p-name,p-score); k=0; break; p=p-next; if(k) printf(找不到学号为%s的学生,请重新输入!n,in_ID); getch(); printf(请选择修改项目:n);printf(1: 姓名n); printf(2: 分数n); i=getch(); if(i=1) printf(请输入姓名:); scanf(%s,p-name); else printf(请输入分数:); scanf(%f,&p-score);getch(); void Delete(list *h) /删除 char in_ID4; list *p=h,*p1; int k=1; while(k) p1=p=h; system(cls);PrintAll(h); printf(=n); printf(输入要删除学生的学号:(如果删除所有学生请输入0000)n); printf(学号:); scanf(%s,in_ID);if(strcmp(in_ID,0000)=0) h-next=NULL;return; for(;p!=NULL;) if(strcmp(p-ID,in_ID)=0) printf(学号为%s的学生信息:姓名 %s ,分数 %f n,in_ID,p-name,p-score); k=0;break; p1=p;p=p-next; if(k) printf(找不到学号为%s的学生,请重新输入!n,in_ID); getch(); p1-next=p-next;n-; 实验七:文本文件和二进制文件格式的保存、读取l 实验目的及内容采用文本文件进行数据的存储和读取。采用二进制文件进行数据的存储和读取。l 实验要求(1) 用文本(字符)文件格式进行数据的保存和读取;(2) 文件的存储路径,提示用户输入;(3) 存盘成功或者失败,输出提示信息;(4) 数据读入后能够修改、保存。(5) 修改存盘及数据存储函数,添加用二进制文件实现数据的保存与读取功能;l 实验步骤及核心代码void save1(list *h) /保存文件 FILE *fp; list *p=h-next; char name20; printf(输入文件名:n); scanf(%s,name); if(fp=fopen(name,w)=NULL) printf(存盘失败!n); return; else printf(数据已经成功保存到%sn,name); while(p != NULL) fprintf(fp, %s %s %.2fn, p-ID, p-name, p-score); p = p-next; fclose(fp); getch(); void read1(list *h) /读取文件 FILE *fp; list *p,*p1=h; char ch,name20; printf(输入文件名:n); scanf(%s,name); if(fp=fopen(name,r)=NULL) printf(不能打开文件!n); return; while(1) if(feof(fp) break; p=(list *)malloc(sizeof(list); fscanf(fp,%s%s%fn,p-ID,p-name,&p-score); printf(%s %s %2fn,p-ID,p-name,p-score); p1-next=p; while(1) if(feof(fp) break; p=(list *)malloc(sizeof(list); fscanf(fp,%s%s%fn,p-ID,p-name,&p-score); printf(%s %s %2fn,p-ID,p-name,p-score); p1-next=p; p-next
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车拉索项目申请报告模范
- 2025年提梁机项目申请报告
- 2025年水土流失防治服务项目立项申请报告模板
- 2025年公共图书馆项目立项申请报告
- 2024中国信达资产管理股份有限公司陕西省分公司招聘笔试备考试题及答案详解(全优)
- 水源工程退水方案(3篇)
- 模板工程方案教程(3篇)
- 安全培训班评论课件
- 幼儿园中班数学《区分左右》课件
- 个人合伙经营协议6篇
- 规划违建考试试题及答案
- TSG Q7015-2016起重机械定期检验规则
- 餐厅包场合同协议书范本
- 上门服务项目创业计划书
- 2025年鸡爪市场调研报告
- 景区廉洁管理制度
- 四川地区病历质量评分规范标准
- 土方开挖工程安全监理细则
- 药品效期和近效期药品管理
- 2022年医疗器械临床试验GCP考试题及答案
- 《诊断学意识障碍》课件
评论
0/150
提交评论