C语言高手快来救命啊!高分

2024-11-29 22:47:03
推荐回答(2个)
回答1:

用C写了一遍你看下行不行.注意不要输入错误了,要按格式,不然会出错.
#include
#include
#include

typedef struct _employee
{
int number;
char * name;
int sex;
int age;
}em;

struct simple
{
char * name;
int age;
};

#define NUM 10
em array[NUM];
int nowCount = 0;

bool delEm(int num)
{
bool flag = false;
for(int i = 0; i < nowCount; i++)
{
if(array[i].number == num)
{
for(int j = i + 1; j < nowCount; ++j)
{
array[j-1] = array[j];

}
flag = true;
--nowCount;
}
}
return flag;
}

bool insert(em e)
{
if(nowCount < NUM)
{
array[nowCount] = e;
++nowCount;
return true;
}
return false;
}

void input(em &e)
{
printf("请输入职工编号:");
scanf("%d", &e.number);
printf("请输入职工姓名:");
e.name = (char*)malloc(15);
memset(e.name, 0, 15);
scanf("%s", e.name);
printf("请输入职工性别(1代表男,0代表女):");
scanf("%d", &e.sex);
printf("请输入职工年龄:");
scanf("%d", &e.age);
printf("\n");
}

void print()
{
printf("\n现在共有%d个职工的信息.\n", nowCount);
for(int i = 0; i < nowCount; ++i)
{
printf("第%d个职工的信息如下:\n", i + 1);
printf("职工序号:%d\n", array[i].number);
printf("职工姓名:%s\n", array[i].name);
printf("职工性别:%s\n", (array[i].sex ? "男" : "女"));
printf("职工年龄:%d\n", array[i].age);
printf("\n");
}
}

void main()
{
bool flag = true;
while(flag)
{
printf("\n");
printf("--------------------菜单---------------------\n");
printf("1.输入职工信息\n");
printf("2.显示现有职工信息\n");
printf("3.删除某职工信息\n");
printf("4.退出\n");
printf("请输入操作代号:");
int choice;
scanf("%d", &choice);
printf("\n");
switch(choice)
{
case 1:
printf("现在共有%d个职工的信息,共可以存%d个,最多还可以输入%d个\n", nowCount, NUM, NUM - nowCount);
if(nowCount == NUM)
{
printf("人数已经达上限%d个.不再接受输入", NUM);
break;
}
em e;
input(e);
insert(e);
break;
case 2:
print();
break;
case 3:
int num;
printf("请输入要删除的职业序号:");
scanf("%d", &num);
if(delEm(num))
printf("删除完成\n");
else
printf("删除失败\n");
break;
case 4:
flag = false;
break;
default:
break;
}
}
}

回答2:


argc是指参数的个数.
argv[]是一个字符串,是指参数
例如:
运行---->cmd---->就可以打开命令行窗口了.
然后用cd去到你的程式所在的目录.
然后输入test.exe c d再按回车.
test.exe是你的这个程式的名字.
c 和d就是参数了.
argc = 3;
argv[0]="test.ext"
argv[1]="c";
argv[2]="d"