| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 375 人关注过本帖
标题:才开始学C++ 这个关于信息录入的问题 求帮忙
只看楼主 加入收藏
wjfdwr
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-2
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:1 
才开始学C++ 这个关于信息录入的问题 求帮忙
代码如下


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

struct user_info
{
 char name[12];
 unsigned short age;
 unsigned short num;
 char major;
 unsigned short clas;
 unsigned short roomnum;
 char classname;
 unsigned short grade;
};

int main(int argc, char* argv[])
{
 char buff[128];
 struct user_info info;
 FILE *fp;
 int count = 0;

 printf("\n%s\n\n","该程序用于把用户输入的用户信息写入record.dat文件");

 fp = fopen("record.dat", "wb+");
 if(fp == NULL)
 {
  printf("%s", "打开文件record.dat失败,程序结束");
  return -1;
 }

 while(1)
 {
  memset(&info, 0, sizeof(struct user_info));
  printf("%s\n","请输入一个用户的信息(直接回车结束录入):");

  memset(buff, 0, 128);
  printf("姓名:");
  fgets(buff, 128, stdin);
  if(strlen(buff) <= 1)
  {
   printf("%s\n", "结束输入用户信息");
   break;
  }
  memcpy(info.name, buff, strlen(buff) - 1);

  while(1)
  {
   memset(buff, 0, 128);
   printf("年龄:");
   fgets(buff, 128, stdin);
   if(strlen(buff) <= 1)
   {
    printf("%s\n", "年龄数据不能为空,请重新输入");
   }
   else
   {
    info.age = atoi(buff);
    break;
   }
  }

  while(1)
  {
   memset(buff, 0, 128);
   printf("学号:");
   fgets(buff, 128, stdin);
   if(strlen(buff) <= 1)
   {
    printf("%s\n", "学号数据不能为空,请重新输入");
   }
   else
   {
    info.num = atoi(buff);
    break;
   }
  }
  memset(buff, 0, 128);
  printf("专业:");
  fgets(buff, 128, stdin);
  if(strlen(buff) <= 1)
  {
   printf("%s\n", "结束输入用户信息");
   break;
  }

   while(1)
  {
   memset(buff, 0, 128);
   printf("班级:");
   fgets(buff, 128, stdin);
   if(strlen(buff) <= 1)
   {
    printf("%s\n", "班级数据不能为空,请重新输入");
   }
   else
   {
    info.clas = atoi(buff);
    break;
   }
  }

     while(1)
  {
   memset(buff, 0, 128);
   printf("宿舍号:");
   fgets(buff, 128, stdin);
   if(strlen(buff) <= 1)
   {
    printf("%s\n", "宿舍号数据不能为空,请重新输入");
   }
   else
   {
    info.roomnum = atoi(buff);
    break;
   }
  }

    memset(buff, 0, 128);
  printf("课程:");
  fgets(buff, 128, stdin);
  if(strlen(buff) <= 1)
  {
   printf("%s\n", "结束输入用户信息");
   break;
  }

   while(1)
  {
   memset(buff, 0, 128);
   printf("成绩:");
   fgets(buff, 128, stdin);
   if(strlen(buff) <= 1)
   {
    printf("%s\n", "成绩数据不能为空,请重新输入");
   }
   else
   {
    info.grade = atoi(buff);
    break;
   }
  }

 printf("当前成功录入%d个用户信息\n\n", count);

 fclose(fp);

 printf("%s", "按任意键结束程序...");
 getch();

 return 0;
}
  }
结果显示  当先录入0个信息  怎么修改  帮个忙啦
搜索更多相关主题的帖子: 信息 录入 include count 
2012-03-27 22:41
donggegege
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:125
专家分:368
注 册:2011-5-1
收藏
得分:7 
这个好像是c语言写的吧
呵呵
2012-03-28 12:24
快速回复:才开始学C++ 这个关于信息录入的问题 求帮忙
数据加载中...
 
   



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

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