收藏 分享(赏)

C程序设计-多功能管理系统new.doc

上传人:dreamzhangning 文档编号:2294975 上传时间:2018-09-09 格式:DOC 页数:16 大小:346.50KB
下载 相关 举报
C程序设计-多功能管理系统new.doc_第1页
第1页 / 共16页
C程序设计-多功能管理系统new.doc_第2页
第2页 / 共16页
C程序设计-多功能管理系统new.doc_第3页
第3页 / 共16页
C程序设计-多功能管理系统new.doc_第4页
第4页 / 共16页
C程序设计-多功能管理系统new.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、华 北 科 技 学 院课程设计说明书(C 程序设计)班级: * 姓名: * 设计题目: 多功能管理系统 设计时间:_2008.9.1_至_2008.9.5 _指导教师: * 评 语:_评阅成绩: 评阅教师: C 程序设计课程设计一、课程设计目的通过C 程序设计课程设计 这一独立实验课程,将我们在C 程序设计中学到的理论知识加以回顾和利用,结合实际需要进行充分的发挥、深化和补充,具有较强的实践性。我们不仅要学好知识,更要用好知识,只有这样的实际设计才能不断的找到不足,避免设计上的遗憾。不仅如此,通过该课程的学习,使我们巩固和加深C 程序设计理论知识,进一步掌握编程技巧和方法,并通过课程设计实践进

2、一步加强我们独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养我们调试程序、综合应用的能力。 二、主要功能模块和结构简图1、结构简图 课程设计系统首页运动员管理系统 字符串运算系统 班主任常用系统退出系统运动员信息显示 运动员数目统计 运动员信息删除 运动员信息添加系统退出 班长选拔 同学课时统计 退出系统多个字符串的排序 字符的大小写转换退出系统字符串的拷贝字符个数的统计字符串的长度计算结束2、功能模块简介(1)运动员信息管理系统:是利用动态链表设计的一个具有显示信息、统计数据、删除及添加信息功能的管理系统。使用者可以通过键盘输入所要存入的运动员信息,输入完毕可选择信息显示

3、来查看已存入的信息,如发现重复输入了信息可选择删除运动员信息,当然如有漏输的信息也可以选择添加信息,另外,不论是存入还是删除、添加,数据统计都会准确的计算出现已存入的信息数目。(2)字符串运算管理系统:是利用指针和字符串相关的一些函数而编辑成的具有排序、统计、长度计算、拷贝及大小写转换功能的管理系统。使用者可按照提示信息来选择自己要执行的操作,完成要执行的任务。(3)班主任常用管理系统:是利用结构体编写具有班长选拔投票记录和课时记录缺勤统计功能的管理系统。班长选拔系统是通过输入被选人姓名而累加票数最终得到票数统计,给出使用者想要的结果。课时记录是通过输入缺勤人姓名,自动算出实际出勤次数显示给使

4、用者。三、源程序#include #include #include #define NULL0#define LEN sizeof(struct athlete)struct athletelong num;char name20;char sex5;float score;struct athlete *next;int n;struct athlete *creat(void)struct athlete *head;struct athlete *p1,*p2;n=0;p1=p2=(struct athlete *)malloc(LEN);printf(“请输入运动员的信息n“);sc

