24小时热门版块排行榜    

Znn3bq.jpeg
查看: 3282  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

小小一颗鑫

[交流] 【求助】求将c语言改写为C++,求教高人啊!

#include
#include
#include
#include

#define N 3
struct  student
{
char name[10];
char no[10];
char sex;
int  age;
char bnote[100];
};
void print(bool menu)//打印基本信息
{
if (!menu)
{
  printf("学生基本信息录入 ,press 1\n");     
}
else
{
  printf("学生基本信息显示 ,press 2\n");  
  printf("学生基本信息保存 ,press 3\n");  
  printf("学生基本信息删除 ,press 4\n");
  printf("学生基本信息修改 ,press 5\n");
  printf("学生基本信息查询 ,press 6\n");  
}
  printf("退出学生信息系统 ,press 7\n");
}

bool Check(char pas[6])//密码验证
{
FILE *fp;
char ch;
char a[7]={" "};
int i = 0;
if ((fp=fopen("c:\\1.txt","r"))==NULL)
{
  printf("打开文件失败!\n");
  exit(0);
}
    ch=fgetc(fp);
while (ch!=EOF&&i<6)
{
  a = ch;
        ch=fgetc(fp);
  i++;
}
a[6] = '\0';
if (!strcmp(pas,a))
{
  return true;
}
else
{
  printf("密码错误\n");
  return false;
}
fclose(fp);
}

