中易网

C#推荐人系统求解

答案:2  悬赏:60  
解决时间 2021-04-28 09:06
  • 提问者网友:先森请一心
  • 2021-04-27 21:41
来游戏添加推荐人系统,有一批推荐人 数字id 信息数据存在一个 文本文件中,其中 a推荐了b ,a是b一级推荐人
b推荐了d ,a是d二级推荐人
d推荐了f ,a是f三级推荐人
若有 f推荐了g ,a是g四级推荐人
a推荐了b a+10金币
a推荐了c a+10金币
b推荐了d b+10金币, a+5金币
d推荐了f d+10金币, b+5金币, a+1金币

问题编写程序(语言不限)通过读取推荐人信息文本文件,计算系统要支付的所有金币数。
最佳答案
  • 二级知识专家网友:茫然不知崩溃
  • 2021-04-27 22:04
#include
#include
#include
#include
#include
#include
using namespace std;
#define max 10
typedef struct node
{
string name;
int money;
struct node *referee;
} game;
struct node *keep[10];
int count=0;
void AddUser()
{
string username;
cout<<"请输入新增加的用户名:";
cin>>username;
for(int i=0;i if(keep[i]->name==username)
{
cout<<"用户名已注册";return ;
}

cout<<"当前存在用户:"< for(int i=0;i cout<<"\tid:"<name<
cout<<"请输入该用户的推荐人的id:";
int id;
cin>>id;
if(id<0||id>count-1)
{
cout<<"id不存在";return ;
}

game *g;
g=(game *)malloc(sizeof(game));
g->name=username;
g->money=0;
g->referee=keep[id];
keep[count++]=g;

int m[]={10,5,1};
int n=0;
while(g->referee!=NULL&&n<3)
{
g=g->referee;
g->money+=m[n++];
}
cout<<"推荐成功!"< }
void ShowMoney()
{
for(int i=0;i {
cout<<"\t用户名:"<name<<" 金币:"<money< }
}
void freeG()
{
for(int i=0;i {
free(keep[i]);
}
}
int main()
{
cout<<"因为没有进行Bug处理,请严格按照提示操作!\n\t按任意键继续!";
getch();
system("cls");

game *g;
g=(game *)malloc(sizeof(game));

cout<<"注册第一个用户!请输入用户名:";
cin>>g->name;
g->referee=NULL;
g->money=0;
keep[count++]=g;

int i;
while(1)
{
system("cls");
printf("1.新建用户\t\t2.查询金币\t\t3.退出\n请选择要进行的操作:");
cin>>i;
if(i==1)
AddUser();
else if(i==2)
ShowMoney();
else if(i==3)
{
freeG();cout<<"欢迎再次使用!"< }
cout<<"按任意键继续!";
getch();
}

return 0;
}
全部回答
  • 1楼网友:温柔刺客
  • 2021-04-27 23:35
下个vs编译器来做开发,学习c#最好找点java和c++看看,c#比较容易,你学过c也又点帮助,也可以直接看c#方面的书,看懂了才会做程序
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息