5、anf(“%ld %s %s %f“,head=NULL;while(p1-num!=0)n=n+1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(struct athlete *)malloc(LEN);scanf(“%ld %s %s %f“,p2-next=NULL;return(head);void print(struct athlete *head)struct athlete *p;printf(“n 存入的运动员信息为:n“);p=head;printf(“序号 姓名 性别 得分n“);if(head!=NULL)doprintf(“%-4

6、ld %-6s %-6s %-6.2fn“,p-num,p-name,p-sex,p-score);p=p-next;while(p!=NULL);struct athlete *del(struct athlete *head,long num)struct athlete *p1,*p2;if(head=NULL)printf(“n 链表为空!n“);goto end;p1=head;while(num!=p1-num p1=p1-next;if(num=p1-num)if(p1=head) head=p1-next;else p2-next=p1-next;printf(“您要删除序号为

7、%ld 的运动员信息!n“,num);n=n-1;elseprintf(“未找到序号为%ld 的运动员信息!n“,num);end:;return(head);struct athlete *insert(struct athlete *head,struct athlete *stu)struct athlete *p0,*p1,*p2;p1=head;p0=stu;if(head=NULL)head=p0;p0-next=NULL;elsewhile(p0-nump1-num) p1=p2-next;if(p0-numnum)if(head=p1) head=p0;else p2-next

8、=p0;p0-next=p1;elsep1-next=p0;p0-next=NULL;n=n+1;return(head);void shuchu()struct athlete *head;head=creat();print(head);void tongji()printf(“现存在运动员数目为:%dn“,n);void shanchu()struct athlete *head,*head1;long a;head=creat();print(head);printf(“输入您要删除的运动员序号:“);scanf(“%ld“,head1=del(head,a);print(head1)

9、;void tianjia()struct athlete *head,*b,*head1;head=creat();print(head);printf(“输入您要添加的运动员信息:n“);b=(struct athlete *)malloc(LEN);scanf(“%ld %s %s %f“,head1=insert(head,b);print(head1);void ydyglxt()int x;abc1:printf(“ *n“);printf(“ 运动员管理系统n“);printf(“ 1.运动员信息显示n“);printf(“ 2.运动员数目统计n“);printf(“ 3.运动员

10、信息删除n“);printf(“ 4.运动员信息添加n“);printf(“ 5.退出该系统n“);printf(“ *n“);printf(“选择您要处理的任务:“);scanf(“%d“,switch(x)case 1:shuchu();break;case 2:tongji();break;case 3:shanchu();break;case 4:tianjia();break;case 5:goto end;default:printf(“输入错误请重新输入!n“);goto abc1;end:;sort(char *p) char *temp; int i,j; for(i=0;i

11、=A)a+;else if(*(p+i)=a)b+;else if(*(p+i)=0)c+;else if(*(p+i)= )d+;elsee+;printf(“大写英文字母的个数为:%dn 小写英文字母的个数为:%dn 数字的个数为:%dn 空格的个数为:%dn 其他字符的个数为:%dn“,a,b,c,d,e);void kaobei()char str1100,str2100,*p1,*p2;int i;p1=str1;p2=str2;printf(“请输入字符串 1:n“);scanf(“%s“,p1);printf(“请输入字符串 2:n“);scanf(“%s“,p2);for(i=

12、0;*(p2+i)!=0;i+) *(p1+i)=*(p2+i);*(p1+i)=0;printf(“将第二个字符串拷贝到第一个字符串后的结果为:n“);puts(p1);void dxzhh()char str100,*p;int i;p=str;printf(“请输入一个字符串:n“);scanf(“%s“,p);for(i=0;*(p+i)!=0;i+)if(*(p+i)=A)*(p+i)=*(p+i)+32;else if(*(p+i)=a)*(p+i)=*(p+i)-32;printf(“大小写转换后的字符串为:n“);puts(p);void zfcysglxt()int x;ab

13、c2:printf(“ *n“);printf(“ 字符串运算管理系统n“);printf(“ 1.多个字符串的排序n“);printf(“ 2.字符串的长度计算n“);printf(“ 3.字符串的中字符个数的统计n“);printf(“ 4.字符串的拷贝n“);printf(“ 5.字符串的大小写转换n“);printf(“ 6.退出该系统n“);printf(“ *n“);printf(“选择您要处理的任务:“);scanf(“%d“,switch(x)case 1:paixu();break;case 2:jschd();break;case 3:zifutongji();break;

14、case 4:kaobei();break;case 5:dxzhh();break;case 6:goto end;default:printf(“输入错误请重新输入!n“);goto abc2;end:;struct personchar name15;int count;leader5=“wang“,0,“li“,0,“zhao“,0,“sun“,0,“liu“,0;void bzhxb()int i,j;char leader_name15;printf(“请依次输入被选人姓名:n“);for(i=1;i=15;i+)scanf(“%s“,leader_name);for(j=0;j5

15、;j+)if(strcmp(leader_name,leaderj.name)=0) leaderj.count+;printf(“n“);printf(“选票结果为:n“);for(i=0;i5;i+)printf(“%5s:%dn“,leaderi.name,leaderi.count);struct studentchar name15;int count;student5=“wang“,30,“li“,30,“zhao“,30,“sun“,30,“liu“,30;void keshitongji()int i,j;char absence_name15;printf(“请输入缺席同学姓

16、名:n“);for(i=1;i=5;i+)scanf(“%s“,absence_name);for(j=0;j5;j+)if(strcmp(absence_name,studentj.name)=0) studentj.count-;printf(“n“);printf(“课时统计结果为:n“);for(i=0;i5;i+)printf(“%5s:%dn“,studenti.name,studenti.count);void bzrcyglxt()int x;abc3:printf(“ *n“);printf(“ 班主任常用管理系统n“);printf(“ 1.班长选拔n“);printf(“

17、 2.班级同学课时统计n“);printf(“ 3.退出该系统n“);printf(“ *n“);printf(“选择您要处理的任务:“);scanf(“%d“,switch(x)case 1:bzhxb();break;case 2:keshitongji();break;case 3:goto end;default:printf(“输入错误请重新输入!n“);goto abc3;end:;void main()int x;abc:printf(“ *n“);printf(“ 欢迎使用多功能管理系统n“);printf(“ *n“);printf(“ n“);printf(“ n“);pr

18、intf(“ n“);printf(“ n“);printf(“ *n“);printf(“ *1.运动员信息管理系统*n“);printf(“ *2.字符串运算管理系统*n“);printf(“ *3.班主任常用管理系统*n“);printf(“ *4.退出该系统 *n“);printf(“ *n“);printf(“ n“);printf(“ n“);printf(“ n“);printf(“ n“);printf(“ n“);printf(“ n“);printf(“* n“);printf(“*选择您要进入的系统*n“);printf(“* n“);scanf(“%d“,switch(

19、x)case 1:ydyglxt();break;case 2:zfcysglxt();break;case 3:bzrcyglxt();break;case 4:goto end;default:printf(“输入错误请重新输入!n“);goto abc;end:;getchar();getchar();四、程序运行结果五、总结整个设计经历了将近一周的时间,在这个课程设计中班主任常用管理系统我较为满意,它不仅充分的利用了结构体的方方面面知识,也密切的结合了实际,有很大的实用价值。通过本次课程设计,我不仅将指针、结构体、链表以及一些基本函数的知识回顾了一次,而且也基本掌握了怎样把理论和实际结合起来,让自己不单单能学,也能用。不止如此,我发现自己的一些概念性知识掌握的不够扎实,链表一内容学的不够深,所以我也要加强对基础知识的巩固与深化,做到学好、用好。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报