文档库 最新最全的文档下载
当前位置:文档库 › C语言大作业全

C语言大作业全

C语言大作业全
C语言大作业全

C语言大作业全 Document number:PBGCG-0857-BTDO-0089-PTT1998

#include ""

#include ""

#include ""

#include ""

#include ""

#define LEN sizeof(struct student)

#define NULL 0

int n,m;

int k=1;

struct student

{char num[20];

char name[20];

int age;

char profession[50];

int maths;

int english;

int C_program;

float ave;

struct student * next;

};

float ave(struct student * p1)

{

float ave;

ave=(float)(p1->maths+p1->english+p1->C_program)/3;

return ave;

}

void save(struct student *head)

{

struct student *p1 = head;

FILE *outFile;

outFile = fopen("", "wb");

if (outFile == NULL) {

printf("\nFile error.");

}

else {

while(p1 != NULL)

{

fwrite(p1, sizeof(struct student), 1, outFile);

p1 = p1->next;

}

fclose(outFile);

}

}

;

}

else {

head = (struct student *)malloc(sizeof(struct student));

fread(head, sizeof(*head), 1, infile);

p2 = head;

while(fread(&record, sizeof(record), 1, infile));

}

fwrite(p1, sizeof(struct student), 1, outFile);

fclose(outFile);

}

void sta(struct student * head,char array[20],int max,int min) {

struct student *p1=head;

int k=0;

if(strcmp(array,"maths")==0)

{

while(p1!=NULL)

{

if(p1->maths>=min&&p1->maths<=max)

k++;

p1=p1->next;

}

printf("数学科目在%d到%d之间的人数为:%d\n",min,max,k); }

else if(strcmp(array,"english")==0)

{

while(p1!=NULL)

{

if(p1->english>=min&&p1->english<=max)

k++;

p1=p1->next;

}

printf("英语科目在%d到%d之间的人数为:%d\n",min,max,k);

}

else if(strcmp(array,"C_program")==0)

{

while(p1!=NULL)

{

if(p1->C_program>=min&&p1->C_program<=max)

k++;

p1=p1->next;

}

printf("C语言科目在%d到%d之间的人数为:%d\n",min,max,k); }

}

void exit()

{

printf("\t\t");printf("**********************\n");

printf("\t\t");printf("*******感谢使用*******\n");

printf("\t\t");printf("**********************\n");

k=0;

}

void Chooseproject(int i)

{ struct student * head=NULL;

if(i==1)

{

head = read();

print(head);

}

else if(i==2)

{

int p=1 ;

printf("请选择按学号查询(1)还是按姓名查询(0):");

scanf("%d",&p);

while(p!=1&&p!=0)

{

printf("输入错误!");

printf("请选择学号查询(1)还是姓名查询(0)");

scanf("%d",&p);

}

if(p==1)

{

head = read();

char num[20];

printf("请输入查询的学号:\n");

scanf("%s",num);

head=search_num(head,num);

while(strcmp(num,"0")!=0)

{printf("是否继续查询(是就输学号,否就输0):\n"); scanf("%s",num);

if(strcmp(num,"0")==0)break;

head=search_num(head,num);

}

}

else if(p==0)

{

head = read();

char name[20];

printf("请输入查询的学号:\n");

scanf("%s",name);

head=search_name(head,name);

while(strcmp(name,"0")!=0)

{printf("是否继续查询(是就输学号,否就输0):\n"); scanf("%s",name);

if(strcmp(name,"0")==0)break;

head=search_name(head,name);

}

}

}

else if(i==3)

{ head = read();

char num[20];

printf("请输入要更改的学号:\n");

scanf("%s",num);

getchar();

head=change(head,num);

print(head);

while(strcmp(num,"0")!=0)

{printf("是否继续更改(是就输学号,否就输0):\n");

scanf("%s",num);

getchar();

if(strcmp(num,"0")==0)break;

head=change(head,num);

print(head);

}

}

else if(i==4)

{

head=read();

add(head);

}

else if(i==5)

{

char num[20];

head=read();

printf("请输入要删除的学号:\n");

scanf("%s",num);

getchar();

head=del(head,num);

print(head);

}

else if(i==6)

{

head = read();

int i;

printf("\t\t");printf("************1.学号排序;********************\n");

printf("\t\t");printf("************2.平均成绩排序;****************\n");

printf("\t\t");printf("************3.数学成绩排序;****************\n");

printf("\t\t");printf("************4.英语成绩排序;****************\n");

printf("\t\t");printf("************语言成绩排序;***************\n");

printf("请输入相应的排序代号:");

scanf("%d",&i);

sort_down(head,i);

}

else if(i==7)

{

head=read();

int min,max;

char subject[20];

printf("\t\t");printf("************数学(maths);***************\n");

printf("\t\t");printf("************英语(english);*************\n");

printf("\t\t");printf("***********C语言(C_program);***********\n");

printf("请选择要统计的项目:\n");

scanf("%s",subject);

getchar();

while((strcmp(subject,"maths")!=0&&strcmp(subject,"english")!=0&&strcmp(subject,"C_ program")!=0))

{

printf("输入错误!");

printf("\t\t");printf("************数学(maths);***********\n");

printf("\t\t");printf("************英语(english);***********\n");

printf("\t\t");printf("***********C语言(C_program);***********\n");

printf("请选择要统计的项目:\n");

scanf("%s",subject);

getchar();

}

printf("请输入分数段的区间:");

printf("区间上限:");

scanf("%d",&max);

printf("区间下限:");

scanf("%d",&min);

while(min>=max)

{

printf("输入的下限大于等于上限,错误!");

printf("请重新输入分数段的区间:");

printf("区间上限:");

scanf("%d",max);

printf("区间下限:");

scanf("%d",min);

}

sta(head,subject,max,min);

}

else if(i==8)

{

printf("\t\t");printf("************************************\n");

printf("\t\t");printf("**************感谢使用**************\n");

printf("\t\t");printf("************************************\n");

k=0;

}

}

息浏览;***********\n");

printf("\t\t");printf("***********2.信息查询;***********\n");

printf("\t\t");printf("***********3.信息修改;***********\n");

printf("\t\t");printf("***********4.信息添加;***********\n");

printf("\t\t");printf("***********5.信息删除;***********\n");

printf("\t\t");printf("***********6.信息排序;***********\n");

printf("\t\t");printf("***********7.信息统计;***********\n");

printf("\t\t");printf("***********8,退出系统;***********\n");

printf("请选择项目:");

scanf("%d",&i);

while(i<1||i>8)

{printf("输入错误,请重新输入:\n");

printf("\t\t");printf("***********1.信息浏览;***********\n");

printf("\t\t");printf("***********2.信息查询;***********\n");

printf("\t\t");printf("***********3.信息修改;***********\n");

printf("\t\t");printf("***********4.信息添加;***********\n");

printf("\t\t");printf("***********5.信息删除;***********\n");

printf("\t\t");printf("***********6.信息统计;***********\n");

printf("\t\t");printf("***********7,退出系统;***********\n");

printf("请重新选择项目:");

scanf("%d",&i);

}

Chooseproject(i);

}

int _tmain(int argc, _TCHAR* argv[])

