| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 318 人关注过本帖
标题:帮忙改一下exit不对,要怎么改呢
只看楼主 加入收藏
syl13140
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-14
结帖率:50%
收藏
已结贴  问题点数:16 回复次数:3 
帮忙改一下exit不对,要怎么改呢
/* student.txt是文本文件,记录班级学生信息 */
/* 程序的功能:添加学生记录,查询班级学生信息 */
#include "stdio.h"
typedef struct student{       /*学生记录的结构体*/
    long id;          /*记录ID*/
    long no;          /*记录学生学号*/
    char name[11];    /*记录学生姓名*/
    char sex[3];         /*记录学生性别*/
    //int  age;         /*记录学生年龄*/
    char nation[11]; /*记录学生民族*/
    char address[21]; /*记录学生家庭所在地*/
    char classes[15];   /*记录学生所在班级*/
    char college[11];   /*记录学生所在学院*/
}ST;
ST a[500];            /*学生结构体数组*/
int size;            /*学生总数*/

void readfile()
 {
    FILE *fp; int i,n; ST *p=a;
    if((fp=fopen("student.txt", "r")) == NULL)
    {printf("can not open file student.txt!\n");
    exit(0); }
    i=0;
    //fscanf(fp,"%*ld%*ld%*s%*s%*s%*s%*s%*s");
    do
    {n=fscanf(fp,"%ld%ld%s%s%s%s%s%s",&p->id,&p->no,p->name,
             p->sex,p->nation,p->address,p->classes,
             p->college);
     p++;i++;
    }while(n>0);
     size=i-1;
     fclose(fp);
}
 void savefile()
 {
    FILE *fp; int i,n; ST *p=a;
    if((fp=fopen("student.txt", "w")) == NULL)
    {printf("can not open file student.txt!\n");
    exit(0);  }
    //fprintf(fp,"序号 学号     姓名   性别 民族     来源地区         班级     学院\n");
    for(i=0;i<size;i++,p++)
    fprintf(fp,"%-4ld %-6ld %-8s %-2s %-8s %-16s %-6s %-6s\n",
             p->id,p->no,p->name,p->sex,p->nation,
             p->address,p->classes,p->college);
     fclose(fp);
}
void display()
 {
    int i; ST *p=a;

    printf("序号 学号     姓名   性别 民族     来源地区         班级     学院\n");
    for(i=0;i<size;i++,p++)
    printf("%-4ld %-6ld %-8s %-2s %-8s %-16s %-6s %-6s\n",
             p->id,p->no,p->name,p->sex,p->nation,
             p->address,p->classes,p->college);
}


 void addnew()
 {
    int i,n; ST *p=a+size;
    printf(" 请输入学号:");
    scanf("%ld",&p->no);
    printf(" 请输入姓名:");
    scanf("%s",p->name);
    printf(" 请输入性别:");
    scanf("%s",p->sex);
    printf(" 请输入民族:");
    scanf("%s",p->nation);
    printf(" 请输入家庭所在地:");
    scanf("%s",p->address);
    printf(" 请输入所在班级:");
    scanf("%s",p->classes);
    printf(" 请输入所在学院:");
    scanf("%s",p->college);
    size++;
    p->id=size;
 }
 
 void query()
 {
   long no; int i;ST *p;
   printf(" 请输入学号:");
   scanf("%ld",&no);
   for(i=0,p=a;i<size;i++,p++)
   if(p->no==no)break;
   if(i<size)
    printf("%-4ld %-6ld %-8s %-2s %-8s %-16s %-6s %-6s\n",
             p->id,p->no,p->name,p->sex,p->nation,
             p->address,p->classes,p->college);
    else printf("无此学生.\n");
   
 }
int inputchoice()     /*选择操作参数*/
{
    int mychoice;
    printf("\n请用键盘键入数字选择:\n");
    printf("1 - 新生报到.\n");
    printf("2 - 显示全体学生.\n");
    printf("3 - 查询.\n");
    printf("4 - 修改.\n");
    printf("5 - 删除.\n");
    printf("6 - 保存.\n");
    printf("0 - 退出系统.\n");
    scanf("%d",&mychoice);
    return mychoice;
}

int main(void)
{
    int choice;
    readfile();
    while((choice=inputchoice())!=0){
      switch(choice){
      case 1:
         addnew( );
         break;
      case 2:
         display( );break;/*列出所有学生信息*/
      case 3:
         query( );
         break;/*查询学生信息*/
         
      case 6:
         savefile( );
         break;/*保存学生信息*/
      default:
        printf("Input Error.");break;
    }
    }
    return 0;
}
搜索更多相关主题的帖子: 记录 long 文本文件 address classes 
2012-12-20 10:59
syl13140
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-12-14
收藏
得分:0 
请高手们指教,谢谢
2012-12-20 11:01
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:8 
感觉很正常啊,是不是没包含exit的头文件stdlib.h啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-20 11:38
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:8 
不加头文件,我的编译器 如果是标准库函数,会有警告,但是不会报错~ ~
2012-12-20 19:45
快速回复:帮忙改一下exit不对,要怎么改呢
数据加载中...
 
   



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

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