资源描述:
《C语言课程设计 机房上机模拟系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档C语言课程设计报告题目实验二十二--机房上机模拟系统学院专业计算机科学与技术班级姓名学号文案大全实用文档教师2012年月号目录1需求分析........................................32总体设计.......................................33详细设计…………………………………………………..43.1输入函数…………………………………………………………..43.2输出函数…………………………………………………………..53
2、.3删除函数…………………………………………………………..73.4查找函数……………………………………………………………84结论与心得体会..................................115调试报告........................................116附录............................................127运行结果…………………………………………………..21文案大全实用文档需求分析现代社会人们对网
3、络的需求量越来越大,因此良好的机房收费管理系统也越来越重要。机房收费系统的需求分析是为了让软件开发人员对开发的系统做一个全面的分析,以便开发出一个更好的收费系统,能够更好的服务大众。同时,为了提高机房管理者的管理效率和减轻管理者的劳动强度,提高机房的利用率,发挥计算机的方便性和快捷性,需要实现机房自由上机收费管理。基本要求输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟
4、为单位))修改功能:修改学生上机的个人档案(如:增添或删除)文案大全实用文档查询功能:按条件(班级、学好、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。总体设计开始输入删除退出输出查找图1主函数采用switch选择结构case1:scan(p);break;//调用输入函数case2:print(st,p);break//;调用输出函数case3:del(p);break;//调用删除函数case4:search(p);brea//k;调用查找函数case5:文案大全实用文档开始输入数
5、据打开文件重新写入文件关闭文件开始打开文件读取数据选择输出输出数据关闭文件图2图3输入函数与输出函数都用到文件的读写并且我定义了两个文件,一个存储结构体数组的内容,另一个存储数组的个数。在调用输入函数时,每次只能输入一个学生的信息,每次输入之前,先打开文件,读出数据,然后重新读入数据,并关闭文件。简要流程图如图2所示。voidscan(int*p){文案大全实用文档inti;FILE*fp;FILE*fpp;for(i=*p;i<*p+1;i++){printf("请输入信息!");prin
6、tf("学号(6位以下):");scanf("%s",st[i].num);printf("姓名(四位以下):");。。。。。图4输出时,通过for循环把数据读出并输出文案大全实用文档voidprint(structstust[],int*q){inti;floatj;FILE*fp;fp=fopen("c:\stu_list.txt","r");//打开文件printf("序号学号图5班级姓名上机时间(时分)下机时间(时分)费用");for(i=0;i<*q;i++)//开始循环输出{f
7、read(&st[i],sizeof(structstu),1,fp);printf("%2d%6s%4s%8s",i+1,st[i].num,st[i].clas,st[i].name);......printf("t%3d%3d",st[i].hour1,st[i].min1);printf("t%3d%3d",st[i].hour2,st[i].min2);j=st[i].hour2-st[i].hour1+((st[i].min2-st[i].min1)/60.0);printf("
8、%4.2f元",j);.....................文案大全实用文档图6删除函数采用覆盖的方法来实现目的。输入所要删除的信息后,从文件中读取数据,并找到它,用后面的将其覆盖,总数量减少一个,这样以后读取数据时,就没有该数据了.。但实际上文件中任由原来个数个数据,只是不让它读出来而已,如图7。图8为简单流程图,if(strcmp(a,st[i].name)==0){for(j=i;j<*p-1;j++){strcpy(st[j].num,st[j+1].num);strcpy(st