void GetInfo(struct student *arr,int n)//学生基本信息录入
{

for (int i = 0;i {
  printf("输入学生的基本信息:name   no    sex  age   bnote\n");
  scanf("%s %s %c %d %s",arr.name,arr.no,&arr.sex,&arr.age,arr.bnote);
}
}
void Display(struct student* arr,int n)//学生基本信息显示
{
printf("学生信息: Name     NO    Sex   age  Note\n");
for (int i = 0;i {
  printf("%15s%15s%15c%15d%15s\n",arr.name,arr.no,arr.sex,arr.age,arr.bnote);
}
}

void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt
{
FILE * fp;
    fp= fopen("c:\\student.txt","w+");
if (fp == NULL)
{
  printf("文件不存在!\n");
  exit(0);
}

    fwrite(arr,sizeof(struct student)*n,n,fp);
fclose(fp);
}

void Modfiy(struct student* arr,int n)//学生基本信息修改
{
char number[10];
bool flag=false;
char pass[6];
printf("请输入密码:\n");
scanf("%s",pass);
if (Check(pass))
{
  printf("修改学生信息:\n");
  printf("请输入学号:\n");
  scanf("%s",number);
  for (int i =0;i   {
   if (!strcmp(number,arr.no))
   {
    printf("infor:   name   no   sex  age note\n");
    printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no,
     arr.sex,arr.age,arr.bnote);
    printf("please input information:\n");
    scanf("%s%s%c%d%s",arr.name,arr.no,&arr.sex,&arr.age,arr.bnote);
    Save(arr,n);
    flag = true;
   }
  }
  if (flag == false)
  {
   printf("该学生不存在!:\n");
  }
}

}

void Delete(struct student* arr,int n)//学生基本信息删除
{
char number[10];
bool flag=false;
printf("Delete information:\n");
printf("please input the no:\n");
scanf("%s",number);
for (int i =0;i {
  if (!strcmp(number,arr.no))
  {
   strcpy(arr.name," ");
   strcpy(arr.no," ");
   strcpy(arr.bnote," ");

   arr.sex = ' ';
   arr.age = 0;
   Save(arr,n);
   flag = true;
  }
}
if (flag == true)
{
  printf("该学生不存在!:\n");
}
}

void Search(struct student* arr,int n)//学生基本信息查询
{
int temp,i;
bool flag=false;
   printf("---------------通过学号查询,press 1-------------\n");  
   printf("---------------通过姓名查询,press 2-----------\n");  
   printf("---------------通过性别查询,press 3------------\n");  
   printf("---------------通过年龄查询,press 4------------\n");  
   printf("---------------退出,press 5      ------------\n");  
   scanf("%d",&temp);
   switch (temp)
   {
   case 1://按照学号查询
    {
     char num[10];
     printf("请输入学号:\n");
     scanf("%s",num);
     for ( i =0;i      {
      if (!strcmp(num,arr.no))
      {
       printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no,
       arr.sex,arr.age,arr.bnote);
       flag = true;
      }
     }
     if (!flag)
     {
            printf("该学生不存在.\n");
     }
    }
    break;
   case 2://按照名字查询
    {
     char num[10];
     printf("please input name:\n");
     scanf("%s",num);
     for ( i =0;i      {
      if (!strcmp(num,arr.name))
      {
       printf("%12s%12s%12c%12d%12s",arr.name,arr.no,
        arr.sex,arr.age,arr.bnote);
       flag = true;
      }
     }
     if (!flag)
     {
      printf("该学生不存在.\n");
     }
    }
    break;
   case 3://按照性别查询
    {
     char ch;
     printf("请输入性别:\n");
     //scanf("%c",&ch);
     ch = getch();
     for ( i =0;i      {
      if (ch == arr.sex)
      {
       printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no,
        arr.sex,arr.age,arr.bnote);
       flag = true;
      }
     }
     if (!flag)
     {
      printf("t该学生不存在.\n");
     }
    }
    break;
   case 4://按照年龄查询
    {
     char num_age;
     printf("请输入年龄:\n");
     scanf("%d",&num_age);
     for ( i =0;i      {
      if (num_age == arr.age)
      {
       printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no,
        arr.sex,arr.age,arr.bnote);
       flag = true;
      }
     }
     if (!flag)
     {
      printf("该学生不存在.\n");
     }
    }
    break;
   default:
    break;
   }
}

void main()
{
struct student arr[N];
char ps[6];
bool flag =false;
printf("请输入密码:\n");
    scanf("%s",ps);
    flag = Check(ps);
if (flag)
{
  int select;
  print(false);
  scanf("%d",&select);
while (0
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


余泽成(金币+1):辛苦了!中秋愉快! 2010-09-23 18:38:58
简单点,楼主做2个类吧
一个是student类,这个类保存每个student的信息,负责显示和修改信息。
另一个是manager类,这个类维护一个student的数组或者链表,负责存盘和读文件,以及和用户交互。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
7楼2010-09-23 12:12:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

lillian67890

至尊木虫 (文坛精英)


余泽成(金币+1):谢谢参与应助! 2010-09-23 18:36:03
C++兼容C,你的程序可以直接运行,不用改。
2楼2010-09-23 11:01:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小一颗鑫

不是啊,写了这个,我想学C++啊!大哥能帮忙写写不。和同学在约定今天的做出来的啊。
3楼2010-09-23 11:04:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stephenliu89

银虫 (小有名气)


余泽成(金币+1):谢谢参与应助! 2010-09-23 18:36:59
加上 #include
  #include
using namespace std;
scanf函数改为输入流cin >>
printf函数改为输出流cout <<
读入文件改为 ifstream fin ("XX.txt";
fin >>
输入文件改为 ofstream fout ("XXX.txt";
fout <<
这样就是C++的写法啦,哈哈哈
Email:stephenliu1989@163.com
4楼2010-09-23 11:48:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 335求调剂 +13 想上岸呀!! 2026-04-12 13/650 2026-04-12 11:37 by 柴小白
[考研] 电气专硕320求调剂 +6 小麻子111 2026-04-10 6/300 2026-04-12 10:54 by lemon6009
[考研] 286求调剂 +26 Faune 2026-04-06 26/1300 2026-04-12 10:24 by lhj2009
[考研] 一志愿西北工业大学289 085602 +33 yang婷 2026-04-10 34/1700 2026-04-12 08:11 by Art1977
[考研] 305求调剂 +6 77Qi 2026-04-07 6/300 2026-04-12 02:30 by 秋豆菜芽
[考研] 药学305求调剂 +8 玛卡巴卡boom 2026-04-10 8/400 2026-04-12 00:07 by zhouwenxian
[考研] 一志愿211,0703化学305分求调剂 +26 严西西戏 2026-04-06 33/1650 2026-04-11 23:01 by 314126402
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 调剂 +5 文道星台 2026-04-11 5/250 2026-04-11 15:01 by 凯凯要变帅
[考研] 求调剂 +6 archer.. 2026-04-09 8/400 2026-04-11 10:55 by zhq0425
[考研] 调剂 +4 电气300求调剂不 2026-04-08 7/350 2026-04-11 10:44 by 紫曦紫棋
[考研] 化学工程与技术324调剂 +23 孙常华 2026-04-09 25/1250 2026-04-11 00:07 by 骑牛渡寒江
[考研] 071000生物学调剂求助 +17 zzzzwww 2026-04-09 20/1000 2026-04-10 15:55 by 求调剂zz
[考研] 301求调剂 +5 149. 2026-04-10 5/250 2026-04-10 15:45 by 柴小白
[考研] 08工学 309分求调剂 +6 Yin DY 2026-04-08 6/300 2026-04-10 09:18 by Delta2012
[考研] 生物学求调剂 一志愿沪9,326分 +7 刘墨墨 2026-04-06 7/350 2026-04-10 08:11 by kangsm
[考研] 本科211 工科085400 280分求调剂 可跨专业 +3 LZH(等待调剂中 2026-04-09 3/150 2026-04-09 21:29 by wutongshun
[考研] 一志愿厦大生物学332求调剂 +10 池池池池池池 2026-04-08 10/500 2026-04-09 17:10 by 独醉梦孤城
[考研] 1U盾记得记得就 +9 sanjin020722 2026-04-08 10/500 2026-04-09 14:11 by 诗与自由
[考研] 304求调剂 +10 素年祭语 2026-04-06 17/850 2026-04-08 09:05 by 蓝云思雨
信息提示
请填处理意见