| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 628 人关注过本帖
标题:[求助]建立一个学生信息库,程序应提供如下功能
只看楼主 加入收藏
mmnh80
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-7-1
收藏
 问题点数:0 回复次数:3 
[求助]建立一个学生信息库,程序应提供如下功能
哪位大侠能不能将这用C++编的完整代码给我
谢谢~~




1 内容
建立一个学生信息库。程序应提供如下功能:(1)当系统提问时若能回答“E”或“e”,表示要输入新纪录;(2)若回答“L”或“l”时,表示将已有学生数据打印出来(E和L分别表示Enter和List的含义);(3)若回答为“D”或“d”时,系统要求用户输入一个学生学号,并在已有学生信息中删除该学号的学生信息,若不存在该学生,应该给出相应提示;(4)若回答为“I”或“i”表示要插入一个学生,系统提示用户输入该学生的信息。并将该生信息插入到已有学生信息中。注意因考虑到该学生已存在等问题。(D和I分别表示Delete和Insert)。若输入此8个字符以外的字符时,表示是程序终止。

[此贴子已经被作者于2006-5-24 13:14:55编辑过]

搜索更多相关主题的帖子: 学生信息库 学号 
2006-05-24 12:59
Satyr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-4-7
收藏
得分:0 
看版规

C++的博大精深让我叹服
2006-05-24 13:05
mmnh80
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-7-1
收藏
得分:0 


2006-05-24 13:10
dior001
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-4-8
收藏
得分:0 

有些相似 可以看看



#include <stdio.h>
#include <malloc.h>
#include <conio.h>
#include <stdlib.h>


//链表单元定义,链表相关变量
struct student
{
int id;
float score;
struct student *next;
} *head,*pthis;

//输入数据创建链表
void input()
{
struct student *tmp;
printf("\n\n请输入新的学生信息:\n");
do
{
printf("ID\t学生信息\n");//学生信息: 如成绩 学号等 int类型
if((tmp=(struct student*)malloc(sizeof(struct student)))==NULL)
{
printf("\n错误!不能申请所需的内存!\n");
exit(0);
}
scanf("%d\t%f",&tmp->id,&tmp->score);
tmp->next=NULL;
if(tmp->id!=0)
{
if(head==NULL)
{
head=tmp;
pthis=head;
}
else
{
pthis->next=tmp;
pthis=pthis->next;
}
}
}
while(tmp->id!=0);
free(tmp);
}

//列表输出链表中的所有项
void list()
{
printf("\n\n数据列表\n");
printf("ID\t学生信息\n");
printf("-------------------------------\n");
if(head==NULL)
{
printf("错误,没有数据!\n");
return;
}
pthis=head;
while(pthis!=NULL)
{
printf("%d\t%.2f\n",pthis->id,pthis->score);
pthis=pthis->next;
}
}


//插入数据
void insert()
{
int i,p;
struct student *tmp;
if(head==NULL)
{
printf("\n\n数据不存在,无法插入!\n");
return;
}
printf("\n请输入插入点:\n");
scanf("%d",&p);
if(p<0)
{
printf("输入不合法!");
return;
}
printf("\n\n请输入新信息:\nID学生信息\t\n");
if((tmp=(struct student*)malloc(sizeof(struct student)))==NULL)
{
printf("\n错误!不能申请所需的内存!\n");
exit(0);
}
scanf("%d\t%f",&tmp->id,&tmp->score);
tmp->next=NULL;
if(tmp->id!=0)
{
pthis=head;
if(p==0)
{
tmp->next=head;
head=tmp;
}
else
{
for(i=0;i<p-1;i++)
{
if(pthis->next->next==NULL)
{
printf("\n找不到插入点,您输入的数据太大!\n");
return;
}
pthis=pthis->next;
}
tmp->next=pthis->next;
pthis->next=tmp;
}
}
else
{
printf("\n数据无效!\n");
free(tmp);
}
}

//删除数据
void del()
{
int p,i;
struct student *tmp;
if(head==NULL)
{
printf("\n\n没有数据,无法删除!\n");
return;
}
printf("\n\n请输入要删除的学生学号:\n");
scanf("%d",&p);
if(p<0)
{
printf("\n输入不合法!\n");
return;
}
if(p==0)
{
pthis=head;
head=pthis->next;
free(pthis);
pthis=head;
}
else
{
pthis=head;
for(i=0;i<p-1;i++)
{
pthis=pthis->next;
if(pthis->next==NULL)
{
printf("\n\n指定记录不存在,无法删除!\n");
return;
}
}
tmp=pthis->next;
pthis->next=pthis->next->next;
free(tmp);
}
}

//程序主函数
void main()
{
char command=0;
int id=0;
//主循环
do
{
printf("\n\n\t 菜单\n");
printf("-------------------------------\n");
printf("\tE,输入数据\n");
printf("\tL,数据列表\n");
printf("\tI,插入记录\n");
printf("\tD,删除记录\n");
printf("\tG,退出系统\n");
printf("-------------------------------\n");
printf("\t请选择:");
command=getch();

//命令处理
switch(command)
{
case 'E':
if(head==NULL)
{
input();
break;
}
else
{
printf("\n\n学生信息数据已经存在!\n");
break;
}
case 'L':
list();
break;
case 'I':
insert();
break;
case 'D':
del();
break;
}
}
while(command!='G');
}

2006-05-24 14:25
快速回复:[求助]建立一个学生信息库,程序应提供如下功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013548 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved