c语言 学生成绩管理系统 内含代码.docx
- 文档编号:28416262
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:45
- 大小:19.28KB
c语言 学生成绩管理系统 内含代码.docx
《c语言 学生成绩管理系统 内含代码.docx》由会员分享,可在线阅读,更多相关《c语言 学生成绩管理系统 内含代码.docx(45页珍藏版)》请在冰豆网上搜索。
c语言学生成绩管理系统内含代码
合肥学院
计算机科学与技术系
综合实验报告
2009~2010学年第一学期
课程
C语言与程序设计
课程设计名称
学生成绩管理系统
专业班级
09网工
(2)班
姓名(学号)
朱亮(0904032028)
二O一0二月九日
附加:
源程序代码
#include
#include
#include
#defineNULL0
typedefstructstudent{
intnumber;
charname[20];
intxd,gs,yy,jsj;
structstudent*next;
}SS;
voidmain()
{
voidManage(SS*head);
voidInquiry(SS*head);
voidPrint();
voidMenu();
inti;
clrscr();
printf("\n\n\n");
printf("\t\tWelcometousesoftofstudent'scoremanage\n");
printf("\n\n\n");
printf("\t\t\t1-Entrance\n");
printf("\n\n");
printf("\t\t\t0-Exit\n");
printf("\n\n\n\n\n\t\t\t\t\t\t\tCopyright@");
printf("Zhuliang\n");
scanf("%d",&i);
if(i==0)exit
(1);
if(i==1){
Menu();
}
else{
printf("Error");
}
getch();
getch();
}
voidMenu()
{inti,choice,j;
charword[20];
intn=0;
SS*head,*p,*q;
FILE*pw;
FILE*fp;
intm;
charpassword[20];
voidMenu1();
clrscr();
head=NULL;
fp=fopen("C:
\\student_score.txt","r");
p=q=head=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
while(!
feof(fp)){
n++;
if(n==1){
head=p;
}
else{
q->next=p;
q=p;
if(n==2){
p=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
if(n>2){
p=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
}
}
p->next=NULL;
printf("\t\t\t*-----MainMenu-----*\n");
printf("\t\t\t*1-Manage*\n");
printf("\t\t\t*2-Inquiry*\n");
printf("\t\t\t*3-Print*\n");
printf("\t\t\t*");
for(i=1;i<=19;i++){
printf("-");
}
printf("*\n");
printf("\t\t\t0-Eixt");
printf("\n");
for(j=1;j<999;j++)
{
scanf("%d",&choice);
if(choice==0)
{clrscr();
printf("\n\n\n");
printf("\t\t\t\tSuretoexit?
\n");
printf("\n\n\n");
printf("\t\t\t\t1-Yes\n");
printf("\n\n");
printf("\t\t\t\t0-Back\n");
scanf("%d",&m);
if(m==0)
{
Menu1();
}
if(m==1)
{
exit
(1);
}
else
{
printf("Error!
\n");
}
}
switch(choice)
{
case1:
pw=fopen("C:
\\password.txt","r");
fscanf(pw,"%s",password);
fclose(pw);
printf("Inputpassword:
");
scanf("%s",word);
if(strcmp(word,password)==0){
Manage(head);break;
}
else{
Menu1();
}
case2:
Inquiry(head);break;
case3:
Print();break;
default:
printf("EnterError!
");break;
}
}
}
voidMenu1()
{inti,choice,j;
intn=0;
intm;
charword[20];
charpassword[20];
SS*head,*p,*q;
voidMenu();
FILE*fp;
FILE*pw;
clrscr();
head=NULL;
fp=fopen("C:
\\student_score.txt","r");
p=q=head=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
while(!
feof(fp)){
n++;
if(n==1){
head=p;
}
else{
q->next=p;
q=p;
if(n==2){
p=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
if(n>2){
p=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
}
}
p->next=NULL;
printf("\t\t\t*-----MainMenu-----*\n");
printf("\t\t\t*1-Manage*\n");
printf("\t\t\t*2-Inquiry*\n");
printf("\t\t\t*3-Print*\n");
printf("\t\t\t*");
for(i=1;i<=19;i++){
printf("-");
}
printf("*\n");
printf("\t\t\t0-Eixt");
printf("\n");
for(j=1;j<999;j++)
{
scanf("%d",&choice);
if(choice==0){
clrscr();
printf("\n\n\n");
printf("\t\t\t\tSuretoexit?
\n");
printf("\n\n\n");
printf("\t\t\t\t1-Yes\n");
printf("\n\n");
printf("\t\t\t\t0-Back\n");
scanf("%d",&m);
if(m==0)
{
Menu1();
}
if(m==1)
{
exit
(1);
}
else
{
printf("Error!
\n");
}
}
switch(choice)
{
case1:
pw=fopen("C:
\\password.txt","r");
fscanf(pw,"%s",password);
printf("Inputpassword:
");
scanf("%s",word);
if(strcmp(word,password)==0){
Manage(head);break;
}
else
printf("Error!
");
Menu();
case2:
Inquiry(head);break;
case3:
Print();break;
default:
printf("EnterError!
");break;
}
}
}
voidManage(SS*head)
{SS*Creat();
SS*Add(SS*point);
SS*Delete(SS*point);
SS*Revise(SS*point);
voidPassword();
voidMenu2();
SS*point;
intchoice,i;
intchoice1;
clrscr();
point=head;
printf("\t\t\t*--------Manage--------*\n");
printf("\t\t\t*1-Creat*\n");
printf("\t\t\t*2-Add*\n");
printf("\t\t\t*3-Delete*\n");
printf("\t\t\t*4-Revise*\n");
printf("\t\t\t*5-Changepassword*\n");
printf("\t\t\t*");
for(i=1;i<=22;i++){
printf("-");
}
printf("*\n");
printf("\t\t\t0-MainMenu");
printf("\n");
for(i=1;i<999;i++)
{
scanf("%d",&choice);
switch(choice)
{
case1:
clrscr();
printf("\t\t\t*");
for(i=1;i<11;i++){
printf("-");
}
printf("*");
printf("\n");
printf("\t\t\t*1-Continue*\n\t\t\t*2-Return*\n");
printf("\t\t\t*");
for(i=1;i<11;i++){
printf("-");
}
printf("*");
printf("\n");
printf("\t\t\tAttention!
\n\t\tItwillbecleanupyourrecord!
\n");
scanf("%d",&choice1);
if(choice1==1){
head=Creat();break;
}
if(choice1==2){
Menu2();
}
else
printf("EnterError!
");
case2:
head=Add(point);break;
case3:
head=Delete(point);break;
case4:
head=Revise(point);break;
case5:
Password();break;
case0:
Menu2();break;
default:
printf("EnterError!
");break;
}
}
}
voidMenu2()
{inti,choice,j;
intn=0;
intm;
SS*head,*p,*q;
FILE*fp;
clrscr();
head=NULL;
fp=fopen("C:
\\student_score.txt","r");
p=q=head=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
while(!
feof(fp)){
n++;
if(n==1){
head=p;
}
else{
q->next=p;
q=p;
if(n==2){
p=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
if(n>2){
p=(SS*)malloc(sizeof(SS));
fscanf(fp,"%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
}
}
p->next=NULL;
printf("\t\t\t*-----MainMenu-----*\n");
printf("\t\t\t*1-Manage*\n");
printf("\t\t\t*2-Inquiry*\n");
printf("\t\t\t*3-Print*\n");
printf("\t\t\t*");
for(i=1;i<=19;i++){
printf("-");
}
printf("*\n");
printf("\t\t\t0-Eixt");
printf("\n");
for(j=1;j<999;j++)
{
scanf("%d",&choice);
if(choice==0)
{
clrscr();
printf("\n\n\n");
printf("\t\t\t\tSuretoexit?
\n");
printf("\n\n\n");
printf("\t\t\t\t1-Yes\n");
printf("\n\n");
printf("\t\t\t\t0-Back\n");
scanf("%d",&m);
if(m==0)
{
Menu1();
}
if(m==1)
{
exit
(1);
}
else
{
printf("Error!
\n");
}
}
switch(choice)
{
case1:
Manage(head);break;
case2:
Inquiry(head);break;
case3:
Print();break;
default:
printf("EnterError!
");break;
}
}
}
SS*Creat()
{SS*head,*p,*q;
FILE*fp;
intn=0,i;
head=NULL;
fp=fopen("C:
\\student_score.txt","w");
p=q=(SS*)malloc(sizeof(SS));
printf("Input:
numbernameLinearalgebraHighermathEnglishComputer\n");
scanf("%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
while(p->number!
=0){
n++;
if(n==1){
head=p;
fprintf(fp,"%d%s%d%d%d%d",q->number,q->name,q->xd,q->gs,q->yy,q->jsj);
}
else{
q->next=p;
q=p;
if(n==2){
p=(SS*)malloc(sizeof(SS));
scanf("%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
if(n>2){
fprintf(fp,"%d%s%d%d%d%d",p->number,p->name,p->xd,p->gs,p->yy,p->jsj);
p=(SS*)malloc(sizeof(SS));
scanf("%d%s%d%d%d%d",&p->number,p->name,&p->xd,&p->gs,&p->yy,&p->jsj);
}
}
}
q->next=NULL;
fclose(fp);
clrscr();
printf("CreatSuccessfully!
\n");
printf("\t\t\t*--------Manage--------*\n");
printf("\t\t\t*1-Creat*\n");
printf("\t\t\t*2-Add*\n");
printf("\t\t\t*3-Delete*\n");
printf("\t\t\t*4-Changepassword*\n");
printf("\t\t\t*");
for(i=1;i<=22;i++){
printf("-");
}
printf("*\n");
printf("\t\t\t0-MainMenu");
printf("\n");
returnhead;
}
SS*Add(SS*point)
{SS*p,*q,*a;
FILE*fp;
inti;
intnum;
p=point;
while(p!
=NULL)
{
if(p->next==NULL){
num=p->number;
break;
}
else
{p=p->next;
}
}
num++;
fp=fopen("C:
\\student_score.txt","r+");
fseek(fp,0L,2);
a=(SS*)malloc(sizeof(SS));
printf("Input:
nameLinearalgebraHighermathEnglishComputer\n");
scanf("%s%d%d%d%d",a->name,&a->xd,&a->gs,&a->yy,&a->jsj);
a->number=num;
fprintf(fp,"%d%s%d%d%d%d",a->number,a->name,a->xd,a->gs,a->yy,a->jsj);
fclose(fp);
p=q=point;
p=p->next;
if(a->number
a->next=point;
point=a;
}
else{
while(p!
=NULL)
{if(a->number
{q->next=a;
a->next=p;
break;
}
else
{q=p;
}p=p->next;
}
if(q->next==NULL){
q->next=a;
a->next=NULL;
}
}
clrscr();
printf("AddSuccessfully!
\n");
printf("\t\t\t*--------Manage--------*\n");
printf("\t\t\t*1-Creat*\n");
printf("\t\t\t*2-Add*\n");
printf("\t\t\t*3-Delete*\n");
printf("\t\t\t*4-Changepassword*\n");
printf("\t\t\t*");
for(i=1;i<=22;i++){
printf("-");
}
printf("*\n");
printf("\t\t\t0-MainMenu");
printf("\n");
returnpoint;
}
SS*Delete(SS*point)
{SS*p,*q,*a;
intnum;
inti;
intj=1;
FILE*fp;
p=q=point;
p=p->next;
printf("Inputthenumber:
\n");
scanf("%d",&num);
if(point->number==num)
{point=point->next;
a=point;
point->number=j;
while(a!
=NULL)
{a=a->next;
j++;
a->number=j;
}
}
else{
while(p!
=NULL){
if(p->number==num){
q->next=p->next;
a=q->next;
a->number=num;
while(a!
=NULL)
{a=a->next;
num++;
a->number=num;
}
break;
}
else{
q=p;
p=p->next;
}
if(p->next==NULL){
q->next=NULL;
}
}
}
fp=fopen("C:
\\student_score.txt","w");
p=point;
while(p!
=NULL){
fprintf(fp,"%d%s%d%d%d%d",p->number,p->name,p->xd,p->gs,p->yy,p->jsj);
p=p->next;
}
fclose(fp);
clrscr();
printf("DeleteSuccessfully!
\n");
printf("\t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言 学生成绩管理系统 内含代码 语言 学生 成绩管理系统 内含 代码