C语言问题 高手进!

Python011

C语言问题 高手进!,第1张

在这部分代码中我只找到一处错误:

printf("%s of %s",randomRank(),randomColor())

应该为

printf("%c of %s",randomRank(),randomColor())

因为没有genlib.h文件,不好判断还有那里出了问题.

#include "stdio.h"

typedef struct Student

{

char name[32]

int num

int n

Student *next

}

Student *head=NULL

Student *creat()

{

Student *p1,*p2

p1=(Student *)malloc(sizeof(Student))

head=p1

p2=p1

printf("请输入你要添加的学生姓名,以0结束:\n")

scanf("%s", p1->name)

if (p1->name[0]!='0')

{

printf("请输入此学生的学号:\n")

scanf("%d", &p1->num)

p1->n=0

}

else

{

free(p1)p2=NULLp2->next=NULLhead=NULL

return head

}

while (p1->name[0]!='0')

{

p2=p1

p1=p1->next

p1=(Student *)malloc(sizeof(Student))

printf("请输入你要添加的学生姓名,以0结束:\n")

scanf("%s", p1->name)

if (p1->name[0]!='0')

{

printf("请输入此学生的学号:\n")

scanf("%d", p1->num)

p1->n=0

}

p2->next=p1

}

free(p1)

p2->next=NULL

return head

}

void Count(Student *head,int num)

{

int c

if (head==NULL)

{

printf("对不起没有创建\n")

}

if (head->num==num)

{

printf("找到他的信息:\n")

printf("姓名:%s\n", head->name)

printf("学号:%d", head->num)

printf("曾你参加跑步%d次跑步\n", head->n)

printf("是否签到:1->是\t2->否\n")

scanf("%c", &c)

if (c==1)

{

head->n=head->n+1

printf("添加成功!\n")

printf("参加了%d跑步\n"", head->n)

}

if (c==2)

{

return

}

}

while (head->num!=num&&head->next!=NULL)

{

head=head->next

if (head->num==num)

{

printf("找到他的信息:\n")

printf("姓名:%s\n", head->name)

printf("学号:%d", head->num)

printf("曾你参加跑步%d次跑步\n", head->n)

printf("是否签到:1->是\t2->否\n")

scanf("%c", &c)

if (c==1)

{

head->n=head->n+1

printf("添加成功!\n")

printf("参加了%d跑步\n"", head->n)

}

if (c==2)

{

return

}

}

}

}

void Run(Student*head ,int num)

{

if (head==NULL)

{

printf("对不起没有创建\n")

}

if (head->num==num)

{

printf("找到他的信息:\n")

printf("姓名:%s\n", head->name)

printf("学号:%d", head->num)

printf("签到次数:%d", head->n)

}

while (head->num!=num&&head->next!=NULL)

{

head=head->next

if (head->num==num)

{

printf("找到他的信息:\n")

printf("姓名:%s\n", head->name)

printf("学号:%d", head->num)

printf("签到次数:%d", head->n)

return

}

else

printf("对不起没有他的数据\n")

}

}

void menu()

{

int q

while (1)

{

printf("----------学生签到系统------------\n")

printf("1->创建学生\t2->查找学生\n")

printf("3->进行签到\t4->退出系统\n")

printf("请输入你的选择:"

scanf("%c", &q)

switch(q)

{

case 1:

{

head=creat()

getchar()

printf("创建成功!\n")

getchar()

clrscr()

}

break

case 2:

{

int m=0

printf("请输入你要查询人的学号:")

scanf("%d", &m)

Run(head,m)

getchar()

getchar()

clrscr()

}

break

case 3:

{

int m=0

printf("请输入你要查询人的学号:")

scanf("%d", &m)

Run(head,m)

getchar()

getchar()

clrscr()

}

break

case 4:

{

return

}

break

}

}

}

int main(int argc, char* argv[])

{

menu()

printf("Hello World!\n")

return 0

}