C语言问题,困扰很久了

来源:百度知道 编辑:UC知道 时间:2024/07/05 09:24:06
#include<stdio.h>
#include<string.h>

int memnum;
struct mem{
char name[10],gender,birth[10],id[2],ad[10];
int attrib;
}member[25];

void welcome()
{
char code[6];
printf("------------------------------------------------------");
printf("\nWelcome to use Auto Account Register System.\n");
printf("------------------------------------------------------\n\n\n\n");
printf("Please press Enter to Register. \nFor administrators,please input the code, and then press Enter\n");
gets(code);
printf("\n\n\n\n\n\n");
if (!strcmp(code,"cui")) admin();
else reg();
}

reg()
{
printf("------------------------------------------------------\n");
printf("Auto Account Register Sy

第一个问题:
printf("%s\t",member[i].ad);
printf("%s\t",member[i].name);
printf("%c\t",member[i].gender);
printf("%s\t",member[i].birth);
fflush(stdin);
printf("%s\t",member[memnum].id) //此处为何是memnum,应该是i

第二个问题:
struct mem{
char name[10],gender,birth[10],id[2],ad[10];
int attrib;
mem& operator = (const mem & m)
{
strcpy(name, m.name);
gender = m.gender;
strcpy(birth, m.birth);
strcpy(id, m.id);
strcpy(ad, m.ad);
attrib = m.attrib;
}
}member[25];

重载此运算符后,就可以向普通的int类型一样使用=号互换了。
如:
mem a,b,c;
a = b;
b = c;
c = a;