我是一名大二的学生,C语言没学明白,期末要求交一份能用C++6.0运行的学生信息管理系统

求大神帮帮忙,设计一个学生信息管理系统,一步到位的那种,邮箱:1037540225@qq.com,也可加qq唠,先谢谢了,好的话会加分。... 求大神帮帮忙,设计一个学生信息管理系统,一步到位的那种,邮箱:1037540225@qq.com,也可加qq唠,先谢谢了,好的话会加分。 展开
 我来答
帐号已注销
2012-06-23 · TA获得超过105个赞
知道小有建树答主
回答量:261
采纳率:100%
帮助的人:133万
展开全部
#include <stdio.h>
#include <stdlib.h>
#define NULL 0
typedef struct student
{
char clas[20];
char name[20];
char number[20];
int math;
int english;
int computer;
float sum;
float ave;
struct student *next;
}XSSJ;
void freerecord(XSSJ *p)
{
XSSJ *q;
while(p!=NULL)
{
q=p;
p=p->next;
free(q);
}
}
XSSJ *addrecord(XSSJ *p)
{
XSSJ head,*q;
head.next=p;
p=&head;
while(p->next!=NULL)
p=p->next;
while(1)
{
char text[80];
q=(XSSJ *)malloc(sizeof(XSSJ));
if(q==NULL)
return(head.next);
q->next=NULL;
printf("\n请输入学生的班级、姓名、学号和数学、英语、计算机成绩:");
gets(text);
if(text[0]=='\0')
break;
sscanf(text,"%s%s%s%d%d%d",&q->clas,&q->name,&q->number,&q->math,&q->english,&q->computer);

p->next=q;
p=q;
}
return(head.next);
}
XSSJ *createrecord(XSSJ *p)
{
freerecord(p);
return(addrecord(NULL));
}
XSSJ *deleterecord(XSSJ *p)
{
char number[10];
XSSJ *q,head;
printf("\n请输入你要删除的学生学号:\n");
gets(number);
for(head.next=p,q=&head;p!=NULL;p=p->next)
{
if(strcmp(p->number,number)!=0)
q=p;
else
{
q->next=p->next;
free(p);
printf("\n学号为%s的学生成绩已经删除。\n",number);
return(head.next);
}
}
printf("\n没有学号为%s的学生成绩。\n",number);
return(head.next);
}
void searchrecord(XSSJ *p)
{
char number[10];
printf("\n请输入你要查询的学生学号\n");
gets(number);
for(;p!=NULL;p=p->next)
{
if(strcmp(p->number,number)==0)
{
printf("\n班级%s\t姓名%s\t学号%s\t数学%d\t英语%d\t计算机%d\n",p->clas,p->name,p->number,p->math,p->english,p->computer);

}
}
printf("\n没有你要查询的成绩\n");
}
void displayrecord(XSSJ *p)
{
printf("\n班级\t姓名\t学号\t数学\t英语\t计算机\t\n");
for(;p!=NULL;p=p->next)
printf("\n%s\t%s\t%s\t%d\t%d\t%d\n",p->clas,p->name,p->number,p->math,p->english,p->computer);
printf("\n");
}

void displaymenu() //显示菜单
{
printf("\n\n______________菜单___________________\n");
printf("1:创建新纪录\t");
printf("2:添加新纪录\n");
printf("3:删除纪录 \t");
printf("4:查询纪录 \n");
printf("5:显示纪录 \t");
printf("0:退出系统 \n");
printf("\n请选择:");
}

int choiceitem(void)
{
int choice;
char line[80];
do
{
displaymenu();
gets(line);
choice=atoi(line);
}
while(choice<0||choice>6);
return(choice);
}
void main()
{
XSSJ *head=NULL;
int choice;
do
{
choice=choiceitem();
switch(choice)
{
case 1: head=createrecord(head);
break;
case 2: head=addrecord(head);
break;
case 3: head=deleterecord(head);
break;
case 4: searchrecord(head);
break;
case 5: displayrecord(head);
break;
}
}
while(choice!=0);
printf("\n\nEND!");
freerecord(head);
}
hhxy 11tx 06(这个是我的标 不是程序)
这个是我做的 没有名次排序的功能 我没有做出来呢 我也刚学这个 希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郝在益
2012-06-22 · TA获得超过2079个赞
知道小有建树答主
回答量:1496
采纳率:54%
帮助的人:634万
展开全部
这玩意实在是要的人很多啊,去看我的百科,里面有一个list和学生信息管理系统,都是可以的吗,不过建议你用list这个东西,因为这是我后来编写的,基本是没有问题的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guangguang908
2012-06-22 · TA获得超过720个赞
知道答主
回答量:95
采纳率:100%
帮助的人:141万
展开全部
我有!已发!望采纳!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-06-22
展开全部
就不会自己写一个吗?我也是什么都明白,翻着书写完了,可能是程序丑了点儿,老师都怀疑不是我自己写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式