c语言设计学生成绩管理系统,c语言设计软件

#include <stdio.h> #include <string.h> #include <stdlib.h> #include "conio.h" #define LEN sizeof(struct student) typedef struct student { char num[10]; char name[10]; int math,english,computer; int total; struct student *next; }student, *LinkList; void Login(); void weixiu(); void menu() ; int Open(LinkList L); void printstart() ; void Wrong() ; void Nofind() ; void printc(); void getinf(LinkList L); void orderbyzongfen(LinkList L); void deleteall(LinkList L); void Developer(); void Sort(LinkList L); void Save(LinkList L); LinkList dingwei(LinkList L,char findmess[],char nameornum[]); LinkList L; int main(void) {
Login();
return 0; }
/*---------------------------------------------------输入学生成绩并计算-----------------------------------------------------*/ void getinf(LinkList L) { LinkList r,s; r=(LinkList )malloc(LEN); printf("请输入学号:"); scanf("%s",r->num); printf("请输入姓名:"); scanf("%s",r->name); printf("请输入数学成绩:"); scanf("%d",&r->math); printf("请输入英语成绩:"); scanf("%d",&r->english); printf("请输入电脑成绩:"); scanf("%d",&r->computer); r->total=r->math+r->english+r->computer;
s=L->next; L->next=r; r->next=s; printf("追加记录成功!n"); }
/*------------------------------该函数用于定位连表中符合要求的接点,并返回该指针---------------------------*/ LinkList dingwei(LinkList L,char findmess[],char nameornum[]) { LinkList r; if(strcmp(nameornum,"num")==0) { r=L->next; while(r!=NULL) { if(strcmp(r->num,findmess)==0) return r; r=r->next; } r=NULL; return r; } else if(strcmp(nameornum,"name")==0) { r=L->next; while(r!=NULL) { if(strcmp(r->name,findmess)==0) return r; r=r->next; } r=NULL; return r; } else return 0; }
/*---------------------------------------------删除记录--------------------------------------------------*/ void deleteall(LinkList L) {
char ch;
printf("确定您要清除文件里所有学生的信息,这样就无法恢复数据了( Y or N )n"); getchar(); scanf("%c",&ch); if(ch == 'y' || ch == 'Y') { L->next = NULL; printf("文件里学生成绩信息已经被清除!n"); } else return; }
/*-------------------------------------------------排序记录------------------------------------------------------------*/ void Sort(LinkList L) { LinkList p,r,s; p = L;
r = p ->next; s = p ->next->next; while(s != NULL) { while(s ->total < p ->next->total) p = p ->next; if(p ->next == s) { printf("排序已完成!n");return; } else { r ->next = s ->next; s ->next = p ->next; p ->next = s; s = r ->next; p = L; } } printf("排序成功!n");
} /*--------------------------------------------------------- 排名---------------------------------------------------*/
void orderbyzongfen(LinkList L)
{ LinkList p;
p=L; if(p->next!=NULL) { printstart(); printc(); for (p=p->next;p!=NULL;p=p->next) printf("%3st%3st%5dt%9dt%5dt%7dn",p->num,p->name,p->math,p->english,p->computer,p->total); printstart();} else Nofind(); }
/*-----------------------------------------------------------打开文件--------------------------------------------------------*/ int Open(LinkList L) { FILE *fp; LinkList p1,p2; char choose; int count=0;
p1=L; p1->next=NULL; fp=fopen("E:\student_score","rb"); if(fp==NULL) { printf("n=====>提示:文件还不存在,是否创建?(y/n)n"); scanf("%c",&choose); if(choose=='y'||choose=='Y') { fp=fopen("E:\student_score","wb"); printf("文件已创建,请按回车键关闭,然后重新打开软件n");getchar();getchar();exit(0); } else exit(0); }
p2=(LinkList)malloc(LEN); while(fread(p2,LEN,1,fp)) { p2->next=NULL; p1->next=p2; p1=p2; p2=(LinkList)malloc(LEN); count++; } p2->next=NULL; fclose(fp);
return 1; } /*-----------------------------------------------------保存文件----------------------------------------------------*/ void Save(LinkList L) { FILE *fp; LinkList p1; char choose; if(L ->next == NULL) {printf("没有可以保存的信息!n"); return;} printf("确认保存?(y/n)n"); getchar(); scanf("%c",&choose); getchar(); if(choose == 'y' || choose == 'Y') { fp=fopen("E:\student_score","wb"); p1=L; p1=p1->next;
while(p1) { if(fwrite(p1,LEN,1,fp)==1) { p1=p1->next; } else break; } fclose(fp); printf("保存成功!n"); } else printf("没有保存!n"); }
void weixiu() { printf("nnn"); printf("n **************************************************************"); printf("n "); printf("n 欢迎使用成绩管理系统.本系统尚在试用阶段,有问题请与我联系! "); printf("n "); printf("n 我的qq是 365549735 "); printf("n **************************************************************"); }
/*----------------------------------------------------界面函数-------------------------------------------*/ void Login() { system("color 5f"); char ch[23]; int i=0; char mima[45]; L=(LinkList)malloc(LEN); int sel,count=0; weixiu(); printf("nnn"); printf("n请选择您的登陆方式( 1 :管理员 2 :普通用户 )"); scanf("%d",&i); switch(i) { case 1:
system("cls"); weixiu(); printf("tttt用户名:"); scanf("%s",ch); printf("tt密码:"); scanf("%s",mima); if(strcmp(mima,"123456")==0 && strcmp(ch,"何涛")==0) { getchar();printf("n按回车返回主菜单n");getchar(); system("cls"); } else { printf("您的用户名或密码有误,无法登陆!n"); exit(0);
} menu(); Open(L);
for (scanf("%d",&sel);sel!=0;system("cls"),menu(),scanf("%d",&sel)) { switch (sel) { case 1: getinf(L); count++;Save(L);getchar();printf("n按回车返回主菜单n");getchar(); break; case 2:Sort(L);orderbyzongfen(L);getchar();printf("n按回车返回主菜单n");getchar(); break;
case 3: deleteall(L);getchar();printf("n按回车返回主菜单n");getchar(); count--; break;
case 4: Developer();getchar();printf("n按回车返回主菜单n");getchar(); break; case 5: printf("谢谢使用 !有问题可以与我联系nttqq810097972n"); exit(0); break; default: Wrong();getchar();printf("n按回车返回主菜单n");getchar(); } } break;
case 2: system("cls"); Open(L); printf("ntttt1:按高分排序并显示ntttt2:制作人员ntttt3:退出系统n"); printf("请选择你要的操作:");
for (scanf("%d",&sel);sel!=0;system("cls"),menu(),scanf("%d",&sel)) { switch (sel) {
case 1:Sort(L);orderbyzongfen(L);getchar();printf("n按回车返回主菜单n");getchar(); break;
case 2: Developer();getchar();printf("n按回车返回主菜单n");getchar(); break; case 3: printf("谢谢使用 !有问题可以与我联系nttqq810097972n"); exit(0); break; default: Wrong();getchar();printf("n按回车返回主菜单n");getchar(); } } break; break; }
printf("n |************************************************************|");
} void menu() { printf("ntttt欢迎进入成绩管理系统tttnntt1:输入学生成绩并计算ntt2:按高分排序并显示ntt3:删除数据ntt4:制作人员ntt5:退出系统nn选择您要进入的菜单,请输入功能号(0~5):") ; //主界面)
} void printstart() { printf("n-------------------------------------------------------------------n"); } void Wrong() { printf("提示:输入错误!n"); } void Nofind() { printf("提示:没有找到该学生!n"); }
void Developer() { printf("nnnttttt制作人员:ntttttt ------何涛nnn"); }
【c语言设计学生成绩管理系统,c语言设计软件】void printc() { printf("学号t姓名t数学成绩 英语成绩 电脑成绩 总分n");

    推荐阅读