| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 354 人关注过本帖
标题:程序运行不全面,求帮助
只看楼主 加入收藏
mrpharaoh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-7
收藏
 问题点数:0 回复次数:0 
程序运行不全面,求帮助
题目要求:
课程设计题目:机房上机系统(由    完成)

课程设计内容:用C语言编写程序完成以下任务:

(1)从键盘输入学生的学号,姓名,系别,机时等信息,并保存在data11.txt文件中。

(2)上机:记录本次上机时间,上机类别(如上课、普通上机、上网)。

(3)下机:记录下机时间,并计算上机所用的时间,从机时数中扣除, 并更新data11.txt文件中对应机时。(使用fprintf函数)

课程设计要求:

1.贯彻结构化程序设计思想。

2.用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

3.用户界面中的菜单至少应包括“录入学生信息”、“上机”、“下机”和“退出”5项。

4.代码应适当缩进,并给出必要的注释,以增强程序的可读性。

 程序编译:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
void show();//显示主菜单
void add();//录入信息
void sj();//上机
void xj();//下机
void back();//返回主菜单
void ys();//延时
void gx();//更新信息
struct stu
{
 long num;
    char name[30];
    char xibie[50];
    double jishi;
 char sjlx[30];
};
struct stu wo[1];//设置仅有一个元素
struct stu temp;
void bc(struct stu wo[]);//保存
time_t start,end;
int p=0;
void main()
{
 int choose;
 FILE *fp=NULL;
    if((fp=fopen("C://data11.txt","r+"))==NULL)
 {
      FILE *fp1=NULL;fp1=fopen("C://data11.txt","w+");
      fclose(fp1);
 }
    show();
 printf("\t\t====>请选择:");
    scanf("%d",&choose);
    system("cls");
    switch(choose)
 {
     case 0:exit(0);//退出
     break;
     case 1:add();
         back();ys();//添加学生信息
         break;
     case 2:sj();
         back();ys();//上机
         break;
     case 3:xj();
         back();ys();//下机
         break;
  default:printf("选择错误!\n");
   back();ys();
   break;
 }
 fflush(stdin);
    system("cls");

}
void show()
{
  printf("****************************************************\n");
  printf("*   ********************************************   *\n");
  printf("*   *                                          *   *\n");
  printf("*   *         SHEN  HANG                       *   *\n");
  printf("*   *   JI FANG SHANG JI XI TONG               *   *\n");
  printf("*   *                                          *   *\n");
  printf("*   ********************************************   *\n");
  printf("****************************************************\n");
  printf("                      2012~2013                     \n");
  printf("****************************************************\n");
  printf("****************************************************\n");
  printf("*   *  1. 录入学生信息并保存                   *   *\n");
  printf("*   *  2. 上机                                 *   *\n");
  printf("*   *  3. 下机                                 *   *\n");
  printf("*   *  0. 退出                                 *   *\n");
  printf("****************************************************\n");
}
void back()
{
    printf("\t===>按Enter键返回主菜单\n");
}

void ys()
{
 char c='\0',d='\0';
    c=getchar();d=getchar();
    if(c=='\0'||d=='\0')
 {ys(); }
}
void add()
{
 
    printf("请输入学生学号:\n");
    scanf("%ld",&temp.num);
    printf("请输入学生姓名:\n");
    scanf("%s",temp.name);
    printf("请输入学生系别:\n");
    scanf("%s",temp.xibie);
    printf("请输入机时:\n");
    scanf("%lf",&temp.jishi);
 printf("请输入上机类型:\n");
 scanf("%s",temp.sjlx);
    wo[1]=temp; //写入到数组
    bc(&temp); //写入到文件
 p=1;
}
void sj()
{
 if(p==1)
 {
  start=time(NULL);
  p=2;
 }
 else
 {
  if(p==0)
  {
   printf("请先输入信息\n");
  }
  else
  {
   printf("请先下机\n");
  }
 }
}
void xj()
{
 if(p==2)
 {
  end=time(NULL);
  gx();
  p=3;
 }
 else
 {
  if(p==0)
  {
   printf("请先输入信息\n");
  }
  else
  {
   printf("请先上机\n");
  }
 }
}
void gx()
{
 double t;
 t=difftime(start,end);
    temp.jishi=temp.jishi-t;
    wo[1]=temp;
    bc(&temp);
}
void bc(struct stu *wo)
{
FILE *fp=NULL;
fp=fopen("C://data11.txt","a+");
fwrite(wo,sizeof(struct stu),1,fp);
fclose(fp);
}

搜索更多相关主题的帖子: 课程 C语言 编写程序 设计 
2012-09-07 09:31
快速回复:程序运行不全面,求帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027101 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved