楼上的和楼上的楼上的楼上是SB。
辽工大的吧。
需要盘文件输入输出、数组、循环、选择、除主函数外至少要用到3个自定义函数。
你这分给的也太少了吧
以下(COPY):
这个就可以:
咱班都看过了。。(底下都写上!!!!我记得有个地方他打错了,交之前让老师帮你改一改。这个交上去是很多个老师一起看!!)
1题目:学生信息管理系统
2程序要求:
学生信息录入功能
用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、语文四门课成绩。
可插入一个或多个学生信息到当前编辑的班级数据中。
文件保存功能
学生信息每一班存为一个数据文件,数据文件可在程序中打开、编辑和重新保存。
用户输入学生信息可随时保存数据文件。
文件打开功能
程序只能对当前打开的数据文件进行编辑。
查询功能
浏览所有学生信息。
按学号查询学生信息。
按姓名查询学生信息。
查询一个班总成绩和平均成绩。
查询一个班某一门课总成绩和平均成绩。
查询某一门课分数段(<60,60-69,70-79,80-89,>90)学生数。
报表输出功能
按学号输出一个班学生信息:学号、姓名、性别、数学、英语、政治、语文成绩、总成绩,到屏幕和文件。
按总成绩从高到低输出学号、姓名信息。
注:以上功能以菜单形式供用户使用,并有一定的容错功能。
3开发语言环境:Macrosoft VC++60或Turbo C20
4数据结构:数组或链表
5程序源代码要求:
函数名、变量名采用英文缩写,使用匈牙利命名法进行自说明。
源代码的书写采用递进格式。
程序行和程序段须有注释。
#include "stdioh" /I/O函数/
#include "stdlibh" /其它说明/
#include "stringh" /字符串函数/
#include "conioh" /屏幕 *** 作函数/
#include "memh" /内存 *** 作函数/
#include "ctypeh" /字符 *** 作函数/
#include "alloch" /动态地址分配函数/
struct score
{
int mingci;
char xuehao[8];
char mingzi[20];
float score[6];
}data,info[1000];
int i,j,k=0;
char temp[20],ch;
FILE fp,fp1;
void shuru()
{
if((fp=fopen("s_scoretxt","ab+"))==NULL)
{
printf("cannot open this file\n");
getch();exit(0);
}
for(i=0;i<=1000;i++)
{
printf("\nPlease shuru xuehao:");
gets(dataxuehao);
printf("Please shuru mingzi:");
gets(datamingzi);
printf("Please shuru yuwen score:");
gets(temp);datascore[0]=atof(temp);
printf("Please shuru shuxue score:");
gets(temp);datascore[1]=atof(temp);
printf("Please input yingyu score:");
gets(temp);datascore[2]=atof(temp);
printf("Please shuru wuli score:");
gets(temp);datascore[3]=atof(temp);
printf("Please shur huaxue score:");
gets(temp);datascore[4]=atof(temp);
datascore[5]=datascore[0]+datascore[1]+datascore[2]+datascore[3]+datascore[4];
fwrite(&data,sizeof(data),1,fp);
printf("anothery/n");
ch=getch();
if(ch=='n'||ch=='N')
break;
} fclose(fp);
}
void xianshi()
{
float s;int n;
if((fp=fopen("s_scoretxt","rb+"))==NULL)
{
printf("Cannot reading this file\n");
exit(0);
}
for(i=0;i<=1000;i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
break;
}
printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n");
for(j=0,k=1;j<i;j++,k++)
{
info[j]mingci=k;
printf("%6s %8s %31f %31f %31f %31f %31f %31f\n",info[j]xuehao,info[j]mingzi,info[j]score[0],info[j]score[1],info[j]score[2],info[j]score[3],info[j]score[4],
info[j]score[5]);
}
getch();
fclose(fp);
}
void xiugai()
{
if((fp=fopen("s_scoretxt","rb+"))==NULL||(fp1=fopen("temptxt","wb+"))==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
printf("\nPLease shuru xiugai xuehao:");
scanf("%d",&i); getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(dataxuehao);
if(j==i)
{
printf("xuehao:%s\nmingzi:%s\n",dataxuehao,datamingzi);
printf("Please shuru mingzi:");
gets(datamingzi);
printf("Please shuru yuwen score:");
gets(temp);datascore[0]=atof(temp);
printf("Please shuru shuxue score:");
gets(temp);datascore[1]=atof(temp);
printf("Please input yingyu score:");
gets(temp);datascore[2]=atof(temp);
printf("Please input wuli score:");
gets(temp);datascore[3]=atof(temp);
printf("Please input huaxue score:");
gets(temp);datascore[4]=atof(temp);
datascore[5]=datascore[0]+datascore[1]+datascore[2]+datascore[3]+datascore[4];
} fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);
}
fclose(fp);
fclose(fp1);
}
void chazhao()
{
if((fp=fopen("s_scoretxt","rb"))==NULL)
{
printf("\nCannot open this file\n");
exit(0);
}
printf("\nPLease shuru xuehao chakan:");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(dataxuehao);
if(i==j)
{
printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",dataxuehao,datamingzi,datascore[0],datascore[1],datascore[2],datascore[3],datascore[4],datascore[5]);
}getch();
}
}
void shanchu()
{
if((fp=fopen("s_scoretxt","rb+"))==NULL||(fp1=fopen("temptxt","wb+"))==NULL)
{
printf("\nopen scoretxt was failed!");
getch();
exit(0);
}
printf("\nPlease input ID which you want to del:");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(dataxuehao);
if(j==i)
{
printf("Anykey will delet it\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("s_scoretxt");
rename("temptxt","s_scoretxt");
printf("Data delet was succesful!\n");
printf("Anykey will return to main");
getch();
}
main()
{
while(1)
{
clrscr(); /清屏幕/
gotoxy(1,1); /移动光标/
textcolor(YELLOW); /设置文本显示颜色为**/
textbackground(BLUE); /设置背景颜色为蓝色/
window(1,1,99,99); / 制作显示菜单的窗口,大小根据菜单条数设计/
clrscr();
printf("welcome to use student manage\n");
printf("menu\n");
printf(" ========================================================= \n");
printf(" 1>shuru 2>xiugai \n");
printf(" 3>shanchu 4>chazhao \n");
printf(" 5>xianshi 6>exit \n");
printf(" \n");
printf(" --------------------------------------------------------- \n");
printf(" Please input which you want(1-6):");
ch=getch();
switch(ch)
{
case '1':shuru();break;
case '2':xiugai(); break;
case '3':shanchu(); break;
case '4':chazhao(); break;
case '5':xianshi(); break;
case '6':exit(0);
default: continue;
}
}
}
程序走线上加入半径补偿,同时在刀具参数里面输入半径5。
手工编程具体步骤:
1、首先根据图纸对零件的几何形状尺寸、技术要求进行分析,明确加工内容,决定加工方案、加工顺序,设计夹具,选择刀具、确定合理的走刀路线和切削用量等。同时还应充分发挥数控系统的性能,正确选择对刀点及进刀方式,尽量减少加工辅助时间。
2、编程前根据零件的几何特征,建立一个工件坐标系,根据图纸要求制定加工路线,在工件坐标系上计算出刀具的运动轨迹。对于形状比较简单的零件(如直线和圆弧组成的零件),只需计算出几何元素的起点、终点、圆弧的圆心、两几何元素的交点或切点的坐标值。对于形状复杂的零件(如非圆曲线、曲面组成的零件),数控系统的插补功能不能满足零件的几何形状时,必须计算出曲面或曲线上一定数量的离散点,点与点之间用直线或圆弧逼近,根据要求的精度计算出节点间的距离。
3、加工路线和工艺参数确定以后,根据数控系统规定的指令代码及程序段格式,逐段编写零件程序。
4、以前的数控机床的程序输入一般使用穿孔纸带,穿孔纸带上的程序代码通过纸带阅读装置送入数控系统。现代数控机床主要利用键盘将程序输入计算机中;通信控制的数控机床,程序可以由计算机接口传送。
5、程序清单必须经过校验和试切才能正式使用。校验的方法是将程序内容输入到数控装置中,机床空刀运转,若是平面工件,可以用笔代刀,以坐标纸代替工件,画出加工路线,以检查机床的运动轨迹是否正确。若数控机床有图形显示功能,可以采用模拟刀具切削过程的方法进行检验。但这些过程只能检验出运动是否正确,不能检查被加工零件的精度,因此必须进行零件的首件试切。首次试切时,应该以单程序段的运行方式进行加工,监视加工状况,调整切削参数和状态。
"#include
#include
#include
#include
#include
typedef
char
TreeItem;
struct
a
{
char
ch[256];
}work[256];
typedef
struct
btnode
btlink
;
typedef
struct
btnode
{
TreeItem
WORD;//字符串
指针
btlink
left
,
right
,
parent
;
int
count;
}
BtNode
;
typedef
struct
bstree
Tree
;
typedef
struct
bstree
{
btlink
root
;
//
根结点指针
}BSTree;
Tree
T;
Tree
Init()
{
T
=
(Tree)malloc(sizeof(T));
T->root
=
0
;
return
T
;
}
btlink
NewNode(char
x)
{
btlink
p;
if((p=(btlink)malloc(sizeof(BtNode)))==0)
{
cout<<"开辟失败!"<<endl;
exit(0);
}
p->WORD=x;
p->left=0;
p->right=0;
p->parent=0;
p->count=1;
return
p;
}
int
less(char
x,char
y)
{
return
(strcmp(x,y)<0);//x<y
}
void
Search(TreeItem
x,
btlink
p
)
{
while(p)
{
if(
less(x,p->WORD)
)
p
=
p->left
;
else
if(
less(p->WORD,x))
p=p->right;
else
break
;
}
if(p){
cout<<"有找到"<<x<<endl;
cout<WORD<<"有"<count<<"个"<<endl;;
}
else
cout<<"木有找到"<<endl;
}
void
InOrder(btlink
t)
{
if(t)
{
InOrder(t->left);
cout<<"字符串:"<WORD<<endl;
cout<<"个数:"<count<<endl;
InOrder(t->right);
}
}
void
Insert(char
x
,Tree
T)
{
btlink
p,r,pp=NULL
;
p
=
T->root
;
while(
p
)
{
pp
=
p
;
//
保存父结点
//
通过和根结点比较,选取要搜索的子树
if(less(x,p->WORD))
p
=
p->left
;
else
if(less(p->WORD,x))
p
=
p->right
;
else
{
p->count++;
return
;//
元素x已存在于字典中
}
}
r
=
NewNode(x);
if(T->root)
{
if(less(x,pp->WORD))
pp->left
=
r
;
else
pp->right
=
r
;
r->parent
=
pp
;
}
else
T->root
=
r
;
//
插入空树
}
void
open(Tree
T)
{
char
seps[]="
,\t\n;:";
int
k=0;
char
taken;
char
filename[20];
FILE
fp;
cout<<"输入你所要打开(OPEN)的文件名:"<<endl;
cin>>filename;
cout<<endl;
if((fp=fopen(filename,"r"))==NULL)
{
printf("cannot
open
file!\n");
exit(0);
}
while(!(feof(fp)))
{
fscanf(fp,"%s",work[k++]ch);//这里还真不能用char
str256
taken=strtok(work[k-1]ch,seps);
while(taken!=NULL)
{
Insert(taken,T);
taken=strtok(NULL,seps);
}
}
fclose(fp);
}
void
add()
{
char
filename[20];
FILE
fp;
cout<<"输入你所要打开(OPEN)的文件名:"<<endl;
cin>>filename;
cout<<endl;
if((fp=fopen(filename,"a"))==NULL)
//追加文本
{
printf("cannot
open
file!\n");
exit(0);
}
cout<<
"输入要增加的内容
以@为结束"<<endl;
char
ch;
getchar();
ch=getchar();
while(ch!='@')
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
}
void
find(Tree
T)
{
cout<<"输入要查找的内容:"<<endl;
char
WORD[256];
gets(WORD);
cout<<WORD<<endl;
char
w;
w=WORD;
btlink
p=T->root;
Search(w,p);
}
void
main()
{
btlink
t;
Tree
T;
btlink
p;
loop:cout<<"功能选取:"<<endl;
cout<<"1
打开(OPEN)文件"<<endl;
cout<<"2
中序显示"<<endl;
cout<<"3
增加文本内容"<<endl;
cout<<"4
查找"<<endl;
int
cs;
cin>>cs;
switch(cs)
{
case
1:
T=Init();
open(T);
goto
loop;
case
2:
p=T->root
;
InOrder(p);
goto
loop;
case
3:
add();
goto
loop;
case
4:
find(T);
goto
loop;
}
}
前提
你要有建个txt的文档
例如
atxt就可以
我开始做了挺久的"
以上就是关于c语言程序设计,大学生作业,急需,老师这周四就要,高手们帮帮忙啊!全部的内容,包括:c语言程序设计,大学生作业,急需,老师这周四就要,高手们帮帮忙啊!、法兰克系统加工中心 手工编程 求下图怎么编 实例、编程C++ 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)