{ struct student *head = NULL;

printf("\t\t");printf("************************************************************\n");

printf("\t\t");printf("*********************学生管理系

***************************\n");

printf("\t\t");printf("************************************************************ \n");

printf("是否已经录入信息\n");

char c;

printf("请输入 'y' 或 'n':");

c=getchar();

getchar();

while(c!='n'&&c!='y')

{printf("输入错误,请重新输入( 'y' 或 'n'):\n"); c=getchar();

getchar();

}

if(c=='n')

{

printf("请输入学生成绩:\n");

head=creat();

}

while(k!=0)

{menu();}

system("pause");

return 0;}

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

C语言实训作业1

《C语言通识教育》实训指导书 (第一次) (2学时) 何天成 2016年月日

前言 C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,C 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。本指导书可增强同学上机实验的针对性。整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。共计约14次实训课,其中每一讲内容分1、2两次上课。每个实验内容结构如下: (1)实验学时 (2)实验目的 (2)预习要求 (4)实验内容 (5)实验注意事项 (6)思考题 其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。 在实验之前,要求学生对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。一般要求准备好相关代码,实验课中最好以调试和讨论为主。 实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy 别人的运行结果。通报告具体内容可根据实验内容和实验要求进行增删。实验报告一般要求包含:(1)实验题目 (2)设计思路或算法分析 (3)流程图 (4)程序源代码 (5)程序运行结果及分析

C语言大作业——学生信息管理系统

《程序设计综合课程设计》报告 学生姓名: ______ ______ ______ ______________________ 学生班级: ______________________ ____________ ____________ 学生学号: ____________ 指导教师: ______ 2014年6 月22 日

目录第1章Visual C++简介及其优点 第5章总结 附录源程序

学生信息管理系统 前言 学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。 作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。

c语言作业

提交作业规范: (1)你的每次作业的cpp文件放在文件夹中,文件夹命名:学号+姓名+(第几次),(例如:“2014218899张三(第二次)“) (2)上传到文件夹:偶春生\班级。千万别传错。 注意: (1)每做完一题,请用“file”下的“close workspace”关闭工作区,再重新开始做下一题。(2)如果不能联网,请改网关地址:252或253 (3)开机进入“basis” 第一次上机题目: (1)从键盘上输入四个整数,计算并输出四个数的平均值。 (2)输入球的半径,计算并输出球的体积和表面积。 (3)输入一个三位正整数,分别输出该数的个位、十位和百位。(提示:用%运算符提取数字,如123%10=3,用/运算符移除已提取的数字,如123/10 = 12) (4)请测试++、--、关系和逻辑运算符。 第二次上机题目: (1)平面上有一园C:(x-3)2+(y-4)2= 25;输入点P(x,y)的坐标值,判断P点在园C内(包括园上)还是园C外。 (2)输入一英文字符,如果是大写字符,请输出:“您输入的是大写字符。”,如果是小写字符,请输出:“您输入的是小写字符。”, (3)某人某天开始“三天打鱼,两天晒网”,问该人在以后的第n天是打鱼还是晒网?(4)输入火车的出发时间和到站时间,计算火车的运行时间。(出发时间和到站时间用四位整数表示,如1230表示12点30分,假设火车不跨天运行。) (5)从键盘上输入三个整数,分别存放在变量num1, num2, num3中,编写程序对这三个数进行排序,使得num1 <=num2<=num3。 第三次上机题目: (1)输入十个数,分别计算出其中正数、负数的和。 (2)输出1—100内能被3整除或个位数是3的数。 (3)打印出大写英文字母,每行最多输出十个。 (4)输入十个数,求出其中的最小值。 (5)求出e的值,e = 1+1+1/2!+1/3!+…+1/n! (n取10) 第四次上机题目: (1)输出100—1000之间的质数。 (2)任意输入一个数,输出这个数的所有因子。(如输入12,输出1,2,3,4,6,12) (3)输出1-100间的同构数,所谓同构数是指一个数出现在这个数平方的右侧(如6和25均为同构数)。 (4)求x2+y2=2009的整数解。(提示,x,y的范围在[1,45]之间,用双重循环枚举求解)(5)用嵌套循环打印如下图形:

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

C语言大作业设计-

CHANGZHOU INSTITUTE OF TECHNOLOGY C语言大作业 设计说明书 题目: 通讯录管理系统 二级学院(直属学部):计算机信息工程学院 专业: 软件工程(中英合作)班级: 12软件二: 学号: 2013年7月 目录

1 概述 (1) 1.2设计分析 (1) 1.3开发工具 (1) 1.4应用平台 (1) 2 系统设计 (2) 2.1功能模块设计 (2) 2.2数据结构设计 (4) 2.3函数功能设计 (4) 3 实现与测试 (7) 3.1关键技术实现 (7) 3.2测试运行结果 (8) 4 开发日志 (14) 5 设计总结 (14) 6 参考文献 (14)

1 概述 1.1 小组构成及分工 1.2 设计分析 本程序设计共包含六个函数模块,分别是添加记录、显示记录、删除记录、查询记录、修改记录、保存记录等信息模块,完成通讯录的功能。在主函数中可以以1、2、3、4、 5、6数字键分别可以执行某个功能模块。 1.3 开发工具 Visual C++ 6.0 和window32 1.4 应用平台 Windows XP 32位 2 系统设计 2.1功能模块设计

1.系统模块图 本系统包括6个模块,分别是添加模块、显示模块、删除模块、查询模块、修改模块、保存模块等,各模块的功能如图2.1所示。各个模块的功能描述如下: (1)添加模块:可以添加通讯录记录,依次输入、年龄、、地址、电子后,并会提示是否继续添加。 (2)显示模块:可以以表格形式输出所有通讯录里的记录。 (3)删除模块:输入欲删除的那个人的名字后,会自动删除他(她)的记录容。 (4)查询模块:可以选择用、、地址三种方式查询。 (5)修改模块:输入欲修改的那个人的名字后,再依次输入、年龄、、地址、电子完成修改。 (6)保存模块:输入文件名(带后缀名)后,即可将通讯录信息保 存到文件。 图2.1 系统模块图 2.任务执行流程图

C语言大作业(仅供参考)

实验综合练习一 打印万年历 (1)已知公元1年1月1日是星期一,计算输入的年月日是星期几?编程如下: #include void main() { int i,year,month,day,day_of_year,day_of_month; long sumday=0; printf("请先输入年、月、日,中间以空格或换行符间隔:\n"); scanf("%ld%ld%ld",&year,&month,&day); for(i=1;i<=year-1;i++) { if(i%400==0||i%100!=0&&i%4==0) day_of_year=366; else day_of_year=365; sumday=sumday+day_of_year; } for(i=1;i<=month-1;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) day_of_month=31; else if(i==4||i==6||i==9||i==11) day_of_month=30; else if(i==2) { if(year%400==0||year%100!=0&&year%4==0) day_of_month=29; else day_of_month=28; } sumday=sumday+day_of_month; } sumday=sumday+day; i=sumday%7; if(i==0) i=7; printf("%ld年%ld月%ld日是星期%d\n",year,month,day,i); } 为了使输出的星期为大写且将星期7变成星期天,可作如下改动:#include void main()

C语言作业2

期待的输出时间限制内存限制#include main() { int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z; scanf("%1d",&a); scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f); scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k); x=a+c+e+g+i+k; y=b+q+f+h+j;

n=m-1; z=n%10; p=9-z; printf("%d\n",p); } H2:数制转换(选作) 成绩: 5 / 折扣: 0.8 我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如12 和 5 ,在十进制下它们是不等的,但若12 使用 3 进制而5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制,12 和5 就可以是相等的。 程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。 求出分别在2~36 哪种进制下M 和N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出 制 #include"string.h" #include"stdio.h"

