鱼C论坛

 找回密码
 立即注册
查看: 2479|回复: 8

C++转为c

[复制链接]
发表于 2016-5-16 21:54:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. template<class T> //构建节点类模板
  5. class Node
  6. {
  7.         public:
  8.                 Node<T>*next;//可省指针
  9.                 string name;
  10.                 T data;
  11.                 long int number;
  12. };
  13. template<class T>
  14. class SavingList
  15. {
  16.         public:
  17.                 SavingList(){};
  18.                 Node<T>*CreatSavingList();
  19.                 void SearchAccount(long int x);
  20.                 Node<T>*DeleteAccount(long int x);
  21.                 Node<T>*InsertAccount(long int x);
  22.                 void Record(long int x,int y);
  23.         private:
  24.                 Node<T>*head;
  25. };
  26. template<class T> //建立已有储户数据
  27. Node<T>*SavingList<T>::CreatSavingList()
  28. {
  29.         head=new Node<T>;//初值
  30.         int k=1;//分配动态空间
  31.         Node<T>*p,*q;
  32.         head->next=NULL;//赋初值
  33.         long int number,Number;
  34.         int data;
  35.         string name;
  36.         cout<<"请输入账户号(八位整数):";
  37.         cin>>number;
  38.         Number=number;
  39.         cout<<"请输入姓名:";
  40.         cin>>name;
  41.         cout<<"请输入账户余额:";
  42.         cin>>data;
  43.         while(number/1e7>=1&&number/1e7<=10)
  44.         {
  45.                 p=new Node<T>;
  46.                 q=new Node<T>;
  47.                 p->number=number;//节点初值
  48.                 p->name=name;
  49.                 p->data=data;
  50.                 p->next=head->next;//将p插入链中
  51.                 head->next=p;
  52.                 cout<<"是否继续输入信息 按1继续输入 按0退出"<<endl;
  53.                 cin>>k;
  54.                 if(k==0)
  55.                         break;
  56.                 cout<<"请输入账户号(八位整数):";
  57.                 cin>>number;
  58.                 q=head->next;
  59.                 while(q)//账号的重复判断
  60.                 {
  61.                         if(q->number==number)
  62.                         {
  63.                                 cout<<"账号已存在!"<<endl;
  64.                                 break;
  65.                         }
  66.                         else
  67.                                 q=q->next;
  68.                 }
  69.                 if(!q)
  70.                 {
  71.                         cout<<"请输入姓名:";
  72.                         cin>>name;
  73.                         cout<<"请输入账户余额:";
  74.                         cin>>data;
  75.                 }
  76.         }
  77.                 return head;

  78. }
  79. template<class T> //查找账户
  80. void SavingList<T>::SearchAccount(long int x)
  81. {
  82.         if(x/1e7<1||x/1e7>10)
  83.         {
  84.                 cout<<"您输入的账户不存在"<<endl;
  85.                 return;
  86.         }
  87.         Node<long>*p;
  88.         p=head;
  89.         while(p!=NULL&&p->number!=x)
  90.         {
  91.                 p=p->next;//向下移位 继续查找
  92.         }
  93.         if(p==NULL)
  94.         {
  95.                 cout<<"您输入的账户未找到"<<endl;
  96.         }
  97.         else
  98.         {
  99.                 cout<<"账户名:  "<<p->name<<endl;
  100.                 cout<<"账户号码:  "<<p->number<<endl;
  101.                 cout<<"账户余额:  "<<p->data<<endl;
  102.         }
  103. }
  104. template<class T> //销户
  105. Node<T>*SavingList<T>::DeleteAccount(long int x)
  106. {
  107.         Node<T>*p,*q;//节点类型
  108.         p=head;
  109.         while(p!=NULL&&p->number!=x)
  110.         {
  111.                 q=p;
  112.                 p=p->next;
  113.         }
  114.         if(p==NULL)
  115.         {
  116.                 cout<<"您输入的账户不存在"<<endl;
  117.         }
  118.         else
  119.         {
  120.                 q->next=p->next;//将q删掉
  121.         }
  122.         return head;
  123. }
  124. template<class T>//开户
  125. Node<T>*SavingList<T>::InsertAccount(long int x)
  126. {
  127.         Node<T>*p,*q;
  128.         q=new Node<T>;
  129.         char w[10];// 名字
  130.         int i;
  131.         p=head;
  132.         q->number=x;
  133.         q->next=p->next;
  134.         p->next=q;//插入q(新的账号)
  135.         cout<<"请输入姓名:";
  136.         cin>>w;
  137.         cout<<"请输入余额:";
  138.         cin>>i;
  139.         q->name=w;
  140.         q->data=i;
  141.         cout<<"您的新账户的信息是:"<<endl;
  142.         cout<<"账户名:  "<<q->name<<endl;
  143.         cout<<"账户号码:  "<<q->number<<endl;
  144.         cout<<"账户名:  "<<q->data<<"元"<<endl;
  145.         return head;
  146. }
  147. template<class T>//存款记录
  148. void SavingList<T>::Record(long int x,int y)
  149. {
  150.         Node<T>*p;
  151.         p=head;
  152.         while(p!=NULL&&p->number!=x)//循环查找P的相同正确值 节点下移
  153.         {
  154.                 p=p->next;
  155.         }
  156.         if(p==NULL)
  157.                 cout<<"你输入的账户不存在"<<endl;
  158.         else
  159.         {
  160.                 p->data=p->data+y;
  161.                 if(p->data<0)
  162.                         cout<<"余额不足 请充值:"<<endl;
  163.                 else
  164.                 {
  165.                         cout<<"目前您的账户信息:"<<endl;
  166.                         cout<<"账户名(八位):"<<p->name<<endl;
  167.                         cout<<"账户号码:"<<p->number<<endl;
  168.                         cout<<"账户余额:"<<p->data<<"元"<<endl;
  169.                 }
  170.         }
  171. }
  172. int Menu()
  173. {
  174.         int n;
  175.         cout<<".....................Menu......................"<<endl;
  176.         cout<<"\t1、查询账户 2、开户\n\n"<<endl;
  177.         cout<<"\t3、支出存储记录 4、销户\n\n"<<endl;
  178.         cout<<"\t5、退出"<<endl;
  179.         cout<<"...............................................";
  180.         cout<<endl;
  181.         do
  182.         {
  183.                 cout<<"请输入你的选择(1-5):\n"<<endl;
  184.                 cin>>n;
  185.         }
  186.         while(n<1||n>5);
  187.         return n;
  188. }
  189. int main()
  190. {
  191.         SavingList<long>T;
  192.         Node<long>*head;
  193.         head=T.CreatSavingList();
  194.         long int x;
  195.         int y,n;
  196.         for(;;)
  197.         {
  198.                 switch(Menu())
  199.                 {
  200.                 case 1:
  201.                 {
  202.                         cout<<"请输入您要查询的账户:";
  203.                         cin>>x;
  204.                         T.SearchAccount(x);
  205.                         cout<<"是否需要继续进行操作?是请输入1,放弃请输入0:";
  206.                         cin>>y;
  207.                         if(y==1)
  208.                         {
  209.                                 cout<<".........................................\n\n\n";
  210.                                 cout<<"\t1、支出存入           2、销户\n\n";
  211.                                 cout<<".........................................\n\n\n";
  212.                                 do
  213.                                 {
  214.                                         cout<<"请输入你选择的操作:";
  215.                                         cin>>n;
  216.                                 }
  217.                                 while(n!=1&&n!=2);
  218.                                 if(n==1)
  219.                                 {
  220.                                         cout<<"请输入你存取的钱数:";
  221.                                         cout<<"存入的钱数在前加“+”,取出的钱数在前加“-”"<<endl;
  222.                                         int a;
  223.                                         cin>>a;
  224.                                         T.Record(x,a);
  225.                                 }
  226.                                 if(n==2)
  227.                                 {
  228.                                         cout<<"销户请输入 1,不进行操作输入 0 !";
  229.                                         int b;
  230.                                         cin>>b;
  231.                                         if(b==1)
  232.                                                 T.DeleteAccount(x);
  233.                                 }
  234.                         }
  235.                 }
  236.                 break;
  237.                 case 2:
  238.                         {
  239.                                 long int c;
  240.                                 Node<long>*q;
  241.                                 q=head->next;

  242.                                 cout<<"请输入您的账号(八位):";
  243.                                 cin>>c;
  244.                                 while(q)
  245.                                 {
  246.                                         if(q->number==c)
  247.                                         {
  248.                                                 cout<<"账号已存在:"<<endl;
  249.                                                 break;
  250.                                         }
  251.                                         else
  252.                                                 q=q->next;
  253.                                 }
  254.                                 if(!q)
  255.                                 {
  256.                                         while(c/1e7<1||c/1e7>10)
  257.                                         {
  258.                                                 cout<<"输入的位数不正确:";
  259.                                                 cin>>c;
  260.                                         }
  261.                                         T.InsertAccount(c);
  262.                                 }
  263.                         }
  264.                         break;
  265.                 case 3:
  266.                         {
  267.                                 long int r;
  268.                                 int t,l;
  269.                                 cout<<"请输入执行操作的账号:";
  270.                                 cin>>r;
  271.                                 cout<<"请输入你存取的钱数:";
  272.                                 cout<<"存入钱数在前加“+”,取出钱数在前加“-”"<<endl;
  273.                                 cin>>t;
  274.                                 T.Record(r,t);
  275.                                 cout<<"继续操作请输入 1,退出输入0:"<<endl;
  276.                                 cin>>l;
  277.                                 while(l==1)
  278.                                 {
  279.                                         cout<<"请输入执行操作的账号:";
  280.                                         cin>>r;
  281.                                         cout<<"请输入你存取的钱数:";
  282.                                         cout<<"存入钱数在前加“+”,取出钱数在前加“-”"<<endl;
  283.                                         cin>>t;
  284.                                         T.Record(r,t);
  285.                                         cout<<"继续操作请输入 1,退出输入0:"<<endl;
  286.                                         cin>>l;
  287.                                 }
  288.                         }
  289.                         break;
  290.                 case 4:
  291.                         {
  292.                                 long int k;
  293.                                 int m;
  294.                                 cout<<"请输入你想要销掉的账户(请选择以上已有的):";
  295.                                 cin>>k;
  296.                                 while(k/1e7<1||k/1e7>9)
  297.                                 {
  298.                                         cout<<"输入的位数不正确:";
  299.                                         cin>>k;
  300.                                 }
  301.                                 T.DeleteAccount(k);
  302.                                 cout<<"继续操作请输入1,退出输入0"<<endl;
  303.                                 cin>>m;
  304.                                 while(m==1)
  305.                                 {
  306.                                         cout<<"请输入你想要销掉的账户(请选择以上已有的):";
  307.                                     cin>>k;
  308.                                         while(k/1e7<1||k/1e7>9)
  309.                                         {
  310.                                                 cout<<"输入的位数不正确,请你确认后再操作!:";
  311.                                                 cin>>k;
  312.                                         }
  313.                                         T.DeleteAccount(k);
  314.                                         cout<<"继续操作请输入1,退出输入0"<<endl;
  315.                                         cin>>m;
  316.                                 }
  317.                         }
  318.                         break;
  319.                 case 5:
  320.                         exit(0);
  321.                 }
  322.         }
  323.         return 0;
  324. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-17 08:41:50 | 显示全部楼层
额,把类改成结构体,cout cin 改成 printf scanf 函数就行了吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-17 08:43:20 | 显示全部楼层
skyseawing 发表于 2016-5-17 08:41
额,把类改成结构体,cout cin 改成 printf scanf 函数就行了吧

还有new delete 改成malloc free函数等一些小细节
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-17 18:41:38 From FishC Mobile | 显示全部楼层
但是结构体里好像没有函数,而且一些函数有this指针,感觉不好改
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-17 18:42:39 From FishC Mobile | 显示全部楼层
skyseawing 发表于 2016-5-17 08:43
还有new delete 改成malloc free函数等一些小细节

能否把具体的修改说一下,我是新手
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-18 17:19:13 | 显示全部楼层
skyseawing 发表于 2016-5-17 08:43
还有new delete 改成malloc free函数等一些小细节
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #define M 1000
  5. typedef struct //构建节点类模板
  6. {
  7.                 Node T *next;//可省指针
  8.                 char name[30];
  9.                 T data;
  10.                 long int number;
  11. };
  12. typedef struct T
  13. struct SavingList
  14. {
  15.                 Node<T>*head;
  16. };
  17. typedef struct T //建立已有储户数据
  18. Node<T>*CreatSavingList()
  19. {
  20.         head=malloc(Node<T>);//初值
  21.         int k=1;//分配动态空间
  22.         Node<T>*p,*q;
  23.         head->next=NULL;//赋初值
  24.         long int number,Number;
  25.         int data;
  26.         char name[30];
  27.         printf("请输入账户号(八位整数):");
  28.         scanf(%8d",&number);
  29.         Number=number;
  30.         printf("请输入姓名:");
  31.         scanf("%s",&name);
  32.         printf("请输入账户余额:");
  33.         scanf("%d",&data);
  34.         while(number/1e7>=1&&number/1e7<=10)
  35.         {
  36.                 p=malloc(Node<T>);
  37.                 q=malloc(Node<T>);
  38.                 p->number=number;//节点初值
  39.                 p->name=name;
  40.                 p->data=data;
  41.                 p->next=head->next;//将p插入链中
  42.                 head->next=p;
  43.                 printf("是否继续输入信息 按1继续输入 按0退出\n");
  44.                 scanf("%d",&k);
  45.                 if(k==0)
  46.                         break;
  47.                 printf("请输入账户号(八位整数):");
  48.                 scanf("%d",&number);
  49.                 q=head->next;
  50.                 while(q)//账号的重复判断
  51.                 {
  52.                         if(q->number==number)
  53.                         {
  54.                                 printf("账号已存在!\n");
  55.                                 break;
  56.                         }
  57.                         else
  58.                                 q=q->next;
  59.                 }
  60.                 if(!q)
  61.                 {
  62.                         printf("请输入姓名:");
  63.                         scanf("%s",&name);
  64.                         printf("请输入账户余额:");
  65.                         scanf("%d",&data);
  66.                 }
  67.         }
  68.                 return head;

  69. }
  70. typedef struct T //查找账户
  71. void SearchAccount(long int x)
  72. {
  73.         if(x/1e7<1||x/1e7>10)
  74.         {
  75.                 printf("您输入的账户不存在\n");
  76.                 return;
  77.         }
  78.         Node<long>*p;
  79.         p=head;
  80.         while(p!=NULL&&p->number!=x)
  81.         {
  82.                 p=p->next;//向下移位 继续查找
  83.         }
  84.         if(p==NULL)
  85.         {
  86.                 printf("您输入的账户未找到\n");
  87.         }
  88.         else
  89.         {
  90.                 printf("账户名: %s \n",p->name);
  91.                 printf("账户号码: %d \n",p->number);
  92.                 printf("账户余额:  %d\n",p->data);
  93.         }
  94. }
  95. typedef struct T //销户
  96. Node<T>*DeleteAccount(long int x)
  97. {
  98.         Node<T>*p,*q;//节点类型
  99.         p=head;
  100.         while(p!=NULL&&p->number!=x)
  101.         {
  102.                 q=p;
  103.                 p=p->next;
  104.         }
  105.         if(p==NULL)
  106.         {
  107.                 printf("您输入的账户不存在\n");
  108.         }
  109.         else
  110.         {
  111.                 q->next=p->next;//将q删掉
  112.         }
  113.         return head;
  114. }
  115. typedef struct T>//开户
  116. Node<T>*InsertAccount(long int x)
  117. {
  118.         Node<T>*p,*q;
  119.         q=new Node<T>;
  120.         char w[10];// 名字
  121.         int i;
  122.         p=head;
  123.         q->number=x;
  124.         q->next=p->next;
  125.         p->next=q;//插入q(新的账号)
  126.         printf("请输入姓名:");
  127.         scanf("%s",&w);
  128.         printf("请输入余额:");
  129.         scanf("%d",&i);
  130.         q->name=w;
  131.         q->data=i;
  132.         printf("您的新账户的信息是:\n");
  133.         printf("账户名:  %s\n",q->name);
  134.         printf("账户号码:  %d\n",q->number);
  135.         printf("账户名:  %d 元\n",q->data);
  136.         return head;
  137. }
  138. typedef struct T//存款记录
  139. void Record(long int x,int y)
  140. {
  141.         Node<T>*p;
  142.         p=head;
  143.         while(p!=NULL&&p->number!=x)//循环查找P的相同正确值 节点下移
  144.         {
  145.                 p=p->next;
  146.         }
  147.         if(p==NULL)
  148.                 printf("你输入的账户不存在\n");
  149.         else
  150.         {
  151.                 p->data=p->data+y;
  152.                 if(p->data<0)
  153.                         printf("余额不足 请充值:\n";
  154.                 else
  155.                 {
  156.                         printf("目前您的账户信息:\n");
  157.                         printf("账户名(八位):%s\n",p->name);
  158.                         printf("账户号码:%d\n",p->number);
  159.                         printf("账户余额:%d元\n",p->data);
  160.                 }
  161.         }
  162. }
  163. int Menu()
  164. {
  165.         int n;
  166.         printf(".....................Menu......................\n");
  167.         printf("\t1、查询账户 2、开户\n\n\n");
  168.         printf("\t3、支出存储记录 4、销户\n\n\n");
  169.         printf("\t5、退出\n");
  170.         printf("...............................................\n");
  171.         do
  172.         {
  173.                 printf("请输入你的选择(1-5):\n\n");
  174.                 scanf("%d",&n;
  175.         }
  176.         while(n<1||n>5);
  177.         return n;
  178. }
  179. int main()
  180. {
  181.         SavingList<long>T;
  182.         Node<long>*head;
  183.         head=T.CreatSavingList();
  184.         long int x;
  185.         int y,n,a,b;
  186.         for(;;)
  187.         {
  188.                 switch(Menu())
  189.                 {
  190.                 case 1:
  191.                 {
  192.                         printf("请输入您要查询的账户:");
  193.                         scanf("%ld",&x);
  194.                         T.SearchAccount(x);
  195.                         printf("是否需要继续进行操作?是请输入1,放弃请输入0:");
  196.                         scanf("%d",&y);
  197.                         if(y==1)
  198.                         {
  199.                                 printf(".........................................\n\n\n");
  200.                                 printf("\t1、支出存入           2、销户\n\n");
  201.                                 printf(".........................................\n\n\n");
  202.                                 do
  203.                                 {
  204.                                         printf("请输入你选择的操作:");
  205.                                         scanf("%d",&n);
  206.                                 }
  207.                                 while(n!=1&&n!=2);
  208.                                 if(n==1)
  209.                                 {
  210.                                         printf("请输入你存取的钱数:");
  211.                                         printf("存入的钱数在前加“+”,取出的钱数在前加“-”\n");
  212.                                         scanf("%d",&a);
  213.                                         T.Record(x,a);
  214.                                 }
  215.                                 if(n==2)
  216.                                 {
  217.                                         printf("销户请输入 1,不进行操作输入 0 !");
  218.                                        
  219.                                         scanf("%d",&b);
  220.                                         if(b==1)
  221.                                                 T.DeleteAccount(x);
  222.                                 }
  223.                         }
  224.                 }
  225.                 break;
  226.                 case 2:
  227.                         {
  228.                                 long int c;
  229.                                 Node<long>*q;
  230.                                 q=head->next;

  231.                                 printf("请输入您的账号(八位):");
  232.                                 scanf("%s",&c);
  233.                                 while(q)
  234.                                 {
  235.                                         if(q->number==c)
  236.                                         {
  237.                                                 printf("账号已存在:\n");
  238.                                                 break;
  239.                                         }
  240.                                         else
  241.                                                 q=q->next;
  242.                                 }
  243.                                 if(!q)
  244.                                 {
  245.                                         while(c/1e7<1||c/1e7>10)
  246.                                         {
  247.                                                 printf("输入的位数不正确:");
  248.                                                 scanf("%s",&c);
  249.                                         }
  250.                                         T.InsertAccount(c);
  251.                                 }
  252.                         }
  253.                         break;
  254.                 case 3:
  255.                         {
  256.                                 long int r;
  257.                                 int t,l;
  258.                                 printf("请输入执行操作的账号:");
  259.                                 scanf("ld",&r);
  260.                                 printf("请输入你存取的钱数:");
  261.                                 printf("存入钱数在前加“+”,取出钱数在前加“-”\n");
  262.                                 scanf("%d",&t);
  263.                                 T.Record(r,t);
  264.                                 printf("继续操作请输入 1,退出输入0:\n");
  265.                                 scanf("%d",&l);
  266.                                 while(l==1)
  267.                                 {
  268.                                         printf("请输入执行操作的账号:");
  269.                                         scanf("%ld",&r);
  270.                                         printf("请输入你存取的钱数:");
  271.                                         printf("存入钱数在前加“+”,取出钱数在前加“-”\n");
  272.                                         scanf("%d",&t);
  273.                                         T.Record(r,t);
  274.                                         printf("继续操作请输入 1,退出输入0:\n");
  275.                                         scanf("%d",&l);
  276.                                 }
  277.                         }
  278.                         break;
  279.                 case 4:
  280.                         {
  281.                                 long int k;
  282.                                 int m;
  283.                                 printf("请输入你想要销掉的账户(请选择以上已有的):");
  284.                                 scanf("%ld",&k);
  285.                                 while(k/1e7<1||k/1e7>9)
  286.                                 {
  287.                                         printf("输入的位数不正确:");
  288.                                         scanf("%ld",&k);
  289.                                 }
  290.                                 T.DeleteAccount(k);
  291.                                 printf("继续操作请输入1,退出输入0\n");
  292.                                 scanf("%d",&m);
  293.                                 while(m==1)
  294.                                 {
  295.                                         printf("请输入你想要销掉的账户(请选择以上已有的):");
  296.                                     scanf("%ld",&k);
  297.                                         while(k/1e7<1||k/1e7>9)
  298.                                         {
  299.                                                 printf("输入的位数不正确,请你确认后再操作!:");
  300.                                                 scanf("%ld",&k);
  301.                                         }
  302.                                         T.DeleteAccount(k);
  303.                                         printf("继续操作请输入1,退出输入0\n");
  304.                                         scanf("%d",&m);
  305.                                 }
  306.                         }
  307.                         break;
  308.                 case 5:
  309.                         exit(0);
  310.                 }
  311.         }
  312.         return 0;
  313. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-18 17:20:02 | 显示全部楼层

我改了,但是不能实现
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-18 21:23:50 | 显示全部楼层
  1. typedef struct node
  2. {
  3.     char name[256];   //string name
  4.     int data;         // T data;   ??
  5.     long int number;
  6.     struct node *next;
  7. }Node;

  8. Node *head = NULL;  // link head

  9. Node *CreatSavingList()
  10. {
  11.     //head=new Node<T>;//初值
  12.     head = (Node *)malloc(sizeof(Node));
  13.     int k=1;//分配动态空间
  14.     Node *p,*q;
  15.     head->next=NULL;//赋初值
  16.     long int number;
  17.     int data;
  18.     char name[256]; //string name;
  19.     //cout<<"请输入账户号(八位整数):";
  20.     printf("请输入账户号(八位整数):\n");
  21.     //cin>>number;
  22.     scanf("%ld", &number);  //只能输入数字
  23.     //Number=number;
  24.     //cout<<"请输入姓名:";
  25.     printf("请输入姓名:\n");
  26.     //cin>>name;
  27.     scanf("%s", name); // 不要输入超过256个字符
  28.     //cout<<"请输入账户余额:";
  29.     printf("请输入账户余额:\n");
  30.     //cin>>data;
  31.     scanf("%d", &data);
  32.     while(number/1e7>=1&&number/1e7<=10)   // ???
  33.     {
  34.         //p=new Node<T>;
  35.         p = (Node *)malloc(sizeof(Node));
  36.         //q=new Node<T>;
  37.         q = (Node *)malloc(sizeof(Node));
  38.         p->number=number;//节点初值
  39.         //p->name=name;
  40.         memcpy(p->name, name, sizeof(p->name));
  41.         p->data=data;
  42.         p->next=head->next;//将p插入链中
  43.         head->next=p;
  44.         //cout<<"是否继续输入信息 按1继续输入 按0退出"<<endl;
  45.         printf("是否继续输入信息 按1继续输入 按0退出\n");
  46.         //cin>>k;
  47.         scanf("%d", &k);
  48.         if(k==0)
  49.             break;
  50.         //cout<<"请输入账户号(八位整数):";
  51.         printf("请输入账户号(八位整数):\n");
  52.         //cin>>number;
  53.         scanf("%ld", &number);
  54.         q=head->next;
  55.         while(q)//账号的重复判断
  56.         {
  57.                 if(q->number == number)
  58.                 {
  59.                     //cout<<"账号已存在!"<<endl;
  60.                     printf("账号已存在\n");
  61.                     break;
  62.                 }
  63.                 else
  64.                     q=q->next;
  65.         }
  66.         if(!q)
  67.         {
  68.             //cout<<"请输入姓名:";
  69.             printf("请输入姓名:\n");
  70.             //cin>>name;
  71.             scanf("%s", name);
  72.             //cout<<"请输入账户余额:";
  73.             printf("请输入账户余额:\n");
  74.             //cin>>data;
  75.             scanf("%d");
  76.         }
  77.     }
  78.     return head;

  79. }
复制代码

先改了这么多,下面大概都是这样的吧, 不过我不太懂C++ 里 <T>是怎么回事,看程序的意思,我就把data 声明称int型的了

评分

参与人数 1荣誉 +8 鱼币 +8 收起 理由
小甲鱼 + 8 + 8 热心鱼油!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-18 21:25:00 | 显示全部楼层
skyseawing 发表于 2016-5-18 21:23
先改了这么多,下面大概都是这样的吧, 不过我不太懂C++ 里 是怎么回事,看程序的意思,我就把data 声明 ...

原谅我比较懒
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 03:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表