首页 - 币安交易平台 > 定义包含一个学生信息(编写一个学生类,学生信息包括)

定义包含一个学生信息(编写一个学生类,学生信息包括)

发布于:2022-12-25 作者:沫沫 阅读:14

今天给各位分享定义包含一个学生信息的知识,其中也会对编写一个学生类,学生信息包括进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求C语言答案。定义一个学生结构体,包含学生姓名,学号,性别,年龄

需要存储什么信息,能不能把所要存储的信息清楚的说出来。这样在定义结构体的时候可以确定。

#include

"stdio.h"

int

main()

{

struct

{

char

name[10];//名字

int

num;//学号

char

sex[2];//性别

int

age;//年龄

}student[10];

//printf("%d",sizeof(wchar_t));

int

i;

for(i=0;i10;i++)

{

printf("请输入第%d个学生的信息:名字,学号,性别和年龄:\n",i+1);

scanf("%s%d%s%d",student[i].name,student[i].num,student[i].sex,student[i].age);

}

printf("十个学生的信息如下:\n");

for(i=0;i10;i++)

{

printf("姓名:%s\t学号:%d\t性别:%s\t年龄:%d\n",student[i].name,student[i].num,student[i].sex,student[i].age);

}

return

0;

}

定义一个学生类,包含学号、姓名、平时成绩和考核成绩四个数据成员和以下成员方法(用Python语言):

花了不少时间写的,挺详细的,希望采纳。

# 引入operator模块,用于给集合排序

import operator

# 单行注释用"#",多行注释用  '''注释内容'''

#  定义一个学生类,类名用驼峰命名法

class Student:

    # 构造方法,可用来创建对象格式 def __init__(self,参数) 参数个数自已定义,类型系统自动识别

    def __init__(self, stu_no, name, base_score, exam_score):

        self.stu_no = stu_no  # 对象属性赋值

        self.name = name

        self.base_score = base_score

        self.exam_score = exam_score

    # 定义计算总评函数 定义函数格式 def 函数名(self, 参数),self代表本对象

    def get_last_score(self):

        # return指定返回值,无return表示此函数无返回值

        return self.base_score * 0.3 + self.exam_score * 0.7

    # 类似toString方法,打印对象时,调用对象的该方法

    def __str__(self):

        return '学号:' + self.stu_no + '姓名:' + self.name + ",平时成绩: " + str(self.base_score) + ",考核成绩:" + str(self.exam_score)

# 定义函数,将对象集合写到文件,上面三个函数有缩进,属于Student类的函数,本函数属于全局函数

def print_to_file(path, stu_arr):

    # 打开文件,操作完成后自动关闭文件

    with open(path, 'w') as file:

        # 调用operator给集合排序

        sort_attr = operator.attrgetter('stu_no')  # 指定排序属性

        stu_arr.sort(key=sort_attr)  # 排序

        for stu in stu_list:

            str = stu.__str__()  # 将对象转换为字符串

            file.write(str + '\r\n')  # 将字符串写入文件

# 主函数,运行的入口

if __name__ == '__main__':

    # 创建几个学生对象,按__init__的顺序输入参数

    s1 = Student('1001', 'zhangsan', 31, 69)

    s2 = Student('1003', 'wangwu', 28, 32)

    s3 = Student('1004', 'zhaoliu', 77, 78)

    s4 = Student('1002', 'lisi', 19, 89)

    # 创建集合

    stu_list = [s1, s2, s3, s4]

    # 文件路径

    f = 'd:\\aaa.txt'

    print_to_file(f, stu_list)

求帮助 定义一个学生信息的结构体struct student

#include"stdio.h"

#define SIZE 5

struct stu

{

char name[10];

int no;

int age;

char add[10];

}stu[SIZE];

void readdat();

void writedat();

void change();

main()

{

char k;

printf(" 欢迎进入学生信息管理系统\n");

printf("\n\n 1.学生信息输入系统 ");

printf(" 2.学生信息查询系统\n");

printf(" 3.学生信息修改系统\n\n\n");

began:

printf("\n\n请输入选项:");

scanf("%d",k);

switch(k)

{

case 1: writedat(); break;

case 2: readdat(); break;

case 3: change(); break;

default: goto began;

}

goto began;

while(1);

}

void writedat()