{ char a[N],b[N],d[N],e[N],d0[N]; int i,j,o,r,g,h,w,t,l,k,max1,max2; double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i='\x30') c[i]=b[i]-'0'; if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; } for(i=0;i='\x30') f[i]=e[i]-'0'; if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0]; for(i=1;i

C语言课程设计大作业

郑州大学 课程报告 课程名称:C语言程序设计 专业班级:(15)班 学生姓名:谢* 学号: *** 任课教师:赵** 学期: 2012-2013-2 课程报告任务书

成绩评定教师:一. 需求分析

1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 2,数据包括:人名、工作单位、电话号码和E-MAIL地址。 3,可对记录中的姓名和电话号码进行修改。 4,可增加和删除记录。 5,可显示所有的保存记录。 6,可按人名或电话号码进行查询。 分析 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 (1).程序的模块组成及各个函数的功能: 程序的模块组成: 主函数:main(); 输出数据函数:printf(); 读取数据函数:scanf(); 显示记录函数:Display(); 删除记录函数:shanchu(); 查找记录函数:chaxun(); 自定义清屏函数:system(“cls”); 自定义输入函数:input(); 字符输入函数:getchar(); 修改数据函数:xiugai(); 保存数据函数:baocun(); 排序数据函数:paixu(); 各函数的主要功能: 输出数据函数:随时输出数据; 读取数据函数:读取输入的数据信息;

显示菜单函数:显示可供选择的主菜单; 显示记录函数:显示通讯录所有输入的信息; 删除记录函数:显示要删除的通讯录所有输入的信息; 查找记录函数:显示要查询的通讯录所有输入的信息; 自定义清屏函数:清除前面运行留下的信息; 自定义输入函数:输入通讯录的成员;; 字符输入函数:从终端输入一个字符,遇回车键返回; 修改数据函数:修改通讯录的成员信息; 保存数据函数:保存通讯录的成员信息; 排序数据函数:排序通讯录的成员信息; (2)程序中的抽象数据类型的定义: 用户的状态结构 用户 { 编号: 姓名: 电话; 年龄; 邮箱: 地址; (3)总体流程图 根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。 } 三. 详细设计

c语言大作业

学年论文(课程论文、课程设计) 题目:学生学籍信息管理系统 作者: 所在学院:信息科学与工程学院 专业年级: 指导教师: 职称:讲师 2014年 12月 31日

目录 1. 设计内容、任务以及要求.......................... 1.1设计内容、任务 1.2 设计要求 2. 设计思路概述.................................... 2.1 系统基本功能 2.2 具体设计思想 2.3 系统的总体流程图 3. 函数设计的实现.............................. 3.1 结构的定义 3.2 各个函数的设计简介 3.3源代码 3.4删除模块的详细介绍 4. 重点程序的调试及运行............................删除函数的测试 5. 总结............................................ 6. 致谢............................................ 7. 参考文献........................................

1.设计内容、任务以及要求 1.1 设计内容、任务 主要利用c语言的文件操作能力设计开发一个学生学籍管理系统,至少具有如下功能:信息输入、输出、查找、删除、成绩排序等功能。具体内容如下: (1)通过提示菜单选择可以进行的操作; (2)将学生的信息存入文件中,并命名为txl.txt; (3)在本系统中可以进行管理系统包含的基本操作: a. 查看所有学生信息; b. 输入一个学生的姓名或学号,从当前的信息中查找,如果找到则显示该学生的相关信息,如果没找到则给出相关提示信息; c. 输入一个学生的姓名或学号,从当前信息中查找,如果找到则删除该学生的基本信息,如果没找到则给出相关提示信息; d. 将学生的成绩按降序排序; Txl.txt文件中: (4)学生基本信息包括:学号、姓名、性别、班级、籍贯、分数等简单信息;1.2设计要求 明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用c语言进行文件操作的编程技术水平;初步了解软件开发的一般方法和步骤。 2.设计思路概述 2.1 系统基本功能 外部操作:根据要求系统要有查看全部学生信息,查找、添加、删除某一个学生信息; 内部操作:将学生的信息存入文件中,并命名为txl.txt; 为了接近实际学生学籍管理系统,增加了一个权限认证功能(使用前需要输入正确的账号及密码)。 2.2 具体设计思想 (1)以结构化各个功能模块,函数间的调用精简整个函数; (2)以全局结构来随时定义结构数组及其结构; (3)以写一个信息存一个的思想,实现多个添加功能; (4)以先全部读入内存,再打印信息的思想,实现显示全部信息; (5)以先判断再打印的思想,实现查找是否有某一学生信息; (6)以先判断再删除的思想,实现删除某一学生信息; (7)以选择排序算法的思想,实现学生成绩的排序 2.3 系统的总体流程图 权限确认 进入系统

C语言作业2

H1:计算通用产品代码(UPC)的校验位(选作) 许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。超市可以通过扫描产品上的条码来确定支付此项商品的费用。每一个条码由十二位数字构成,通常这些数字会显示在条码下面。例如,包装为26盎司的Morton牌碘化盐所用条码下的数字是:0 24600 01003 0 第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券)。接下来的一组五位数字用来识别生产商。而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码。 下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。然后把第二位、第四位、第六位、第八位和第十位数字相加。接着把第一次加法结果乘以3后再加上第二次加法的结果。随后,再把上述结果减去1。减法后的结果除以10取余数。最后,用9减去上一步骤中得到的余数。现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。把第一组加法值乘以3后再加上第二组加法值得到的结果是30。再减去1,结果变为29。再把这个值除以10取余数为9。9在减去余数结果9,最终值为0 输入 每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。 输出 UPC的校验位 页脚内容1

