c语言redefinition,大佬们怎么解决(本人刚学c语言),代码在下面 'SCORENUM' : macro redefinition see previous definit...

该代码实现了一个学生信息管理系统的各个功能,包括创建学生信息、添加、查找、删除和修改学生信息。系统能存储一定数量的学生姓名、学号、多门课程的成绩及平均成绩,并能进行相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

include

include

include

include

include

define N O

define NUM 1000

define SCORENUM 3

define NAMESIZE 3

struct Student_Info

{ char name[NAMESIZE];

int number;

int score[SCORENUM];

float ave;

} Student [NUM];

Student_Info CreatStudent()

{ Student_Info s;

int Studentlen, namelen,i=0,value=0,flag=1;

for(i=0;i

{ if((Student+i)->name[0]=='\0')

{ Studentlen=i;

break;

}

}

srand(time(0));

while(flag)

{ flag=0;

namelen=rand()%(NAMESIZE-1)+2;

for(i=0;i

{value=rand()%26;

value+=65;

s.name[i]=value;

}

s.name[namelen]='\0';

for(i=0;i

{ if(!strcmp(s.name,Student[i].name))

{flag=1;

}

}

}

flag=1;

while(flag)

{flag=0;

value=rand()&NUM+1;

for(i=0;i

{ if(value==Student[i].number)

{flag=1;

}

}

}

s.number=value;

value=0;

for(i=0;i

{s.score[i]=rand()%100;

value+=s.score[i];

}

s.ave=(float)value/3;

return s;

}

void AddStudent(struct Student_Info s)

{ int i=0;

for (i=0;i

{ if((Student+i)->name[0]=='0')

{ break;

}

}

Student[i]=s;

}

int find (int number)

{ int i=0;

for(i=0;i

{ if((Student+i)->number==number)

{return i;

}

}

return -1;

}

void showAll()

{ int Studentlen,i=0,j=0;

for(i=0;i

{ if((Student+i)->name[0]=='0')

{ Studentlen =i;

break;

}

}

printf("\n共有%d名学生信息\n\n",Studentlen);

for(i=0;i

{ printf("\n***********第%d名学生信息***********\n\n",i+1);

printf("姓名:\t%s\n",(Student+i)->name);

printf("学号:\t%d\n",(Student+i)->number);

for(j=0;j

{ printf("课程%d成绩:\t%d\n",j+1,(Student+i)->score[j]);

}

printf("平均成绩:\t%f\n",(Student+i)->ave);

printf("\n******************************\n\n",i+1);

}

}

void query(int number)

{ int i,j;

i=find(number);

if(i!=-1)

{ printf("\n***********查询学生信息如下:**********\n\n");

printf("姓名:\t%s\n",(Student+i)->name);

printf("学号:\t%d\n",(Student+i)->number);

for(j=0;j

{ printf("课程%d成绩:\t%d\n",j+1,(Student+i)->score[j]);

}

printf("平均成绩:\t%f\n",(Student+i)->ave);

}

else

{printf("\n学号为%d的学生信息不存在\n\n",number);

}

}

void del(int number)

{

int i,j;

i=find(number);

if(i!=-1)

{

for(j=i;j

{(Student+j)=(Student+j+1);

if((Student+j+1)->name[0]=='\0')

{ break;

}

}

printf("\n学号为%d的学生信息已删除\n\n",number);

}

else

{

printf("\n %d \n\n",number);

}

}

void modify(int number)

{

int i,j;

float ave=0;

i=find(number);

if(i!=-1)

{printf("\n输入待修改的学生信息:\n\n");

printf("姓名:\t");

scanf("%s",&((Student+i)->name));

fflush(stdin);

printf(" :\t");

scanf("%d",&((Student+i)->number));

fflush(stdin);

for(j=0;j

{ printf(" %d :\t",j+1);

fflush(stdin);

ave +=(Student+i)->score[j];

}

(Student+j)->ave = ave/SCORENUM;

printf("\n学号为%d的学生信息修改成功\n\n",number);

}

else

{

printf("\n学号为%d的学生信息不存在\n\n",number);

}

}

void main()

{

int i,j,number;

for(i=0;i

{

(Student+i)->name[0]= '\0';

(Student+i)->number = -1;

for(j=0;j

{

(Student+i)->score[j]=-1;

}

(Student+i)->ave =-1;

}

for(i=0;i

{

AddStudent(CreatStudent());

}

showAll();

printf("\n输入需查找的学生学号:");

scanf("%d",&number);

fflush(stdin);

query(number);

printf("\n输入需删除的学生学号:");

scanf("%d",&number);

fflush(stdin);

del(number);

showAll();

printf("\n输入需修改的学生学号:");

scanf("%d",&number);

fflush(stdin);

modify(number);

showAll();

system("pause");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值