急求设计一个学生成绩管理系统 c语言 急!!!!

要求设计一个学生成绩管理系统,按照功能进行划分模块,并给出相应程序源代码。要求:1.能建立新数据文件,存放学生档案信息及考试成绩;2.能追加新纪录;3.能修改已有记录;4... 要求设计一个学生成绩管理系统,按照功能进行划分模块,并给出相应程序源代码。
要求:1.能建立新数据文件,存放学生档案信息及考试成绩;
2.能追加新纪录;
3.能修改已有记录;
4.能删除指定记录;
5.能查询部分记录;
6.能排序记录;
7.能用菜单方法操作。
展开
 我来答
kissshuai41
2010-07-04 · TA获得超过107个赞
知道答主
回答量:58
采纳率:0%
帮助的人:57.5万
展开全部
这个是最纯最纯的C了,正好我有,希望能给分,谢谢,通过编译
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

typedef struct student
{
char name[10];
int number;
int score;
student* next;
}stu;

stu* create(char f[20])
{
stu* head=NULL;
stu* tail=NULL;
stu* pnewelement=NULL;
char t_name[10];
int t_number,t_score;
char instruction[5];
FILE* fp0=NULL;
head=(stu*)malloc(sizeof(stu));

if(head==NULL)
{
printf("\n申请内存失败,sorry");
return NULL;
}
head->next=NULL;
tail=head;
while(1)
{
pnewelement=(stu*)malloc(sizeof(stu));
if(pnewelement==NULL)
{
printf("\n申请内存失败");
return NULL;
}
printf("\n请输入该同学的姓名:");
fflush(stdin);
gets(t_name);
printf("\n请输入该同学的学号:");
scanf("%d",&t_number);
printf("\n请输入该同学的成绩:");
scanf("%d",&t_score);
strcpy(pnewelement->name,t_name);
pnewelement->number=t_number;
pnewelement->score=t_score;
pnewelement->next=NULL;
tail->next=pnewelement;
tail=pnewelement;

fp0=fopen(f,"at");
if(fp0==NULL)
{
printf("\n出现错误");
exit(0);
}
if(fprintf(fp0,"姓名:%s 学号:%d 成绩:%d\n",pnewelement->name,pnewelement->number,pnewelement->score)==EOF)
{
printf("\n写入失败");
exit(0);
}
fclose(fp0);
printf("\n是否还还要再次输入?(Yes or No)");
fflush(stdin);
gets(instruction);
strupr(instruction);
if(strcmp(instruction,"YES")==0)
{
continue;
}
else if(strcmp(instruction,"NO")==0)
{
break;
}
}
pnewelement=head;
head=head->next;
free(pnewelement);
return head;
}

void disp()
{
char c_read[20];
char name[20];
int number,score;
FILE* f_read=NULL;
printf("\n请输入要读取文件的路径:");
fflush(stdin);
gets(c_read);
f_read=fopen(c_read,"rt");
if(f_read==NULL)
{
printf("\n找不到文件");
return;
}
do
{
fscanf(f_read,"姓名:%s 学号:%d 成绩:%d\n",name,&number,&score);
printf("姓名:%s 学号:%d 成绩:%d\n",name,number,score);
}while(!feof(f_read));
fclose(f_read);
}

void main(void)
{
stu* head=NULL;
char file[20];
char c;
while(1)
{
printf("***************\n");
printf("1.增加学生信息\n");
printf("2.查询学生信息\n");
printf("3.删除学生信息\n");
printf("4.退出\n");
printf("***************");
printf("\n请选择操作类型:");
scanf("%c",&c);
switch(c)
{
case('1'):
printf("\n请输入保存的路径名:");
fflush(stdin);
gets(file);
head=create(file);
break;
case('2'):
disp();
fflush(stdin);
getch();
break;
case('4'):
return;
}
fflush(stdin);
}
}
主得存c
2010-07-04 · TA获得超过1033个赞
知道小有建树答主
回答量:982
采纳率:86%
帮助的人:323万
展开全部
我这学期刚做了这一个学生成绩管理系统! 一样的! 我去找一找! 电脑格过了,不知还在不在!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式