{

FILE *fp;

char i;

printf("\n\n请输入学生的姓名、学号、年龄和地址:\n");

for(i=0;iSIZE;i++)

{

printf("输入%d号学生信息:",i+1);

scanf("%s %d %d %s",stu[i].name,stu[i].no,stu[i].age,stu[i].add);

}

if((fp=fopen("E:\\a.dat","wb"))==NULL)

{

printf("Open Error\n");

return;

}

for(i=0;iSIZE;i++)

{

if(fwrite(stu[i],sizeof(struct stu),1,fp)!=1)

printf("write error\n");

}

fclose(fp);

}

void readdat()

{

FILE *fp;

int i,k,kk;

jixu:

printf("查询全部请输入0,查询单个请输入1:");

scanf("%d",k);

if((fp=fopen("E:\\a.dat","rb"))==NULL)

{

printf("Read Error\n");

return;

}

if(k==0)

{

printf("编号 姓名 学号 年龄 地址\n");

for(i=0;iSIZE;i++)

{

if(fread(stu[i],sizeof(struct stu),1,fp)!=1)

{

if(!feof(fp))

printf("write error\n");

return;

}

printf("%-5d%-8s%-8d%-5d%s\n",i+1,stu[i].name,stu[i].no,stu[i].age,stu[i].add);

}

}

else if(k==1)

{

printf("请输入学生的编号:");

scanf("%d",kk);

printf("编号 姓名 学号 年龄 地址\n");

if(fread(stu[kk-1],sizeof(struct stu),1,fp)!=1)

{

if(!feof(fp))

printf("write error\n");

return;

}

printf("%-5d%-8s%-8d%-5d%s\n",kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);

}

else

{

printf("输入错误!");

goto jixu;

}

fclose(fp);

}

void change()

{

FILE *fp;

char i,kk;

while(1)

{

printf("请输入修改信息学生的编号(0退出):");

scanf("%d",kk);

if(kk==0)

return;

printf("编号 姓名 学号 年龄 地址\n");

if((fp=fopen("E:\\a.dat","rb"))==NULL)

{

printf("Read Error\n");

return;

}

for(i=0;iSIZE;i++)

if(fread(stu[i],sizeof(struct stu),1,fp)!=1)

{

if(!feof(fp))

printf("write error\n");

return;

}

printf("%-5d%-8s%-8d%-5d%s\n",kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);

printf("请输入学生的姓名、学号、年龄和地址:\n");

scanf("%s %d %d %s",stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);

if((fp=fopen("E:\\a.dat","wb"))==NULL)

{

printf("Open Error\n");

return;

}

for(i=0;iSIZE;i++)

{

if(fwrite(stu[i],sizeof(struct stu),1,fp)!=1)

printf("write error\n");

}

fclose(fp);

}

}

C语言编程,定义包含学号、姓名和成绩的学生信息结构类型,完成以下功能:

代码如下:

#include stdio.h

#include stdlib.h

#include memory.h

#define MAX 50

typedef struct {

char stuId[10];

char name[20];

int score;

}Student;

void input(Student students[MAX], int n)

{

int i;

for (i = 0; i  n; i++) {

scanf("%s", students[i].stuId);

scanf("%s", students[i].name);

scanf("%d", students[i].score);

}

}

void sort(Student students[MAX], int n)

{

int i, j;

Student temp;

for (i = 0; i  n - 1; i++) {

for (j = 0; j  n - i - 1; j++) {

if (students[j].score  students[j + 1].score) {

memcpy(temp, students[j], sizeof(Student));

memcpy(students[j], students[j + 1], sizeof(Student));

memcpy(students[j + 1], temp, sizeof(Student));

}

}

}

}

void print(Student students[MAX], int n)

{

int i;

for (i = 0; i  n; i++) {

printf("%s %s %d\n", students[i].stuId, students[i].name, students[i].score);

}

}

int main()

{

Student students[MAX];

int n;

scanf("%d", n);

input(students, n);

sort(students, n);

printf("输出:\n");

print(students, n);

system("pause");

return 0;

}

运行结果:

定义包含一个学生信息的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编写一个学生类,学生信息包括、定义包含一个学生信息的信息别忘了在本站进行查找喔。

二维码

扫一扫关注我们

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件至举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签: #定义包含一个学生信息

相关文章

发表评论