用c语言链表编写一个学生信息系统程序,要求输出学生的学号,姓名,性别,还有三门课比如语,数,外的成绩

用c语言链表编写一个学生信息系统程序,要求输出学生的学号,姓名,性别,还有三门课比如语,数,外的成绩,第1张

/*

用c语言链表编写一个学生信息系统程序,要求输出学生的学号,姓名,性别,还有三门课比如语,数,外的成绩

*/

//FileName: stuinfo.c

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define SERIALLEN 20

#define COURSENUM 3

typedef struct

{

char course[SERIALLEN]

float score

}_courseInfo

typedef struct _stuinfo

{

char serial[SERIALLEN]

char name[SERIALLEN]

char sex[SERIALLEN]

_courseInfo courseInfo[COURSENUM]

struct _stuinfo *next

}stuinfo

int main(int argc, char **argv)

{

stuinfo *head=NULL,*ptr=NULL,*s=NULL

char str[SERIALLEN]

int cycle=1

int i=0

memset(str,0,SERIALLEN)

printf("建立学生信息:\n")

head=(stuinfo *)calloc(1,sizeof(stuinfo))

if(!head)

{

perror("申请空间失败,没有足够内存。")

return -1

}

ptr=head

while(cycle)

{

puts("输入学生学号(0退出):")

scanf("%s",str)

if(strcmp(str,"0")) //如果学号为0,则退出链表的创建

{

s=(stuinfo *)calloc(1,sizeof(stuinfo))

if(!ptr)

{

perror("申请空间失败,没有足够内存。")

return -1

}

memset(s->serial,0,SERIALLEN)

strcpy(s->serial,str)

memset(s->name,0,SERIALLEN)

puts("输入姓名:")

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

memset(s->sex,0,SERIALLEN)

puts("输入性别:")

scanf("%s",s->sex)

for(i=0i<COURSENUMi++)

{

memset(s->courseInfo[i].course,0,SERIALLEN)

puts("输入课程名称:")

scanf("%s",s->courseInfo[i].course)

s->courseInfo[i].score=0.0f

puts("输入课程分数:")

scanf("%f",&(s->courseInfo[i].score))

}

ptr->next=s

ptr=s

}

else cycle=0

}

ptr->next=NULL

ptr=head

head=head->next

free(ptr)

//head=linkSort(head)

ptr=head

printf("学号\t姓名\t性别")

for(i=0i<COURSENUMi++)

printf("\t课程[%d]",i)

printf("\n")

while(ptr!=NULL)

{

printf("%s\t%s\t%s",ptr->serial,ptr->name,ptr->sex)

for(i=0i<COURSENUMi++)

printf("\t%s[%.2f]",ptr->courseInfo[i].course,ptr->courseInfo[i].score)

printf("\n")

ptr=ptr->next

}

return 0

}

C:\mypro>gcc -g -Wall student.c -o student

C:\mypro>student

建立学生信息:

输入学生学号(0退出):

007

输入姓名:

zxsh

输入性别:

male

输入课程名称:

chinese

输入课程分数:

99

输入课程名称:

phy

输入课程分数:

100

输入课程名称:

english

输入课程分数:

98

输入学生学号(0退出):

002

输入姓名:

pipal

输入性别:

female

输入课程名称:

chem

输入课程分数:

98

输入课程名称:

math

输入课程分数:

97

输入课程名称:

chinese

输入课程分数:

100

输入学生学号(0退出):

0

学号姓名性别课程[0] 课程[1] 课程[2]

007 zxshmalechinese[99.00] phy[100.00] english[98.00]

002 pipal female chem[98.00] math[97.00] chinese[100.00]

C:\mypro>

大哥,你在忽悠人吗,这个你也问。

给你写一个模板吧。

先建立一个实体类

class userBean{

private String name

//封装字段

public void setName(String name)

{this.name=name }

public String getName()

{return name}

}

//建立一个类,包含main方法,具体怎么写我忘了

class write{

public static void main(String arg[])

{

userBean user=new UserBean()//实例化一个userbean对象

uesr.setName("user")//可以看作是给你要输出的东西赋值吧。

console.writeln(uset.getName())

}

}

c#很多时候没碰了,但是大体应该是这样的,自己回去改改吧,这些都是很基础的,书上应该有,不应该是你的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8041313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存