C语言大作业(图书管理)

c语言图书管理系统 主要功能: 1. 新进图书基本信息的输入。 2. 显示全部记录 3. 按图书名称查询图书基本信息。 4. 根据图书名称对撤消的图书信息进行删除。 5. 按图书名称从小到大排序。 6. 统计某价格以上的图书数量。 7. 列出所有未借出去的图书信息。 基本信息:图书编号、图书名称、单价、作者、存在状态、借书人姓名、性别、学号等 #include #include #include #include typedef int BOOL; typedef struct bookinfo { char number[15];/*产品编号*/ char name[30];/*产品名称*/ float price;/*单价*/ char auther[20];/*作者*/ BOOL isExit;/*存在状态*/ char lendername[20];/*借书人姓名*/ char lendersex[2];/*借书人性别*/ char lendernum[15];/*借书人学号*/ }BOOKINFO; void menu() { printf("\n\n\n\n\n\n\n"); printf("\t\t\t图书管理系统\n"); printf("\t\t\t1:新进图书基本信息的输入\n"); printf("\t\t\t2:显示全部记录\n");

printf("\t\t\t3:根据图书名称查询图书基本信息\n"); printf("\t\t\t4:根据图书名称对撤销的图书信息进行删除\n"); printf("\t\t\t5:按照图书名称从小大到排序\n"); printf("\t\t\t6:统计某价格以上的图书数量\n"); printf("\t\t\t7:列出所有未借出去的图书信息\n"); printf("\t\t\t8:退出\n"); } void choice_1_input_new()/*输入新进的图书信息*/ { char choice; FILE *p; BOOKINFO newbook; system("cls"); while(1) { printf("输入图书编号:"); gets(newbook.number); printf("输入图书名称:"); gets(https://www.wendangku.net/doc/7a15024387.html,); printf("输入图书单价:"); scanf("%f",&newbook.price); while(getchar()!='\n'); printf("输入图书的作者:"); gets(newbook.auther); printf("输入借书人姓名:"); gets(newbook.lendername); printf("输入借书人性别:"); gets(newbook.lendersex); printf("输入借书人学号:"); gets(newbook.lendernum);

c语言大作业

c 语言大作业 《面向对象技术课程大作业》 设计报告书 题目: 指导教师: 姓名: 学号: 日期: 管理科学与工程学院2011-2012 学年第1 学期 一、需求分析: 随着小型超市规模的发展不断扩大,商品数量急剧增加,商品的各种信息量也成倍增长。超市在时时刻刻需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块: 登入、原始数据录入、数据的汇总及查询等。从而,实现对进货、库存和销售全面、动态、及时的管理。 超市管理系统是一个多部门、多任务的信息管理系统,包含人事部、采购部、销售部、财务部和总经理。对于不同的部门必须有独立的功能。数据的可靠性是信息管理的必要保证,所以不同部门的员工在执行各自权限功能时对其它部门数据的影响必须降到最低,因此超市管理系统也同样是通过权限来实现数据的更新和行为的操作。用户权限分为: 各部门普通员工权限、各部门经理权限、各部门管理员权限和总经理权限。 计算机作为一种高效的管理工具,对现代企业的管理发挥了及其重要的作用。 商业超市是当今最重要的商业经营形式之一,为了进一步提高商业超市的管理水平和竞争力,管理信息系统在商业超市中的趋势已是大势所趋。随着小超市规模的发 展不断扩大,商品数量急剧增加,有关商品的各种信息也成倍增长。所以,计算机 管理超市的模式,是一种很有必要的管理模式,不但能提高工作效率,还能减少工作人员的工作

量。是一种非常有潜力的市场经营模式。 二、系统的主要功能 功能需求: 1、超市员工管理 2、进货管理 3、销售管理 4、销售额管理 具体如下: (1) 登入模块员工可通过该功能登入本系统,执行其权限范围内的所有功能。 (2) 新进职员登记模块 新入职员工通过该功能,添加该员工信息入员工信息表。 (3) 员工信息修改模块 员工通过该功能,修改其住址、联系电话、银行卡号。(4) 职员离职登记模块 员工通过该功能,添加职员离职信息。(5) 修改员工登入密码模块员工通过该功能,修改登入密码。 (6) 员工考勤登记模块 员工通过该功能,添加考勤记录。 (7) 添加采购信息模块 员工通过该功能,添加采购记录。 (8) 修改商品单价模块

C语言大作业

学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (10) 2.3函数实现 (10) 2.4开发日志 (17) 3 程序调试及运行 (18) 3.1程序运行结果 (18) 3.2程序使用说明 (19) 3.3程序开发总结 (20) 4 附件(源程序) (20)

1 摘要 1.1 设计题目 A题算法型:折半查找算法演示程序 B题空间桁架结构节点位移求解 1.2 设计内容 A题: 本程序是一个演示折半查找算法的演示程序。当用户输入查找数据表列和要查找的数据时,程序会演示折半法查找该数的详细过程,并且支持多次查找、错误提示等功能。 B题: 空间桁架结构节点位移求解 1.3 开发工具 Code Blocks 12.11(内置MinGW) 1.4 应用平台 Windows 7 64位 2 详细设计 2.1 程序结构 A题: 程序功能模块: 本程序主要包含六大模块:程序说明模块、输入模块、排序模块、折半法查找模块、选择模块和程序

退出模块。 工程文件结构: 本程序的工程含有6个文件,其中main.cpp、print_stars.cpp、judge.cpp、sort.cpp、putout.cpp5个cpp 文件和include.h1个头文件(参见下图),两者共同存在于工程“折半法查找演示程序”中。其中main.cpp 文件包含了程序的主体部分,程序说明模块、输入、排序、折半查找、选择、程序退出模块按线性排列。其中输入、排序模块执行一次,这般查找、选择模块可多次执行,直到程序退出模块执行。 六大模块说明: (1) 程序说明模块: 给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。此部分模块主函数源代码如下: int a[N]; /*存储要查找的数表,用户输入*/ int i,n,num,count; /*count为折半次数计数器,n为数表数据个数,num存储所查数据*/ int top,bottom,mid; char c; /*存储选择函数中的输入的字符y或n*/ int flag=1; /*折半法循环标志变量*/ int loc=-1; /*存储所查找数据位置*/ double k=0; p_s(76);puts("\n"); /*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文)

川大c语言第一次作业

1.运行如下程序,并改正错误。 /*Hello,World!的变形程序*/ #include int main( ) { printf("________________\n| Hello, |\n| World! |\n(\\(\\ /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n(^?^)/\no_(\")(\")\n ");\\这里连成一排的 return 0; } 结果如下 2.用printf函数输出如下字符串:"abc\t123\r456\nabc\b123\\45",并分析输出结果。 " 解释: \t代表水平制表,每8个字符为一个输出区,所以首先是abc 123 \r代表将光标放回到行首,打出456将刚才的abc覆盖,现在是456 123 \n是换行 \b是退格,所以打出第二排的abc后退格成ab再打印成ab123, \\即代表\, 所以结果如上图。 3.将2147483648,(short)32768,-1用printf函数输出为十进制、八进制和十六进制形式, 并分析输出结果。 由于2147483648是2^31,所以转换为二进制是100000……0000(31个0),对于32bit的电

脑,ing最大是2^31-1,所以2^31好像是被认为成了最小值了,即-2^31 然后,又二进制转化为8进制,3位3位的变,转16进制则4位4位的变,结果如下 对于(short)32668,还是先转换为二进制111 111 110 011 100,转化为8进制是77634,111 1111 1001 1100转化为16进制是7f9c,结果如下 对于-1,转化为二进制是2^31-1,即为11111……11111(32个1),转化为8进制时,\o代表的是无符号的8进制数,32%3=2,所以第一位是3,后面是7,结果是37777777777, 由于32%4=0,所以是8个f,结果如下图 4.写程序把一个4位整数(比如qbsg)转换成另一个形式(sqgb)。 #include int main(int argc, char *argv[]) { int a,q,b,s,g,px ; printf("请输入一个正的4位数"); scanf("%d",&a); q=a/1000; b=(a-q*1000)/100; s=(a-q*1000-b*100)/10; g=(a-q*1000-b*100-s*10); px=1000*s+100*q+10*g+b; printf("转换结果是:%d",px);

福建师范大学C语言第一次作业及答案

编写程序: 1.定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy constructor, 一negate()成员函数将point的x,y和z值各乘-1, 一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值。 #include #include using namespace std; class Point{ private: double x,y,z; double distance; public: Point(double newX,double newY,double newZ){ x=newX;y=newY;z=newZ; distance=sqrt(x*x+y*y+z*z); } Point(Point &p){ x=p.x;y=p.y;z=p.z; distance=p.distance; } void negate(){ x*=-1;y*=-1;z*=-1; } double norm(){ return distance; } void print(){ cout<<"x="<

C语言大作业题目陆树芬

1、某服务公司征询顾客意见,以考核公司的位服务员的工作业绩。 设服务员已按1、2、3、…顺序连续编号,顾客意见是顺序列出第一名(最佳)至第十名的服务员编号。设所收到意见信息已存于正文文件中,一位顾客的意见一行,服务员编号整数之间由空格符分隔,对应名次的服务员编号可以为0,已表示该名次空缺。 若一行意见信息中有不是服务员编号的整数,也不是0,或有编号重复出现,或一行有十个以上编号,或不足十个编号(包括0),则该行意见信息作废。 程序综合顾客对各服务员的名次评定情况,给每位服务员计分,各名次得分标准如下:名次一二三四五六七八九十得分15 12 9 7 6 5 4 3 2 1 程序最后顺序输出各服务员各名次所得票数和它的合计得分。 2、职工工资报表 本题主函数通过调用create() 函数建立一个职工链表,每个结点的数据包括职工号和工资。链表建立后主函数又调用list() 函数打印输出链表的全部结点的职工号和工资。 3、工资排名(用结构体实现) 本程序首先输入某单位的职工数据(包括每个职工的工号、姓名、工资),然后根据工资由高到低(即按单调不增次序)对这些数据实行排序,排好序的数据送入磁盘文件test.dat中保存,同时在屏幕上显示排序後的内容。 4、成绩排名 某班有50名学生,本学期进行了8门课的考试,现在要对考试成绩进行处理: (1)从键盘上输入学生的学号、姓名、每门课程的成绩; (2)计算每名学生的平均分; (3)输出原始成绩单; (4)输出按平均分由高到低排列的成绩单。 5、人机猜数游戏 由计算机“想”一个四位数,请人猜这个四位数是多少。人输入四位数字后, 计算机首先判断这四位数字中有几个数字是猜对了,并且在猜对的数字中又有几 位位置也是对的,将结果显示出来,请人再猜,直到人猜出计算机所想的四位数 是多少时为止。游戏结束时,显示人猜一个数用了几次。 例如:计算机“想”了一个“1234”请人猜,可能的提示如下: 人猜的数计算机判断有几个数字正确有几个位置正确 1122 2 1 3344 2 1 3312 3 0 4123 4 0 1243 4 2 1234 4 4 6、五子棋算法 任何一种棋类游戏其关键是对当前棋局是否有正确的评分,评分越准确则电脑的AI越高。五子棋游戏也是如此,但在打分之前,我们先扫描整个棋盘,把每个空位从八个方向上的棋型填入数组gStyle(2, 15, 15, 8, 2),其中第一个下标为1时表示黑棋,为2时表示白棋,第二和第三个下标表示(x,y),第四个下标表示8个方向,最后一个下标为1时表示棋子数,为2时表示空格数,如:

相关文档