| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2157 人关注过本帖
标题:大一学生求助 如何把这段C语言代码改写成C++代码
只看楼主 加入收藏
七点恒
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-6-11
收藏
 问题点数:0 回复次数:3 
大一学生求助 如何把这段C语言代码改写成C++代码
#include<stdio.h>
#include<conio.h>                                      /*清屏*/
#include <stdlib.h>                                    /*显示目录*/
#include<string.h>
#define NUM 100
struct node
{
 int jcbh;      //教材编号
 char jcmc[100];  //教材名称
 char zz[100];    //作者
 char cbs[100];    //出版社
 float cbsj;    //出版时间
 float dj;    //单价
 int dgsl;   //订购数量
}stu[NUM];
struct node temp;  //临时结构体变量
int c=0;    //c是结构体数组的下标 在此为全局变量

void menu();  //定义menu菜单
void input(); //输入数据函数
void sort();  //排序
void find();  //查找(教材编号查找)
void xiugai(); //修改
void del();    //删除
void print(int i);  //输出具体信息

void main()
{
    int h,flag1,flag2,i;   
    char name[20]="xiehu",password[10]="12345";
    char person[20],password1[10];
    system("color 4F");                                                                        /*控制板颜色*/
   printf("     \n");
    printf("     \n");
    printf("     \n");
    printf("         *******************欢迎来到学校教材信息管理系统!********************\n\n");
    printf("         $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    printf("         $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    printf("         $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    printf("         $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    printf("         $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    printf("         $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");
    printf("         -----------------------------------------------------------------------\n");
    printf("                                   制作成员                                     \n");
    printf("                                   组长:曾志豪                                 \n");
    printf("                                   组员:谢虎                                   \n");
    printf("                                         肖开文                                 \n");
    printf("                                         陈亭旭                                 \n");
    printf("                                         陈雨晴                                 \n");
    printf("                                         夏荫荫                                 \n");
    printf("         -----------------------------------------------------------------------\n");

    printf("                                   用户名登陆                                   \n");   
    for(h=0;h!=5;)   
    {
        printf("\t\t\t\t       用户名:");   
        gets(person);
        flag1=strcmp(person,name);
        printf("\t\t\t\t         密码:")
          for (i=0;i<9;i++)
{
        password1[i]=getch();                /*从控制台读取一个字符,但不显示在屏幕上*/
      
        if (password1[i]==8)
        {  i=i-2;
            printf("\b \b");
        }
    else
    {
        if(password1[i]==13) break;
        printf("*");
    }
}
        password1[i]='\0';                   /*字符串的结束符*/
        printf("\n");
        flag2=strcmp(password,password1);
        if(flag1==0 && flag2==0)
        {
            printf("     \n");
            printf("     \n");
            printf("     \n")
          printf("\t\t\t\t   登陆成功!\n\n");
            printf("\t\t\t欢迎进入学校教材信息管理系统\n\n");
            menu();
            break;
        }
        else   
        {
            printf ("\t\t\t      用户名或密码错误!\n\n");   
            printf ("\t\t\t      请注意:您还剩%d次机会!\n\n",4-h);
            h++;
        }
    }
    if (h==5)   
        printf ("对不起,您输入的用户名或密码有误,已被强制退出。\n");
}
void menu()
{
 int select;  //选择标志(1--6间)
 system("cls");
 printf("\t\t\t学员成绩管理系统\n");
 printf("***************************\n");
 printf("*             *            \n");
 printf("*[1]输入数据               \n");
 printf("*[2]查找数据               \n");
 printf("*[3]修改数据               \n");
 printf("*[4]删除数据               \n");
 printf("*[5]数据排序               \n");
 printf("*[6]退出                   \n");
 printf("*             *            \n");
 printf("***************************\n");
 printf("请输入你的选项(1--6):");
 scanf("%d",&select);
 switch(select)  //判断选择
 {
  case 1:input();break;
  case 2:find();break;
  case 3:xiugai();break;
  case 4:del();break;
  case 5:sort();break;
  case 6:exit(0);break;
 }
}
  
void sort()
{
    char r3[8],r4[4],r5[6];
int    i,j,r6,r2;
float r1,r7;
system("cls");
printf("\n\n\n");
printf("\t\t\t************************\n");
printf("\n");
printf("\t\t\t欢迎进入教材单价排序系统\n");
printf("\n");
printf("\t\t\t************************\n");
printf("\n\n\n");
printf("\t\t排序结果如下(单价由低到高):\n");
for(j=0;j<c;j++)
{
    for(i=0;i<(c)-j;i++)
if(stu[i].dj>stu[i+1].dj)
{
    r1=stu[i].dj; stu[i].dj=stu[i+1].dj; stu[i+1].dj=r1;
r6=stu[i].dgsl; stu[i].dgsl=stu[i+1].dgsl; stu[i+1].dgsl=r6;
r2=stu[i].jcbh; stu[i].jcbh=stu[i+1].jcbh; stu[i+1].jcbh=r2;
r7=stu[i].cbsj; stu[i].cbsj=stu[i+1].cbsj; stu[i+1].cbsj=r7;
strcpy(r3,stu[i].cbs); strcpy(stu[i].cbs,stu[i+1].cbs); strcpy(stu[i+1].cbs,r3);
strcpy(r4,stu[i].zz); strcpy(stu[i].zz,stu[i+1].zz); strcpy(stu[i+1].zz,r4);
strcpy(r5,stu[i].jcmc); strcpy(stu[i].jcmc,stu[i+1].jcmc); strcpy(stu[i+1].jcmc,r5);
}
}
for(i=0;i<=c;i++)
{   printf("单价:%.1f\n",stu[i].dj);
    printf("作者:%s\n",stu[i].zz);
    printf("出版社:%s\n",stu[i].cbs);
    printf("教材编号:%d\n",stu[i].jcbh);
    printf("教材名称:%s\n",stu[i].jcmc);
    printf("出版时间:%.1f\n",stu[i].cbsj);
    printf("订购数量:%d\n",stu[i].dgsl);
    printf("\n");}
printf("\n按回车键返回菜单……\n");
getchar();
getchar();
 menu();  
}

void input()  
{
 int i;  //循环变量
 system("cls");  //清屏
 printf("请输入教材的数量:");
 scanf("%d",&c);  //下标C保存多本教材
 c--;
 if(c>NUM)
 {
  printf("最多输入%d本\n",NUM);
  printf("按任意键返回");
  getchar();
  getchar();
  input();  //递归调用
 }
 
 for(i=0;i<=c;i++)  //NUM是一个常量
 {
  printf("\n第%d本教材的编号:",i+1);
  scanf("%d",&stu[i].jcbh);
  printf("第%d本教材的名称:",i+1);
  scanf("%s",stu[i].jcmc);
  printf("第%d本教材的作者:",i+1);
  scanf("%s",stu[i].zz);
  printf("第%d本教材的出版社:",i+1);
  scanf("%s",&stu[i].cbs);
  printf("第%d本教材的出版时间:",i+1);
  scanf("%f",&stu[i].cbsj);
  printf("第%d本教材的单价:",i+1);
  scanf("%f",&stu[i].dj);
  printf("第%d本教材的数量:",i+1);
  scanf("%d",&stu[i].dgsl);
 }
 printf("\n按回车键返回主菜单……\n");
 getchar();
 getchar();
 menu();  
}
void find()
{int jcbh1; //教材的编号
 int flag;  //选择标志
 int i;  //循环变量
     system("cls");  //清屏
    printf("\t\t\t****************^*^**************\n");
    printf("\n");
    printf("\t\t\t﹌﹌﹌﹌﹌⊙·⊙﹌﹌⊙·⊙﹌﹌﹌﹌﹌\n");
    printf("\n");
    printf("\t\t\t¤     欢迎来到信息查找系统        ¤\n");
    printf("\t\t\t            ◇◇           ● \n");
    printf("\t\t\t  ╱▇╲     来找我吧!     ╱▇╲\n");
    printf("\n");
    printf("\t\t\t************************************\n");
    printf("\n\n\n");
  printf("请输入你要查找的教材的编号:");
  scanf("%d",&jcbh1);
  for(i=0;i<=c;i++)
  {if(stu[i].jcbh==jcbh1)
   
   {
    printf("\n==**==**==** %s的教材信息 **==**==**==**==**\n",stu[i].jcmc);
  printf("编号:   %d\n",stu[i].jcbh);
  printf("作者:   %s\n",stu[i].zz);
  printf("出版社:   %s\n",stu[i].cbs);
  printf("出版时间:  %.1f\n",stu[i].cbsj);
  printf("单价:  %.1f\n",stu[i].dj);
  printf("数量:  %d\n",stu[i].dgsl);
   }
  }
 printf("\n按回车键返回主菜单……\n");
 getchar();
 getchar();
 menu();  
}
void xiugai()                                          /*修改数据函数*/
{
  int i,x;
  system("cls");  //清屏
   printf("输入要修改的教材编号:");
  fflush(stdin);
 scanf("%d",&x);
  for(i=0;i<NUM;i++)
  {
     if(stu[i].jcbh==x)
        {
        system("cls");
        printf("\n\t\t输入修改后教材信息\n");
        printf("\n输入教材的编号:");
        fflush(stdin);
        scanf("%u",&stu[i].jcbh);
        printf("\n输入教材的名称:");
        fflush(stdin);
        gets(stu[i].jcmc);
        printf("\n输入教材的作者:");
        fflush(stdin);
        scanf("%f",&stu[i].zz);
        printf("\n输入教材的出版社:");
        fflush(stdin);
        scanf("%f",&stu[i].cbs);
        printf("\n输入教材的出版时间:");
        fflush(stdin);
        scanf("%f",&stu[i].cbsj);
printf("\n输入教材的单价:");
        fflush(stdin);
        scanf("%f",&stu[i].dj);
printf("\n输入教材的数量:");
        fflush(stdin);
        scanf("%f",&stu[i].dgsl);
        printf("\n\n");
        menu();
        break;
       }
  }
  printf("\n按回车键返回主菜单……\n");
 getchar();
 getchar();
 menu();
}
void del()//删除的功能
{  int n,j;
   system("cls");  //清屏
   printf("\t\t\t\t    Welcome!\t\t\t\t\t\t\t\n");
    printf("\t\t\t\t▽▽△△△▽▽\t\t\t\t\t\t\n");
    printf("\t\t\t\t☆信息删除系统☆\t\t\t\t\t\n");
    printf("\t\t\t\t▽▽△△△▽▽\t\t\t\t\t\t\n");
    printf("\n\n");
    printf("\t\t\t删\t\t除\t\t前\t\t\t\n");
    printf("\t\t                                  \n");
    printf("\t\t                       \n");
    printf("\t\t                      ○\n");
    printf("\t\t                       \n");
    printf("\t\t                                  \n");
 printf("请输入教材编号:\n");
 scanf("%d",&n);
 
 for( j=0;j<=c;j++)
 {
  if (stu[j].jcbh==n)
  {
   int i=j;
      while(i++!=c)
   stu[i-1]=stu[i];
  }
 }
 --c;
 menu();//返回主菜单
}
搜索更多相关主题的帖子: 大一学生 include 出版社 C语言 结构体 
2017-06-11 22:44
某一天
Rank: 2
等 级:论坛游民
威 望:1
帖 子:33
专家分:77
注 册:2015-6-15
收藏
得分:0 
C++不是兼容C的嘛
2017-06-13 09:04
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
收藏
得分:0 
这个可以先教材类,将其属性和方法封装起来就行了。然后实例化一个类实例对象,操作实例对象就行了
2017-06-15 10:33
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
收藏
得分:0 
其实修改较大的部分就是结构体变成C++中的类,构造函数和析构函数以及复制构造函数的编写,其他部分变动不大。结构体和C++中类的概念很相似,要是不考虑破环封装的化,基本可以通用。愚解



                                                                 ---------多敲代码
2017-06-16 16:02
快速回复:大一学生求助 如何把这段C语言代码改写成C++代码
数据加载中...
 
   



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

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