1.C语言编写一个毕业设计管理系统 急求~
#include /*程序制作 By Wook Chiang 2011.05.23*/#include #include "stdio.h" /*I/O函数*/ #include "stdlib.h" /*其它说明*/ #include "string.h" /*字符串函数*/ #include "conio.h" /*屏幕操作函数*/ #include "mem.h" /*内存操作函数*/ #include "ctype.h" /*字符操作函数*/ #include "alloc.h" /*动态地址分配函数*/ #define N 3 /*定义常数*/ typedef struct z1 /*定义数据结构*/ { char no[11]; char name[15]; int score[N]; float sum; float average; int order; struct z1 *next; }STUDENT; /*以下是函数原型*/ STUDENT *init(); /*初始化函数*/ STUDENT *create(); /*创建链表*/ STUDENT *delete(STUDENT *h); /*删除记录*/ void print(STUDENT *h); /* 显示所有记录*/ void search(STUDENT *h); /*查找*/ void save(STUDENT *h); /*保存*/ STUDENT *load(); /*读入记录*/ void computer(STUDENT *h); /*计算总分和均分*/ STUDENT *insert(STUDENT *h); /*插入记录*/ void append(); /*追加记录*/ void copy(); /*复制文件*/ STUDENT *sort(STUDENT *h); /*排序*/ STUDENT *index(STUDENT *h); /*索引*/ void total(STUDENT *h); /*分类合计*/ int menu_select(); /*菜单函数*/ /******主函数开始*******/ main() { int i; STUDENT *head; /*链表定义头指针*/ head=init(); /*初始化链表*/ clrscr(); /*清屏*/ for(;;) /*无限循环*/ { switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ { /*值不同,执行的函数不同,break 不能省略*/ case 0:head=init();break; /*执行初始化*/ case 1:head=create();break; /*创建链表*/ case 2:head=delete(head);break; /*删除记录*/ case 3:print(head);break; /*显示全部记录*/ case 4:search(head);break; /*查找记录*/ case 5:save(head);break; /*保存文件*/ case 6:head=load(); break; /*读文件*/ case 7:computer(head);break; /*计算总分和均分*/ case 8:head=insert(head); break; /*插入记录*/ case 9:copy();break; /*复制文件*/ case 10:head=sort(head);break; /*排序*/ case 11:append();break; /*追加记录*/ case 12:head=index(head);break; /*索引*/ case 13:total(head);break; /*分类合计*/ case 14:exit(0); /*如菜单返回值为14程序结束*/ } } } /*菜单函数,返回值为整数*/ menu_select() { char *menu[]={"***************MENU***************", /*定义菜单字符串数组*/ " 0. init list", /*初始化*/ " 1. Enter list", /*输入记录*/ " 2. Delete a record from list", /*从表中删除记录*/ " 3. print list ", /*显示单链表中所有记录*/ " 4. Search record on name", /*按照姓名查找记录*/ " 5. Save the file", /*将单链表中记录保存到文件中*/ " 6. Load the file", /*从文件中读入记录*/ " 7. compute the score", /*计算所有学生的总分和均分*/ " 8. insert record to list ", /*插入记录到表中*/ " 9. copy the file to new file", /*复制文件*/ " 10. sort to make new file", /*排序*/ " 11. append record to file", /*追加记录到文件中*/ " 12. index on nomber", /*索引*/ " 13. total on nomber", /*分类合计*/ " 14. Quit"}; /*退出*/ char s[3]; /*以字符形式保存选择号*/ int c,i; /*定义整形变量*/ gotoxy(1,25); /*移动光标*/ printf("press any key enter menu。 \n"); /*压任一键进入主菜单*/ getch(); /*输入任一键*/ clrscr(); /*清屏幕*/ gotoxy(1,1); /*移动光标*/ textcolor(YELLOW); /*设置文本显示颜色为黄色*/ textbackground(BLUE); /*设置背景颜色为蓝色*/ gotoxy(10,2); /*移动光标*/ putch(0xc9); /*输出左上角边框┏*/ for(i=1;i14); /*选择项不在0~14之间重输*/ return c; /*返回选择项,主程序根据该数调用相应的函数*/ } STUDENT *init() { return NULL; } /*创建链表*/ STUDENT *create() { int i; int s; STUDENT *h=NULL,*info; /* STUDENT指向结构体的指针*/ for(;;) { info=(STUDENT *)malloc(sizeof(STUDENT)); /*申请空间*/ if(!info) /*如果指针info为空*/ { printf("\nout of memory"); /*输出内存溢出*/ return NULL; /*返回空指针*/ } inputs("enter no:",info->no,11); /*输入学号并校验*/ if(info->no[0]=='@') break; /*如果学号首字符为@则结束输入*/ inputs("enter name:",info->name,15); /*输入姓名,并进行校验*/ printf("please input %d score \n",N); /*提示开始输入成绩*/ s=0; /*计算每个学生的总分,初值为0*/ for(i=0;iscore[i]); /*输入成绩*/ if(info->score[i]>100||info->score[i]score[i]>100||info->score[i]score[i]; /*累加各门课程成绩*/ } info->sum=s; /*将总分保存*/ info->average=(float)s/N; /*求出平均值*/ info->order=0; /*未排序前此值为0*/ info->next=h; /*将头结点做为新输入结点的后继结点*/ h=info; /*新输入结点为新的头结点*/ } return(h); /*返回头指针*/ } /*输入字符串,并进行长度验证*/ inputs(char *prompt, char *s, int count) { char p[255]; do{ printf(prompt); /*显示提示信息*/ scanf("%s",p); /*输入字符串*/ if(strlen(p)>count)printf("\n too long! \n"); /*进行长度校验,超过count值重输入*/ }while(strlen(p)>count); strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/ } /*输出链表中结点信息*/ void print(。 #include */void page_title(char *menu_item) { printf("\n\n\t\t\t>>> 图 书 管 理 系 统 <<<\n\n %s \n\n",menu_item); }/*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/void return_confirm(void) { printf("\n按任意键返回……\n"); getch(); }/*上面是返回前请求确认的函数,以便在返回前观察结果*/int search_book(void) { int n,i; printf("请输入图书序号:");//这里是输入图书序号的地方 scanf("%d",&i);//这里是输入的序号数保存在变量I里面 for(n=0;n<100;n++) { if(books[n].id==i) { printf("书名:%s\n",books[n].name); printf("作者:%s\n",books[n].author); printf("存数:%d of ",books[n].store); printf("%d\n",books[n].total); return n; } } printf("\n输入错误或无效图书序号.\n"); return -1; }/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返 回数组下标,如果找不到相应记录则提示错误并返回-1。 */void book_out(void) { int n,s,l,d; page_title("借阅图书"); if((n=search_book())!=-1&&books[n].store>0) { printf("请输入借书证序号:"); scanf("%d",&s); printf("请输入可借天数:"); scanf("%d",&d); for(l=0;l<10;l++) { if(books[n].usr[l]==0) { books[n].usr[l]=s; books[n].days[l]=d; break; } } books[n].store--; } if(n!=-1&&books[n].store==0) printf("此书已经全部借出.\n"); return_confirm(); }/*上面是借书的函数,首先调用找书函数*/void book_in(void) { int n,s,l; page_title("归还图书"); if((n=search_book())!=-1&&books[n].store 这是我用的,我同学做的,我也没仔细看,如果可以的话就用这个吧。 #include #include struct stu {char a[10]; int i; int j; int k; int m; int n; int x; }; int sum(struct stu p) {int sum=p.i+p.j+p.k+p.m+p.n; return sum;} main() {struct stu p[6],ac; int l,a[6],b; for(l=0;l{scanf("%s%d%d%d%d%d",p[l].a,&p[l].i,&p[l].j,&p[l].k,&p[l].m,&p[l].n); p[l].x=sum(p[l]);} printf("姓名 英语 计算机原理 统计学原理 政治 C语言 总分 平均分\n"); for(l=0;l{printf("%s %5d%5d%5d%5d%5d%5d%5d\n",p[l].a,p[l].i,p[l].j,p[l].k,p[l].m,p[l].n,p[l].x,p[l].x/5);} for(l=0;lfor(b=0;bif(p[l].x>p[b].x) {ac=p[l];p[l]=p[b];p[b]=ac;} printf("姓名 英语 计算机原理 统计学原理 政治 C语言 总分 平均分\n"); for(l=0;l{printf("%s %5d%5d%5d%5d%5d%5d%5d\n",p[l].a,p[l].i,p[l].j,p[l].k,p[l].m,p[l].n,p[l].x,p[l].x/5);} 参考如下学生信息管理系统的C源代码吧。 #include c语言课程设计_学生成绩管理系统/*学生成绩管理*//*Borland C下编译通过,调试过程中不要输入大数字*/#include \n \n0 退出\n"); switch(getch()) { case '1' : student_new();break; case '2' : student_edit();break; case '3' : student_del();break; case '4' : score_input();break; case '5' : score_edit();break; case '6' : browser();break; case '0' : exit(0); } goto menu; }。 转载请注明出处众文网 » c语言以毕业论文管理系统(C语言编写一个毕业设计管理系统急求~)2.怎么用C语言做学生管理系统设计
3.c语言 学生管理系统设计
4.求份C语言的图书管理系统论文
5.C语言程序设计 学生管理系统 跪求啊
6.急求C语言程序设计论文有一个 职工信息管理系统设计
7.用c语言做一个学生管理系统
8.如何用C语言编写学生信息管理系统
9.C语言学分管理系统源程序