C语言编写工资通讯录管理系统c语言

帮忙做一个c语言编程题目(30分悬赏哦)
帮忙做一个c语言编程题目(30分悬赏哦)
编写程序(Microsoft Visual C++ )
题目:学生成绩管理学院&&&&&&&&&& 1.输入学生成绩&&&&&&&&&& 2.统计平均成绩&&&&&&&&&& 3.查找学生成绩&&&&&&&&&& 4.修改学生成绩&&&&&&&&&& 5.退出系统
编好的程序发至我邮箱,采纳之后再加20分!
补充:1.输入学生成绩(数学、英语、C语言、计算机文化基础、思修)
补充:如果将输入学生成绩(数学、英语、C语言、计算机文化基础、思修),括号中的内容去掉的话应怎么写?
参考答案:#include "stdio.h"&&& /*I/O函数*/#include "stdlib.h"&& /*其它说明*/#include "string.h"&& /*字符串函数*/#include "conio.h"&& /*屏幕操作函数*/#include "ctype.h"&& /*字符操作函数*/#define& N 5#define& M& 2//可以把M扩大typedef struct z1&& /*定义数据结构*/{&& int score[N];//五门科目&&&&&& struct z1& *&& /*score数组元素代表数学1,英语2,计算机3,C语言4,思修5*/}STUDENT;
/*以下是函数原型*/STUDENT *Input();&& /* 输入学生成绩*/void Search(STUDENT& *h);&&& /*查找学生成绩*/void Stat(STUDENT& *h);&&&& /*统计学生成绩*/void Modif(STUDENT& *h);/*修改学生成绩*/menu_select();/*菜单函数*/
void main(){&STUDENT *Head=NULL;&&&& /*链表定义头指针*/&& for(;;)&&&&&&&&&&&& /*无限循环*/&& {&&&&& switch(menu_select())&&&& /*调用主菜单函数,返回值整数作开关语句的条件*/&&&&& {&&&&&&&&&&&&&&&&&&&& /*值不同,执行的函数不同,break 不能省略*/& case 1:Head=Input();&& /*输入学生成绩*/& case 2:Stat(Head);&&&& /*统计平均成绩*/& case 3:Search(Head);& /*查找学生成绩*/& case 4:Modif(Head);&& /*修改学生成绩*/& case 5:exit(0);&&&&&& /*如菜单返回值为5程序结束*/&&&&& }&& }}/*菜单函数,返回值为整数*/menu_select(){&
& &&& printf("***********学生成绩管理学院**************\n");
&printf("********输入学生成绩********\n");&printf("********统计平均成绩********\n");&&& printf("********查找学生成绩********\n");&printf("********修改学生成绩********\n");&printf("********& 退出系统& ********\n");&do&{&&&&& printf("\n请输入你的选择!!(1~5):");&&& /*在菜单窗口外显示提示信息*/&&&&& scanf("%d",&c);&&&&&&&&&& /*输入选择项*/&}&while(c&1||c&5);&&& /*选择项不在1~5之间重输*/&&&&&&&&&&&&&&&& /*返回选择项,主程序根据该数调用相应的函数*/}STUDENT& *Input()& /* 输入学生成绩*/{&int i,j;&int s[M]={0};&STUDENT *h=NULL,*& /* STUDENT指向结构体的指针*/& printf("*****输入学生成绩*******\n");&for(j=0;j&M;j++)&& {&&&&& info=(STUDENT *)malloc(sizeof(STUDENT));& /*申请空间*/&&&&& if(!info)&& /*如果指针info为空*/&&&&& {& printf("\n内存溢出!!!\n");&& /*输出内存溢出*/& return NULL;&&&&&&&&&& /*返回空指针*/&&&&& }&&&&&& &&&&& for(i=0;i&N;i++)&&& /*N门课程循环N次*/&&&&& {& do{& &printf("现在录入第%d位学生的成绩!!!\n",j+1);&&&& printf("第[%d]门科目成绩:",i+1);&&& /*提示输入第几门课程*/&&&& scanf("%d",&info-&score[i]);&&& /*输入成绩*/&&&& printf("\n");&&&& if(info-&score[i]&100||info-&score[i]&0) /*确保成绩在0~100之间*/&&&& printf("数据错误!!!!\n");& /*出错提示信息*/&&&& & }while(info-&score[i]&100||info-&score[i]&0);& s[j]=s[j]+info-&score[i];&& /*累加各门课程成绩*/&&&&& }&&&&& info-&sum=s[j];&&& /*将总分保存*/&&&&& info-&average=(float)s[j]/N;& /*求出平均值*/&&&&& info-&next=h;&& /*将头结点做为新输入结点的后继结点*/&&&&& h=&&& /*新输入结点为新的头结点*/&& }&& printf("********录入完毕**********\n");&printf("\n");&& return(h);&& /*返回头指针*/}void Search(STUDENT& *h)&& /*查找学生成绩*/{&int i=0,&STUDENT& *h1;&h1=h;&printf("请输入要查询的科目!!\n");&printf("*******************\n");&printf("1:数学\n");&printf("2:英语\n");&printf("3:C语言\n");&printf("4:计算机文化基础\n");&printf("5:思修\n");&printf("\n");&printf("请输入你的选择!!");&scanf("%d",&choose);&if(choose==1)&{&&printf("********学生数学成绩************\n");&&while(h1!=NULL)&&{&&&&&&printf("第%d位学生的数学成绩为:%d",i+1,&h1-&score[0]);&&&printf("\n");&&&h1=h1-&&&&i++;&&}&&printf("*********************************\n");&}&if(choose==2)&{&&printf("********学生英语成绩************\n");&&while(h1!=NULL)&&{&&&printf("第%d位学生的英语成绩为:%d",i+1,h1-&score[1]);&&&printf("\n");&&&h1=h1-&&&&i++;&&}&&printf("*********************************\n");&}&if(choose==3)&{&&printf("********学生C语言成绩************\n");&&while(h1!=NULL)&&{&&&printf("第%d位学生的C语言成绩为:%d",i+1,h1-&score[3]);&&&printf("\n");&&&h1=h1-&&&&i++;&&}&&printf("*********************************\n");&}&if(choose==4)&{&&printf("********学生计算机文化基础成绩************\n");&&while(h1!=NULL)&&{&&&printf("第%d位学生的计算机文化基础成绩为:%d",i+1,h1-&score[2]);&&&printf("\n");&&&h1=h1-&&&&i++;&&}&&printf("*********************************\n");&}&if(choose==5)&{&&printf("********学生思修成绩************\n");&&while(h1!=NULL)&&{&&&printf("第%d位学生的思修成绩为:%d",i+1,h1-&score[4]);&&&printf("\n");&&&h1=h1-&&&&i++;&&}&&printf("*********************************\n");&}}void Stat(STUDENT& *h)&&& /*统计学生成绩*/{&int i=0;&&STUDENT& *h1;&&h1=h;&&printf("*****平均成绩*****\n");&&while(h1!=NULL)&&{&&&&&&printf("第%d位学生成绩如下!!!\n",i+1);&&&&&&& printf("数学成绩:%d\n",h1-&score[0]);&&&& printf("英语成绩:%d\n",h1-&score[1]);&&&& printf("计算机文化基础成绩:%d\n",h1-&score[2]);&&&& printf("C语言成绩:%d\n",h1-&score[3]);&&&& printf("思修成绩:%d\n",h1-&score[4]);&&&& printf("总分:%d\n",h1-&sum);&&&& printf("总平均分:%f\n",h1-&average);&&&& printf("*******************\n");&&&& h1=h1-&&&&& i++;&&}}void Modif(STUDENT& *h)/*修改学生成绩*/{&int&&int i=0,k=0;&int s=0;&STUDENT& *h1;&h1=h;&do{&&& printf("请输入要修改的科目!!\n");&printf("*******************\n");&printf("1:数学\n");&printf("2:英语\n");&printf("3:C语言\n");&printf("4:计算机文化基础\n");&printf("5:思修\n");&printf("\n");&printf("请输入你的选择!!");&scanf("%d",&choose);&}while(choose&0||choose&5);&if(choose==1)&{&&&&printf("********学生数学成绩************\n");&&while(h!=NULL)&&{&&&printf("第%d位学生的旧的数学成绩为:%d\n",k+1,h1-&score[0]);&&&&& printf("第%d位学生的新的数学成绩为:",k+1);&&&&& scanf("%d",&h-&score[0]);&&&s=0;& && for(i=0;i&N;i++)&&& /*N门课程循环N次*/&&& s+=h-&score[i];&& /*累加各门课程成绩*/&&& h-&sum=s;&&& /*将总分保存*/&&&&& h-&average=(float)s/N;& /*求出平均值*/&& &&&&&&&& h=h-&&& &&&&&&&& k++;&&& &&printf("*********************************\n");&&}&}&if(choose==2)&{&&&&printf("********学生英语成绩************\n");&&while(h!=NULL)&&{&&&&&&&printf("第%d位学生的旧的英语成绩为:%d\n",k+1,h1-&score[1]);&&&&& printf("第%d位学生的新的英语成绩为:",k+1);&&&&& scanf("%d",&h-&score[1]);&&& s=0;& && for(i=0;i&N;i++)&&& /*N门课程循环N次*/&&& s+=h-&score[i];&& /*累加各门课程成绩*/&&& h-&sum=s;&&& /*将总分保存*/&&&&& h-&average=(float)s/N;& /*求出平均值*/&& &&&&&&&& h=h-&&& &&&&&&&& k++;&&& &&printf("*********************************\n");&&}&}&if(choose==3)&{&&&&printf("********学生C语言成绩************\n");&&while(h!=NULL)&&{&&&&&&&printf("第%d位学生的旧的C语言成绩为:%d\n",k+1,h1-&score[3]);&&&&& printf("第%d位学生的新的C语言成绩为:",k+1);&&&&& scanf("%d",&h-&score[3]);&&s=0;&& && for(i=0;i&N;i++)&&& /*N门课程循环N次*/&&& s+=h-&score[i];&& /*累加各门课程成绩*/&&& h-&sum=s;&&& /*将总分保存*/&&&&& h-&average=(float)s/N;& /*求出平均值*/&& &&&&&&&& h=h-&&& &&&&&&&& k++;&&& &&printf("*********************************\n");&&}&}&if(choose==4)&{&&&&printf("********学生计算机文化基础成绩************\n");&&while(h!=NULL)&&{&&&&&&&printf("第%d位学生的旧的计算机文化基础成绩为:%d\n",k+1,h1-&score[2]);&&&&& printf("第%d位学生的新的计算机文化基础成绩为:",k+1);&&&&& scanf("%d",&h-&score[2]);&&&s=0;&& && for(i=0;i&N;i++)&&& /*N门课程循环N次*/&&& s+=h-&score[i];&& /*累加各门课程成绩*/&&& h-&sum=s;&&& /*将总分保存*/&&&&& h-&average=(float)s/N;& /*求出平均值*/&& &&&&&&&& h=h-&&& &&&&&&&& k++;&&& &&printf("*********************************\n");&&}&}&if(choose==5)&{&&&&printf("********学生思修成绩************\n");&&while(h!=NULL)&&{&&&&&&&&&&printf("第%d位学生的旧的思修成绩为:%d\n",k+1,h1-&score[4]);&&&&& printf("第%d位学生的新的思修成绩为:",k+1);&&&&& scanf("%d",&h-&score[4]);&&&& s=0;&&& &&& for(i=0;i&N;i++)&&& /*N门课程循环N次*/&&& s+=h-&score[i];&& /*累加各门课程成绩*/&&& h-&sum=s;&&& /*将总分保存*/&&&&& h-&average=(float)s/N;& /*求出平均值*/&& &&&&&&&& h=h-&&& &&&&&&&& k++;&&& &&printf("*********************************\n");&&}&}}
运行效果:
(注:我为了简单验证程序,取M=2,只需输入2个数据,你可以根据实际情况将M扩大)
如果把输入学生成绩(数学、英语、C语言、计算机文化基础、思修),括号内的内容应去掉怎么改?
提问者 的感言:专业、耐心、做事认真! 相关知识
其他回答 (3)
注册个账号就能下载,有图有真相
这个简单啊,学生成绩管理学院#include &iostream.h&void main(){cout&&"请输入学生的人数:"&&cin&&n;cout&&float &goal[i],average,sum=0;for(int i=0;i&n;i++){cout&&"请输入第"&&i&&"个学生的成绩"&&sum+=goal[i];}average=sum/n;cout&&"请输入您要查找的同学的排号:"&&&cin&&cout&&if(nomber&=n)cout&&"第"&&nomber&&"位同学的成绩是:"&&goal[nomber]&&elsecout&&"没有这个学生,请重新输入!"&&}
这是我以前写的,职工工资管理系统,一样的
#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXLEN 15typedef int Stypedef struct worker{char num[MAXLEN+1];char name[MAXLEN+1];}ElemTtypedef struct LNode{ElemTstruct LNode *}LNode,*LinkLLinkList L;LinkList T;int EXIT=FALSE;int SORT=FALSE;void print(ElemType e){printf("工号:%s",e.num);printf("姓名:%s",e.name);printf("基本工资:%d",e.baswages);printf("职务工资:%d",e.jobsalary);printf("岗位津贴:%d",e.joball);printf("特殊津贴:%d",e.speall);printf("合计工资:%d",e.total);printf("\n");}void logo(){printf("\t\t\t/------------------------\\\n");printf("\t\t\t|----职工工资管理系统----|\n");printf("\t\t\t/------------------------\\\n");}Status FindFromName(LinkList L,char name[],LinkList *p,LinkList *q){ *p=L;while(*p){*q=(*p)-&if(*q&&!strcmp((*q)-&elem.name,name)) return TRUE;*p=*q;}return FALSE;}Status FindFromNum(LinkList L,char num[],LinkList *p,LinkList *q){*p=L;while(*p){*q=(*p)-&if(*q&&!strcmp((*q)-&elem.num,num))return OK;*p=*q;}return ERROR;}void ReadIn(ElemType *e){printf("请输入新的工号:");scanf("%s",e-&num);printf("请输入新职工姓名:");scanf("%s",e-&name);printf("请基本工资:");scanf("%d",&e-&baswages);printf("请输入职务工资:");scanf("%d",&e-&jobsalary);printf("请输入岗位津贴:");scanf("%d",&e-&joball);printf("请输入特殊津贴:");scanf("%d",&e-&speall);e-&total=e-&baswages+e-&joball+e-&jobsalary+e-&}Status ListInit(LinkList *L){*L=(LinkList)malloc(sizeof(LNode));if(!*L)exit(OVERFLOW);(*L)-&next=NULL;(*L)-&length=0;return OK;}Status ListEmpty(LinkList L){if(L-&next)return FALSE;return TRUE;}Status ListInsert(LinkList L,int i,ElemType e){int j=0;LinkList p=L,s;while(j&i-1&&!p){++j;p=p-&}if(!p||j&i-1)return ERROR;s=(LinkList)malloc(sizeof(LNode));s-&elem=e;s-&next=p-&p-&next=s;++L-&return OK;}Status ListTraverse(LinkList L,void(*vi)(ElemType)){LinkList p=L-&while(p){vi(p-&elem);p=p-&}return OK;}Status GetElem(LinkList L,int i,ElemType *e){int j=1;LinkList p=L-&while(j&i&&p){++j;p=p-&}if(!p||j&i)return ERROR;*e=p-&return OK;}void InsertAscend(LinkList L,ElemType e){LinkList p,q;q=L;p=L-&while(p&&p-&elem.total&e.total){q=p;p=p-&}q-&next=(LinkList)malloc(sizeof(LNode));q-&next-&elem=e;q-&next-&next=p;}void Sort(){ElemTfor(i=1;i&=L-&++i){GetElem(L,i,&e);InsertAscend(T,e);}printf("排序完成\n");SORT=TRUE;}void Search(){char s[MAXLEN+1];LinkList p,q;if(ListEmpty(L))printf("抱歉,资料空\n");else{printf("现有职工资料如下:\n");if(SORT==FALSE)ListTraverse(L,print);elseListTraverse(T,print);printf("请选择查询方式:\n(1):姓名查询\n(2):工号查询\n");scanf("%d",&choice);if(choice==1){printf("请输入姓名:");scanf("%s",s);if(FindFromName(L,s,&p,&q)){printf("姓名为%s的资料如下:\n",s);print(q-&elem);}elseprintf("没找到姓名为%s的职工",s);}else if(choice==2){printf("请输入工号:");scanf("%s",s);if(FindFromNum(L,s,&p,&q)){printf("工号为%s的资料如下:\n",s);print(q-&elem);}elseprintf("没有工号为%s的职工",s);}else printf("非法输入\n");}}void Delete(){char s[MAXLEN+1];LinkList p,q;if(ListEmpty(L))printf("抱歉,资料空\n");else{printf("现有职工资料如下:\n");if(SORT==FALSE)ListTraverse(L,print);elseListTraverse(T,print);printf("请选择删除方式:\n(1):姓名删除\n(2):工号删除\n");scanf("%d",&choice);if(choice==1){printf("请输入姓名:");scanf("%s",s);if(FindFromName(L,s,&p,&q)){printf("姓名为%s的资料如下:\n",s);print(q-&elem);p-&next=q-&printf("姓名为%s的资料已成功删除\n",s);}elseprintf("\n没找到姓名为%s的职工",s);}else if(choice==2){printf("请输入工号:");scanf("%s",s);if(FindFromNum(L,s,&p,&q)){printf("工号为%s的资料如下:\n",s);print(q-&elem);p-&next=q-&printf("工号为%s的资料已成功删除\n",s);}elseprintf("\n没有工号为%s的职工",s);}else printf("非法输入\n");}}void Add(){ElemTint i=L-&ReadIn(&e);ListInsert(L,++i,e);printf("添加成功\n");}void main(){ElemTListInit(&L);ListInit(&T);while(EXIT==FALSE){logo();printf("功能选项:1:录入 2:修改 3:排序 4:查询 5:删除 6:添加 0:退出\n");printf("请选择功能:");scanf("%d",&choice);switch(choice){case 1 :ReadIn(&e);len=L-&ListInsert(L,++len,e);ListTraverse(L,print);printf("请按任意键继续...\n");getch();system("cls");case 2 :case 3 :Sort();printf("请按任意键继续...");getch();system("cls");case 4 :Search();printf("请按任意键继续...");getch();system("cls");case 5 :Delete();printf("请按任意键继续...");getch();system("cls");case 6 :Add();printf("请按任意键继续...");getch();system("cls");case 0:printf("谢谢使用\n");EXIT=TRUE;default :printf("非法字符\n");printf("请按任意键继续...\n");getch();system("cls");}}}
相关知识等待您来回答
编程领域专家您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C语言程序设计报告 职工工资管理系统 -.doc20页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:150 &&
你可能关注的文档:
··········
··········
C语言程序设计报告 课程名称:
C语言程序设计
管理与经济学院
专业班级:
工业工程2012142班
学生姓名:
指导教师:
完成时间:
报告成绩:
1、设计题目
2、设计要求(包括设计内容描述)
3、设计作用与目的
4、所用软件
5、系统设计
5.1 系统结构
5.2 程序程序图
5.3 产生源程序
6、实验调试结果(附运行效果图)
7、设计中的问题及解决方法
8、设计心得
9、参考文献
职工工资管理系统的设计与实现
1.设计题目
题目:工资管理系统
工资管理系统是企业不可缺少的一部分,它利用计算机对员工工资进行统一管理,实现工资管理系统的系统化、规范化和自动化,为企业提高工作效率。本程序旨在训练读者的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。本程序中涉及结构体、数组、文件等方面的知识。
2.设计要求
1、启动软件时,进行密码校验。若出错三次,则自动退出系统。
2、实现简易的提示菜单界面,刚运行时应显示版本信息。用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。
3、要求把所有录入的数据以文件的形式,保存在硬盘上。
4、系统包含以下基本功能:登陆功能、显示主菜单功能、职工信息输入信息输出、职工信息查询、职工信息修改、工资排序、工资统计、导出数据、导入数据、退出等。
5、职工信息输入信息输出要求一个职工的基本信息 编号、姓名、基本工资 的录入,以文件形式保存――输入。
6、职工工资表浏览工资
正在加载中,请稍后...问题补充&&
猜你感兴趣
服务声明: 信息来源于互联网,不保证内容的可靠性、真实性及准确性,仅供参考,版权归原作者所有!Copyright &
Powered by扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
学院教职工工资管理系统C语言程序设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口C语言程序设计报告 学生选修课系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
C语言程序设计报告 学生选修课系统
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢}

我要回帖

更多关于 c语言银行管理系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信