(语法)一个学生成绩录入程序分

这是我看了邵发的教程以后跟着做的,下面这个小程序代码主要知识点有:

1、定义结构体

2、用数组存数据

3、用每个函数实现一个功能,合理调配调用

4、字符串判断语句

#include
using namespace std;
struct student							//定义类型为student的一个结构体
{int id;char name[16];int scores[3];
};
student dota[100];						//定义全局数组,作为存储数据源
int chu = 0;
int input(student *s)					//用户输入信息函数
{printf("请输入学生ID:");cin >> s->id;printf("请输入学生姓名:");cin >> s->name;printf("请输入学生语文成绩:");cin >> s->scores[0];printf("请输入学生数学成绩:");cin >> s->scores[1];printf("请输入学生英语成绩:");cin >> s->scores[2];return 0;
}
int add(student* p)						//数据存储函数
{dota[chu] = *p;chu++;return 0;
}
void list_all()							//显示输出函数
{printf("********************************************\n");printf("学生ID\t学生姓名\t语文\t数学\t英语\n");for (int i = 0; i < chu; i++){student* p = &dota[i];printf("  %d  \t  %s\t\t%d\t%d\t%d\n",p->id,p->name,p->scores[0],p->scores[1],p->scores[2]);}printf("********************************************\n");
}
int main()								//主函数
{printf("***************************************************************\n");printf("*********************学生成绩录入查询系统**********************\n");printf("***************************************************************\n");printf("add:新建数据,list:查看数据,cout:查看人数,exit:退出系统\n");char cmdline[128];while (1){printf(">>");cin >> cmdline;if (strcmp(cmdline, "exit") == 0){printf("系统退出...\n");break;}else if (strcmp(cmdline, "add") == 0){student a;input(&a);add(&a);continue;}else if (strcmp(cmdline, "list") == 0){list_all();continue;}else if (strcmp(cmdline, "cout") == 0){printf("现在录入有%d个学生\n", chu);continue;}}system("pause");return 0;
}


 
     
分析:首先程序用struct定义了一个结构变量student,这个结构体内拥有3个变量,int(整形)的变量id,char(字符型)的数组name,int(整形)的数组scores。 

    紧接着在下面定义了一个student型数组dota,有100个元素。以上,我们用结构体student分别表示学生的id,姓名(name),考试成绩(语文,数学,英语)3个元素的数组scores。下面定义的dota数组作为数据源存储用户录入的学生信息。


    下面开始定义函数(每个函数都有自己的作用):

    input(student *s)函数:这个函数的形参是定义了一个指针s,在主函数调用这个函数时实参会传入一个内存地址给指针s,指针s就可以把下面用户输入的信息指向传递给主函数中的内存地址。这个函数的作用是让用户输入信息的,并将值传递给实参内存中。

    add(student* p)函数:这个函数的作用是将用户输入到结构体中的值传递一份给数组dota,从dota[0]开始传递,在将用户每一次录入的信息存完后就会chu++,即从dota[0]变成dota[1]。

    list_all()函数:这是一个void型没有返回值的函数,里面代码意思即将用户录入的信息打印到屏幕上,这里面需要注意的是这里利用了一个for循环,循环的参数里面它首先座条件限制i

    主函数main():主函数主要是将各功能函数进行调用,并设置了一个条件判断循环,在while中,while参数为1,即一直有效,在下面的执行语句中,先让用户输入字符串,然后判断用户输入的是不是我规定的,如果是,就执行下面的内容,这里下面的内容包含很多,比如输入add就调用input()函数和add()函数,等等。

知识点:1、结构体用struct声明.  

        2、数组用来存数据

        3、指针的->用法,当指针代表某个结构体时,可以直接用->加元素来直接访问

        4、字符串判断(strcmp(变量,"字符")==0),这个条件返回值要么是要么不是,是一个true型。

程序运行效果:




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部