c语言实习报告(2)

2019-03-27 20:59

printf(\:删除一个学生记录\\n\

printf(\:按姓名查询单个同学信息\\n\ printf(\:按学号排序\\n\ printf(\:浏览全班成绩\\n\ printf(\请选择(A-F):\ scanf(\ getchar();

switch(choice) {

case 'A': Student_Insert(); break; case 'B': Student_Modify(); break; case 'C': Student_Delete(); break; case 'D': Student_Select(); break; case 'E': Student_SortByID();break; case 'F': Student_Display(); break; case 'G': exit(0); }

IO_WriteInfo(); } }

2、Tol函数

Tol函数的功能是求学生总成绩,在求总成绩时会调用,但不会出现在主函数中。

/*求总成绩*/

float Tol(struct Student stu) {

return (stu.Math+stu.English+stu.Physics); }

3、Students_SearchByIndex函数

该函数的功能是来输入的学号来找到数组的下标,从而找到该学号对应的结构体的信息。不会在主函数中出现,但会被其他函数调用。

/*通过学号返回数组下标*/

int Student_SearchByIndex(char id[])

{ int i;

for (i=0;i

if (strcmp(students[i].ID,id)==0) return i;

return -1; }

4、Students_SearchByName函数

该函数的功能是来输入的姓名来找到数组的下标,从而找到该姓名对应

- 6 -

的结构体的信息。不会在主函数中出现,但会被其他函数调用。 /*通过姓名返回数组下标*/

int Student_SearchByName(char name[]) { int i;

for (i=0;i

if(strcmp(students[i].Name,name)==0) return i; return -1; }

5、Students_DisplaySingle函数

该函数的功能是来显示单个学生的信息,不会在主函数中出现,但会被其他函数调用。

/*显示单条学生记录*/

void Student_DisplaySingle(int index)

{

printf(\学号\姓名\年龄\数学\英语\物理\总成绩\

printf(\

printf(\ndex].Name,students[index].Age,students[index].Math,students[index].English,students[index].Physics,students[index].Total);

}

6、Students_Insert函数

该函数的功能是来插入学生的信息(也可以说的登记学生的信息),它有调用Tol函数来实现求总成绩的功能。还有一个小功能,就是他可以避免重复输入学号,是通过循环来实现的。该函数在主函数中有出现。 /*插入学生信息*/ void Student_Insert() {

int i; while(1) {

printf(\请输入学号:\

scanf(\ getchar();

printf(\请输入姓名:\

scanf(\ getchar();

printf(\请输入年龄:\

scanf(\ getchar();

printf(\请输入数学:\

- 7 -

scanf(\ getchar();

printf(\请输入英语:\

scanf(\ getchar();

printf(\请输入物理:\

scanf(\ getchar();

students[num].Total=Tol(students[num]); /*判断是否输入了相同学号*/

for (i=0;i

if (strcmp(students[i].ID,students[num].ID)==0) {

printf(\有相同学号\ break; } }

if (i==num) num++; printf(\是否继续?(Y/N)\ if (getchar()=='N') {

break; } } }

7、Students_Modify函数

该函数的功能是用来修改学生的信息,要求输入学号时,它通过调用Students_SearchByIndex函数来找到该学号对应的学生的信息,从而修改信息。同时也调用了Tol函数。它在主函数中有出现。 /*修改学生信息*/ void Student_Modify() {

while(1) {

char id[20]; int index;

printf(\请输入要修改的学生的学号:\ scanf(\ getchar();

index=Student_SearchByIndex(id); if (index==-1) {

- 8 -

printf(\学生不存在!\\n\ } else {

printf(\你要修改的学生信息为:\\n\ Student_DisplaySingle(index); printf(\请输入新值--\\n\ printf(\请输入学号:\

scanf(\ getchar();

printf(\请输入姓名:\

scanf(\ getchar();

printf(\请输入年龄:\

scanf(\ getchar();

printf(\请输入数学:\

scanf(\ getchar();

printf(\请输入英语:\

scanf(\ getchar();

printf(\请输入物理:\

scanf(\ getchar();

students[index].Total=Tol(students[index]); }

printf(\是否继续?(Y/N)\ if (getchar()=='N') {

break; } } }

8、Students_Delete函数

该函数的功能是用来删除没用的学生的信息,它通过调用Students_SearchByIndex函数来找到要删除的学生,然后通过调用Students_DisplaySingle函数显示要删除的学生的信息。它在主函数中有出现。 /*删除学生信息*/ void Student_Delete() { int i; while(1)

- 9 -

{

char id[20]; int index;

printf(\请输入要删除的学生的学号:\ scanf(\ getchar();

index=Student_SearchByIndex(id); if (index==-1) {

printf(\学生不存在!\\n\ } else {

printf(\你要删除的学生信息为:\\n\ Student_DisplaySingle(index); printf(\是否真的要删除?(Y/N)\ if (getchar()=='Y') {

for (i=index;i

students[i]=students[i+1]; }

num--; }

getchar(); }

printf(\是否继续?(Y/N)\ if (getchar()=='N') {

break; } } }

9、Student_Select函数

该函数的功能是用来按姓名查找学生的信息。不在主函数中出现。 /*按姓名查询*/ void Student_Select() {

while(1) {

char name[20]; int index;

- 10 -


c语言实习报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学三年级地方课程传统文化教案.

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: